当前位置:文档之家› 组态用户脚本程序

组态用户脚本程序


5.1 命令语言类型
动画连接命令语言和画面命令语言的执行受画 面是否加载的影响。
5.1 命令语言类型
执行不受画面打开与否的限制, 只要符合条件就可以执行的命令语 言称为后台执行语言,包括: 应用程序命令语言 热键命令语言 事件命令语言 数据改变命令语言 自定义函数命令语言 注意:后台执行语言受运行系统中“ 特殊/开始执行后台任务”和“特 殊/停止执行后台任务”命令的控 制。或者改变$启动后台命令语言

有的组态软件可扩从其函数库,另外安装其组件
5.6 脚本程序举例
第 5章 用户脚本程序

组态王中命令语言是一种在语法上类似 C语言的程序,用于增强应用程序的灵 活性、处理一些算法和操作等
5.1 命令语言类型
命令语言都是靠事件触 发执行的,包括 应用程序命令语言 热键命令语言 事件命令语言 数据改变命令语言 自定义函数命令语言 动画连接命令语言 画面命令语言



8、MessageResult=InfoAppDir();
当前组态王工程路径返回给MessageResult.
5.5 常用函数介绍
9、MessageResult=InfoAppDir(); 当前组态王工程路径返回给MessageResult. 10、playsound 11、文件类:file开头 12、数学类 13、转换类 14、信息类:info开头
运算符输入 变量选择
5.1 命令语言类型

数据改变命令语言 连接的变量或变量的域的值发生了变化。可以定以多个 事件命令语言 规定的表达式的条件成立时执行的命令语言。如某个变 量等于定值,某个表达式描述的条件成立。


注意:使用“事件命令语言”或“数据改变 命令语言”过程中要注意防止死循环。
5.1 命令语言类型
5.1 命令语言类型
—应用程序命令语言

指在组态王运行系统应用程序启动时、运行期间和程序退出 时执行的命令语言程序。如果是在运行系统运行期间,该程 序按照指定时间间隔定时执行。应用程序命令语言只能定义 一个。 菜单条
工具栏 关键字选择 命令语言编辑区
触发条件
函数选择
思考: 有的数据需要每 隔1000ms处理 一次,有的需要 2000ms处理一 次,怎样处理?

8、StopApp:6.53才有
5.5 常用函数介绍


6、ActivateApp(“Word.exe”):此函数用于激活正 在运行的窗口应用程序,使之变为当前窗口。获得 输入焦点。该函数也可配合函数SendKeys 的使用 。 7、tagbool=InfoAppActive(“Word.exe”):此函数测 试一个应用程序是否为活动的。若返回1,表明 Word 程序正在运行;返回0 表明未运行。
5.3 命令语言编辑环境

“组态王”支持使用 内建的复杂函数,其 中包括字符串函数、 数学函数、系统函数 、 控 件 函 数 、 SQL 函 数及其他函数,具体 见《组态王命令语言 函数速查手册》。
5.3 命令语言编辑环境
编辑环境中无调试窗口和工具。 提供trace()函数进行调试用 举例 调用格式: Trace(‘test=%2D’, Express); 即把表达式Express的值按照十进制 整数格式输出到信息窗口中,若 Express=100,信息窗口将显示 “test=100”。字符串“test”也可 由用户指定

5.2 命令语言语法
5、注释方法
单行注释在注释语句的开头加注释符“//” 多行注释是在注释语句前加“/*”,在注释语句后加“*/” 例1://设置装桶速度 if(游标刻度>=10) //判断液位的高低 装桶速度=80;

5.2 命令语言语法
5、注释方法

多行注释是在注释语句前加“/*”,在注释语句后加“*/” 。多行注释也可以用在单行注释上。

5.2 命令语言语法
3、条件语句

例3:if (step= =3)
{ 颜色=”红色”; 反应罐温度.priority=1; } else { 颜色=”黑色”; 反应罐温度.priority=3; }
5.2 命令语言语法
4、循环语句
当while()括号中的表达式条件成立时,循环执行后面 “{ }”内的程序。语法如下: WHILE(表达式) { 一条或多条语句(以;结尾) }
5.4 自定义函数编写


自定义函数的语法与C语言中定 义子函数的格式类似。自定义函 数命令语言是由变量定义部分和 可执行语言组成的单独实体。 自定义函数定义的内容为: 1、自定义函数类型(函数返回值 类型) 2、函数名(唯一)和函数参数类 型及名称(多个) 3、函数体内容
5.4 自定义函数编写

5.2 命令语言语法
3、条件语句
IF—ELSE 语句用于按表达式的状态有条件地执行不同的 程序,可以嵌套使用。语法为: IF(表达式) {一条或多条语句; } ELSE { 一条或多条语句; } 注意:无end类结束标识符

5.2 命令语言语法
3、条件语句
需要注意的是,if-else 语句里如果是单条语句可省略花 括弧“{ }”,多条语句必须在一对花括弧“{ }”中,ELSE 分支可以省略。 例1:if (step = = 3) 颜色=”红色”; //上述语句表示当变量step 与数字3 相等时,将变量颜色置 为“红色”(变量“颜色”为内存字符串变量) 例2:if(出料阀 = = 1) 出料阀=0; //将离散变量“出料阀”设为0状态 else 出料阀=1;

5.ctivateApp(“Word.exe”):此函数用于激活正 在运行的窗口应用程序,使之变为当前窗口。获得 输入焦点。该函数也可配合函数SendKeys 的使用 。 7、tagbool=InfoAppActive(“Word.exe”):此函数测 试一个应用程序是否为活动的。若返回1,表明 Word 程序正在运行;返回0 表明未运行。
5.4 自定义函数编写
自定义函数显示框里会显示系统报警或者控件连接要求的函数
5.5 常用函数介绍
1、Exit(Option):此函数使组态王运行环境退出。

调用形式: 参数:Option: 整型变量或数值 0-退出当前程序; 1-关机; 2-重新启动windows;
5.5 常用函数介绍
2、ShowPicture:此函数用于显示画面。 调用格式:ShowPicture("PictureName"); 例如:ShowPicture(“反应车间”) 3、ClosePicture:此函数用于将已调入内存 的画面关闭,并从内存中删除。 格式:ClosePicture("画面名"); 例如:ClosePicture("反应车间");

5.3 命令语言编辑环境

脚本里可以定义变量。
变量使用注意: 可定义类型:LONG、FLOAT、 STRING、BOOL和自定义结构 类型 自定义变量无域概念,只有变量 的值。使用方法和组态王一致 变量作用域本脚本或者函数,其 他数据字典里定义的变量相当于 全局变量 变量定义不区分大小写
5.5 常用函数介绍
4、startapp:此函数用于启动另一窗口应用程序 。为确保能启动应用程序,请在应用程序名前使用 全路径。路径使用DOS名称,即在DOS下显示的路 径名。 调用格式:StartApp("命令行参数");或 StartApp(" 应用程序名"); 例如: StartApp(“c:\programfiles\microsoftoffice\office\exc el report.xls”); 或者:StartApp("c:\program files\microsoftoffice\office\excel ");
调用方式: Test=弧度转换(test); Test=弧度转换(156);
自定义变量类型定义
函数名称、参数类
返回类型定义 型定义
返回值
5.4 自定义函数编写
几点注意: 六个关键字:LONG、FLOAT、 STRING、BOOL、VOID、 RETURN,大小写均可


函数名不能为空,return 返回值 用于返回值,VOID函数不用返回 值,单独用return表示程序结束 自定义函数中的函数名称和在函 数中定义的变量不能与组态王中 定义的变量、组态王的关键字、 函数名等相同。

热键命令语言 工程人员随时按下键盘上相应的热键都可以启动这段 命令语言程序。热键命令语言可以指定使用权限和操作安 全区

自定义函数语言 如果组态王提供的各种函数不能满足工程的特殊需要 ,组态王还提供用户自定义函数功能。自定义函数是利用 类似C 语言来编写的一段程序,其自身不能直接被组态王 触发调用,必须通过其他命令语言来调用执行。
例2:if(游标刻度>=10) /*判断液位的高低*/ 装桶速度=80; 例3: /*判断液位的高低改变装桶的速度*/ if(游标刻度>=10) 装桶速度=80; else 装桶速度=60;

5.3 命令语言编辑环境




工具栏:提供命令 语言编辑的工具。 关键字选择列表。 函数选择 运算符输入 变量选择
5.1 命令语言类型


画面命令语言 画面命令语言就是与画面显示与否有关系的命令语言程 序。画面命令语言分为三个部分:显示时、存在时、隐含 时 动画连接语言
点击某图素执行的某段命令语言。包含三个选项:按 下时、弹起时和按住时。
5.2 命令语言语法



命令程序的语法与一般C程序区别不大 在输入命令语言时,除汉字外,其他关键字,如标点符 号必须以英文状态输入。 每一语句结束用分号”;”结束 使用if…else…、while()等语句时,其程序多行时要 用花括号“{ }”括起来 用\\或者\*注释
相关主题