《组态用户脚本程序课件.ppt》由会员分享,可在线阅读,更多相关《组态用户脚本程序课件.ppt(36页珍藏版)》请在三一办公上搜索。
1、组态王中命令语言是一种在语法上类似语言的程序,用于增强应用程序的灵活性、处理一些算法和操作等,第 5章 用户脚本程序,5.1 命令语言类型,命令语言都是靠事件触发执行的,包括应用程序命令语言热键命令语言事件命令语言数据改变命令语言自定义函数命令语言动画连接命令语言画面命令语言,5.1 命令语言类型,动画连接命令语言和画面命令语言的执行受画面是否加载的影响。,5.1 命令语言类型,执行不受画面打开与否的限制,只要符合条件就可以执行的命令语言称为后台执行语言,包括:应用程序命令语言热键命令语言事件命令语言数据改变命令语言自定义函数命令语言注意:后台执行语言受运行系统中“特殊/开始执行后台任务”和“
2、特殊/停止执行后台任务”命令的控制。或者改变$启动后台命令语言,5.1 命令语言类型 应用程序命令语言,指在组态王运行系统应用程序启动时、运行期间和程序退出时执行的命令语言程序。如果是在运行系统运行期间,该程序按照指定时间间隔定时执行。应用程序命令语言只能定义一个。,菜单条,工具栏,关键字选择,命令语言编辑区,变量选择,函数选择,运算符输入,触发条件,思考:有的数据需要每隔1000ms处理一次,有的需要2000ms处理一次,怎样处理?,5.1 命令语言类型,数据改变命令语言 连接的变量或变量的域的值发生了变化。可以定以多个事件命令语言 规定的表达式的条件成立时执行的命令语言。如某个变量等于定值
3、,某个表达式描述的条件成立。注意:使用“事件命令语言”或“数据改变命令语言”过程中要注意防止死循环。,5.1 命令语言类型,热键命令语言 工程人员随时按下键盘上相应的热键都可以启动这段命令语言程序。热键命令语言可以指定使用权限和操作安全区 自定义函数语言 如果组态王提供的各种函数不能满足工程的特殊需要,组态王还提供用户自定义函数功能。自定义函数是利用类似C 语言来编写的一段程序,其自身不能直接被组态王触发调用,必须通过其他命令语言来调用执行。,5.1 命令语言类型,画面命令语言 画面命令语言就是与画面显示与否有关系的命令语言程序。画面命令语言分为三个部分:显示时、存在时、隐含时动画连接语言 点
4、击某图素执行的某段命令语言。包含三个选项:按下时、弹起时和按住时。,5.2 命令语言语法,命令程序的语法与一般C程序区别不大在输入命令语言时,除汉字外,其他关键字,如标点符号必须以英文状态输入。每一语句结束用分号”;”结束使用ifelse、while()等语句时,其程序多行时要用花括号“ ”括起来用或者*注释,5.2 命令语言语法,1、运算符,组态王的运算符相对来说比较丰富,包含了位逻辑运算符,5.2 命令语言语法,1、运算符,5.2 命令语言语法,1、运算符,赋值语句用得最多,语法如下:变量(变量的可读写域)= 表达式;可以给一个可读写变量赋值,也可以给可读写变量的域赋值。例如:自动开关=1
5、,反应罐温度.priority=3;,5.2 命令语言语法,2、赋值语句,IFELSE 语句用于按表达式的状态有条件地执行不同的程序,可以嵌套使用。语法为:IF(表达式)一条或多条语句;ELSE一条或多条语句;注意:无end类结束标识符,5.2 命令语言语法,3、条件语句,需要注意的是,if-else 语句里如果是单条语句可省略花括弧“ ”,多条语句必须在一对花括弧“ ”中,ELSE 分支可以省略。例1:if (step = = 3)颜色=”红色”;/上述语句表示当变量step 与数字3 相等时,将变量颜色置为“红色”(变量“颜色”为内存字符串变量)例2:if(出料阀 = = 1)出料阀=0;
6、 /将离散变量“出料阀”设为0状态else出料阀=1;,5.2 命令语言语法,3、条件语句,例3:if (step= =3)颜色=”红色”;反应罐温度.priority=1;else颜色=”黑色”;反应罐温度.priority=3;,5.2 命令语言语法,3、条件语句,当while()括号中的表达式条件成立时,循环执行后面“ ”内的程序。语法如下:WHILE(表达式)一条或多条语句(以;结尾),5.2 命令语言语法,4、循环语句,单行注释在注释语句的开头加注释符“/”多行注释是在注释语句前加“/*”,在注释语句后加“*/”例1:/设置装桶速度 if(游标刻度=10) /判断液位的高低装桶速度=
7、80;,5.2 命令语言语法,5、注释方法,多行注释是在注释语句前加“/*”,在注释语句后加“*/”。多行注释也可以用在单行注释上。例2:if(游标刻度=10) /*判断液位的高低*/ 装桶速度=80;例3:/*判断液位的高低改变装桶的速度*/if(游标刻度=10) 装桶速度=80;else 装桶速度=60;,5.2 命令语言语法,5、注释方法,5.3 命令语言编辑环境,工具栏:提供命令语言编辑的工具。关键字选择列表。函数选择运算符输入变量选择,“组态王”支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、SQL函数及其他函数,具体见组态王命令语言函数速查手册。,5.3
8、命令语言编辑环境,5.3 命令语言编辑环境,编辑环境中无调试窗口和工具。提供trace()函数进行调试用举例调用格式:Trace(test=%2D, Express);即把表达式Express的值按照十进制整数格式输出到信息窗口中,若Express=100,信息窗口将显示“test=100”。字符串“test”也可由用户指定,5.3 命令语言编辑环境,脚本里可以定义变量。变量使用注意:可定义类型:LONG、FLOAT、STRING、BOOL和自定义结构类型自定义变量无域概念,只有变量的值。使用方法和组态王一致变量作用域本脚本或者函数,其他数据字典里定义的变量相当于全局变量变量定义不区分大小写,
9、5.4 自定义函数编写,自定义函数的语法与C语言中定义子函数的格式类似。自定义函数命令语言是由变量定义部分和可执行语言组成的单独实体。自定义函数定义的内容为: 1、自定义函数类型(函数返回值类型) 2、函数名(唯一)和函数参数类型及名称(多个) 3、函数体内容,5.4 自定义函数编写,返回类型定义,函数名称、参数类型定义,自定义变量类型定义,返回值,调用方式:Test=弧度转换(test);Test=弧度转换(156);,5.4 自定义函数编写,几点注意:六个关键字:LONG、FLOAT、STRING、BOOL、VOID、RETURN,大小写均可 函数名不能为空,return 返回值用于返回值
10、,VOID函数不用返回值,单独用return表示程序结束自定义函数中的函数名称和在函数中定义的变量不能与组态王中定义的变量、组态王的关键字、函数名等相同。,5.4 自定义函数编写,自定义函数显示框里会显示系统报警或者控件连接要求的函数,1、Exit(Option):此函数使组态王运行环境退出。调用形式:参数:Option: 整型变量或数值 0-退出当前程序; 1-关机; 2-重新启动windows;,5.5 常用函数介绍,2、ShowPicture:此函数用于显示画面。调用格式:ShowPicture(PictureName);例如:ShowPicture(“反应车间”)3、ClosePict
11、ure:此函数用于将已调入内存的画面关闭,并从内存中删除。格式:ClosePicture(画面名);例如:ClosePicture(反应车间);,5.5 常用函数介绍,4、startapp:此函数用于启动另一窗口应用程序。为确保能启动应用程序,请在应用程序名前使用全路径。路径使用DOS名称,即在DOS下显示的路径名。调用格式:StartApp(命令行参数);或 StartApp(应用程序名);例如:StartApp(“c:programfilesmicrosoftofficeofficeexcel report.xls”);或者:StartApp(c:program filesmicrosof
12、tofficeofficeexcel );,5.5 常用函数介绍,5、startapp:此函数用于启动另一窗口应用程序。为确保能启动应用程序,请在应用程序名前使用全路径。路径使用DOS名称,即在DOS下显示的路径名。调用格式:StartApp(命令行参数);或 StartApp(应用程序名);例如:StartApp(“c:programfilesmicrosoftofficeofficeexcel report.xls”);或者:StartApp(c:program filesmicrosoftofficeofficeexcel );,5.5 常用函数介绍,6、ActivateApp(“Wor
13、d.exe”):此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。获得输入焦点。该函数也可配合函数SendKeys 的使用。7、tagbool=InfoAppActive(“Word.exe”):此函数测试一个应用程序是否为活动的。若返回1,表明Word 程序正在运行;返回0 表明未运行。8、StopApp:6.53才有,5.5 常用函数介绍,6、ActivateApp(“Word.exe”):此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。获得输入焦点。该函数也可配合函数SendKeys 的使用。7、tagbool=InfoAppActive(“Word.exe”):此函数测试
14、一个应用程序是否为活动的。若返回1,表明Word 程序正在运行;返回0 表明未运行。8、MessageResult=InfoAppDir();当前组态王工程路径返回给MessageResult.,5.5 常用函数介绍,9、MessageResult=InfoAppDir();当前组态王工程路径返回给MessageResult.10、playsound11、文件类:file开头12、数学类13、转换类14、信息类:info开头,5.5 常用函数介绍,有的组态软件可扩从其函数库,另外安装其组件,5.6 脚本程序举例,此课件下载可自行编辑修改,此课件供参考!部分内容来源于网络,如有侵权请与我联系删除!感谢你的观看!,