组态王命令语言-精
- 格式:ppt
- 大小:2.37 MB
- 文档页数:50
第四讲命令语言第一节命令语言命令语言概述组态王除了在定义动画连接时支持连接表达式,还允许用户编写命令语言来扩展应用程序的功能,极大地增强了应用程序的可用性。
命令语言的格式类似C语言的格式,工程人员可以利用其来增强应用程序的灵活性。
组态王的命令语言编辑环境已经编好,用户只要按规范编写程序段即可,它包括:应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言、自定义函数命令语言和画面命令语言等。
命令语言的句法和C语言非常类似,可以说是C的一个简化子集,具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数。
各种命令语言通过“命令语言编辑器”编辑输入并进行语法检查,在运行系统中进行编译执行。
命令语言有六种形式,其区别在于命令语言执行的时机或条件不同:1、应用程序命令语言可以在程序启动时、关闭时或在程序运行期间周期执行。
如果希望周期执行,还需要指定时间间隔。
2、热键命令语言被链接到设计者指定的热键上,软件运行期间,操作者随时按下热键都可以启动这段命令语言程序。
3、事件命令语言规定在事件发生、存在、消失时分别执行的程序。
离散变量名或表达式都可以作为事件。
4、数据改变命令语言只链接到变量或变量的域。
在变量或变量的域值变化到超出数据字典中所定义的变化灵敏度时,它们就被触发执行一次。
5、自定义函数命令语言提供用户自定义函数功能。
用户可以根据组态王的基本语法及提供的函数自己定义各种功能更强的函数,通过这些函数能够实现工程特殊的需要。
6、画面、按钮命令语言可以在画面显示时、隐含时或在画面存在期间定时执行画面命令语言。
在定义画面中的各种图索的动画连接时,可以进行命令语言的连接。
如何退出系统如何退出组态王运行系统,返回到Windows呢?可以通过Exit()函数来实现。
1、选择工具箱中的工具,在画面上画一个按钮,选中按钮并单击鼠标右键,在弹出的下拉菜单中执行“字符串替换”命令,设置按钮文本为:系统退出。
组态王KINGVIEW 6X命令语言与函数-常见问题解答北京亚控科技发展有限公司2009年07月目录1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现? (1)2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决? (1)3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗? (1)4. 请问组态王能否显示十六进制的数据? (1)5. 请问如何编程来在组态王软件中生成一个随机的数据? (1)6. 请问如何编程能够方便地统计一项工序的运行时间?直接采用组态王的年月日时分秒做运算比较麻烦? (1)7. 能否在组态王画面上做一个按钮,实现键盘ctrl+shift切换输入法的功能?28. 在定义数据改变命令语言和事件命令语言时,能不能使用远程变量来作为触发脚本执行的条件? (2)9. 组态王能否实现在运行时调用一个函数,实现类似键盘的“Print Scr een SysRq”屏幕硬拷贝功能? (2)10. 用VarRefAddress()函数实现普通变量间的引用,引用的变量是否可以读写? (2)1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现?针对这种需求,组态王软件专门提供了一个StartApp()函数来实现此功能,具体请参照此函数的使用说明。
2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决?针对这种需求,组态王软件提供了自定义命令语言功能。
用户可以先将你的整个编程命令语言进行划分(比如按子功能块),然后每个子功能块都单独的在自定义命令语言中编写,最后在你要用到的命令语言窗口中象调用组态王提供的函数一样调用你自定义的函数来实现功能即可。
3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗?同一时刻处理多项任务,会造成计算机软件在某一时刻负担过重,从而导致系统繁忙无法及时响应用户的操作。
命令语言程序10.1 命令语言类型组态王中命令语言是一种在语法上类似C语言的程序,工程人员可以利用这些程序来增强应用程序的灵活性、处理一些算法和操作等。
命令语言都是靠事件触发执行的,如定时、数据的变化、键盘键的按下、鼠标的点击等。
根据事件和功能的不同,包括应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言、自定义函数命令语言、动画连接命令语言和画面命令语言等。
具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数。
各种命令语言通过“命令语言编辑器”编辑输入,在“组态王”运行系统中被编译执行。
其中应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言可以称为“后台命令语言”,它们的执行不受画面打开与否的限制,只要符合条件就可以执行。
另外可以使用运行系统中的菜单“特殊/开始执行后台任务”和“特殊/停止执行后台任务”来控制所有这些命令语言是否执行。
而画面和动画连接命令语言的执行不受影响。
也可以通过修改系统变量“$启动后台命令语言”的值来实现上述控制,该值置0时停止执行,置1时开始执行。
10.1.1 应用程序命令语言在工程浏览器的目录显示区,选择“文件\命令语言\应用程序命令语言”,则在右边的内容显示区出现“请双击这儿进入<应用程序命令语言>对话框…”图标,如图10.1所示:图 10.1 选择应用程序命令语言双击图标,则弹出“应用程序命令语言”对话框,如图10.2所示:图 10.2 应用程序命令语言菜单条工具栏关键字选择命令语言编辑区变量选择函数选择运算符输入触发条件10.1.1.1 认识命令语言编辑器命令语言编辑器是组态王提供的用于输入、编辑命令语言程序的地方。
编辑器的组成部分如图10.2所示。
所有命令语言编辑器的大致界面和主要部分及功能都相同,唯一不同的是,按照触发条件的不同,在界面上“触发条件”部分会有所不同。
编辑器各部分的大致功能为:◆菜单条:提供给编辑器的操作菜单,“文件”菜单下有两个菜单项:确认和取消。
组态王KINGVIEW 6X命令语言与函数-常见问题解答北京亚控科技发展有限公司2009年07月目录1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现? (1)2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决? (1)3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗? (1)4. 请问组态王能否显示十六进制的数据? (1)5. 请问如何编程来在组态王软件中生成一个随机的数据? (1)6. 请问如何编程能够方便地统计一项工序的运行时间?直接采用组态王的年月日时分秒做运算比较麻烦? (1)7. 能否在组态王画面上做一个按钮,实现键盘ctrl+shift切换输入法的功能?28. 在定义数据改变命令语言和事件命令语言时,能不能使用远程变量来作为触发脚本执行的条件? (2)9. 组态王能否实现在运行时调用一个函数,实现类似键盘的“Print Scr een SysRq”屏幕硬拷贝功能? (2)10. 用VarRefAddress()函数实现普通变量间的引用,引用的变量是否可以读写? (2)1. 我希望用户能在不退出组态王运行软件的情况下启动一个其他的软件做其他处理,如何实现?针对这种需求,组态王软件专门提供了一个StartApp()函数来实现此功能,具体请参照此函数的使用说明。
2. 我注意到组态王的命令语言窗口中能够写入的编程命令是有限制的,我的编程命令比较长,命令窗口中无法写下,请问如何解决?针对这种需求,组态王软件提供了自定义命令语言功能。
用户可以先将你的整个编程命令语言进行划分(比如按子功能块),然后每个子功能块都单独的在自定义命令语言中编写,最后在你要用到的命令语言窗口中象调用组态王提供的函数一样调用你自定义的函数来实现功能即可。
3. 请问我在事件命令语言中编程同一时刻处理多项任务,会造成冲突吗?同一时刻处理多项任务,会造成计算机软件在某一时刻负担过重,从而导致系统繁忙无法及时响应用户的操作。
SQLConnect连接组态王和数据库。
语法:[ResultCode=]SQLConnect(ConnectionID, “ConnectString”;参数描述ConnectionID SQLConnct(产生的连接号ConnectString 连接语句ConnectString格式如下:“DSN=data source name [;attribute= value[;attribute = value]…”例子:组态王以sa身份登录(无密码和名为wang的SQL Server中的pubs数据库连接[ResultCode=]SQLConnect(ConnectionID,“DSN=wang;DA TABASE=pubs;UID=sa; PWD=”属性描述:SQLCreateTable以表格模板中定义的表格类型,在数据库中创建新表。
语法:[ResultCode=]SQLCreateTable(ConnectionID,TableName,TemplateName;参数描述ConnectionID SQLConnct(产生的连接号TableName 想要创建的数据库名TemplateName 表格模板名例子:下例创建一个名为kingview的新表,模板为table1SQLCreateTable(ConnectionID, “kingview”, “table1”SQLSelect访问数据库,得到一个特定的选择集。
选择集中的记录可以由SQLFirst(, SQLNext(, 等函数访问。
语法:[ResultCode=]SQLSelect(ConnectionID, TableName, BindList, WhereExpr, OrderByExpr;参数描述ConnectionID SQLConnct(产生的连接号TableName 表格名称BindList 记录体WhereExpression 指定函数起作用行的条件注意:如果列名是字符串,表达式必须在单引号中。
组态王命令语言函数手册工业自动化通用组态软件组态王version6.5命令语言函数速查手册北京亚控科技发展有限公司组态王命令语言函数速查手册1命令语言函数速查手册“组态王”支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):Abs此函数用于计算变量值的绝对值,使用格式如下:Abs(变量名或数值);返回值:整值或实型值;例如:Abs(14);返回值为14Abs(-7.5);返回值为7.5Abs(距离);返回内存模拟变量“距离”的绝对值。
Ack此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式:Ack(报警组名);或Ack(变量名);例如:Ack(全厂);或Ack(反应罐液位);ActivateApp此函数用于激活正在运行的窗口应用程序,使之获得输入焦点。
该函数主要用于配合函数SendKe ys的使用。
调用形式:ActivateApp(“ExeName”);参数描述ExeName应用程序的执行文件名北京亚控科技发展有限公司2组态王命令语言函数速查手册例如:激活Microsoft Word的正确调用为:ActivateApp("Word.exe");激活组态王:可使用ActivateApp("TouchVew.exe");ArcCos此函数用于计算变量值的反余弦值,变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式:ArcCos(变量名或数值);返回值:整值或实型值;例如:ArcCos(1);此函数返回值为0A rcCos(temp);此函数返回变量“temp”的反余弦值。
ArcSin此函数用于计算变量值的反正弦值,变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式:ArcSin(变量名或数值);返回值:整值或实型值;例如:ArcSin(1);此函数返回值为90A rcSin(temp);此函数返回变量“temp”的反正弦值。
组态王命令语言函数手册“组态王”支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):Abs此函数用于计算变量值的绝对值,使用格式如下: Abs(变量名或数值); 返回值:整值或实型值;例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5Abs(距离); 返回内存模拟变量“距离”的绝对值。
Ack对变量进行报警确认,或对报警组进行报警确认。
如果函数参数为变量名称,则只对该变量进行报警确认;如果函数参数为报警组名称,则确认所有属于该报警组及其子报警组的变量。
该函数的参数只能是变量名或报警组名,不可以为字符串变量。
此函数常用于按钮命令语言,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式: Ack(报警组名);或 Ack(变量名);例如: Ack(全厂);或 Ack(反应罐液位);ActivateApp activate['æktɪveɪt] vt.刺激;使活动;使活泼;使产生放射性app [æp]n.应用程序此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。
获得输入焦点。
该函数也可配合函数SendKeys的使用。
调用形式: ActivateApp(“ExeName”);参数:ExeName 应用程序的执行文件名例如:激活Microsoft Word的正确调用为: ActivateApp("Word.exe");ArcCos arc[ɑːk] adj. 圆弧的;反三角函数的此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式: ArcCos(变量名或数值); 返回值:整值或实型值;例如:ArcCos(1); 此函数返回值为0 ArcCos(temp); 此函数返回变量“temp”的反余弦值。
精心整理组态王常用命令语言函数速查手册组态王命令语言函数手册―组态王‖支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):Abs此函数用于计算变量值的绝对值,使用格式如下: Abs(变量名或数值); 返回值:整值或实型值; 例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5Abs(距离); 返回内存模拟变量―距离‖的绝对值。
Ack对变量进行报警确认,或对报警组进行报警确认。
如果函数参数为变量名称,则只对该变量进行报警确认;如果函数参数为报警组名称,则确认所有属于该报警组及其子报警组的变量。
该函数的参数只能是变量名或报警组名,不可以为字符串变量。
此函数常用于按钮命令语言,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式: Ack(报警组名); 或 Ack(变量名); 例如: Ack(全厂); 或 Ack(反应罐液位);ActivateApp activate['ækt?ve?t] vt. 刺激;使活动;使活泼;使产生放射性app [æp]n.应用程序此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。
获得输入焦点。
该函数也可配合函数SendKeys的使用。
调用形式: ActivateApp(―ExeName‖);参数:ExeName 应用程序的执行文件名例如:激活Microsoft Word的正确调用为: ActivateApp("Word.exe"); ArcCos arc[ɑ?k] adj. 圆弧的;反三角函数的此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式: ArcCos(变量名或数值); 返回值:整值或实型值; 例如: ArcCos(1); 此函数返回值为0 ArcCos(temp); 此函数返回变量―temp‖的反余弦值。