首页信息与系统科学控制科学与技术工控组态软件及应用 05 第5章 组态王编程语言应用.pptx

05 第5章 组态王编程语言应用.pptx

页数:28页文件大小:423.9 KB来源: 工控组态软件及应用ppt课件

本课件讲解组态王命令语言的应用:先介绍应用程序、数据改变、事件、热键、自定义函数、画面与动画连接七类命令语言及其触发方式,再讲解运算符、赋值语句、If-Else与While循环的语法规则及注释方法,最后通过画面切换、系统退出、菜单制作与十字路口交通灯控制等实例演示常用函数与脚本的编写。

第五章组态王编程语言应用教学目标页,列出熟悉脚本应用与掌握语法结构等四项要求
5.1节命令语言类型总览页,列出七类命令语言及定时、数据变化等事件触发方式
应用程序命令语言创建步骤页,说明在文件命令语言菜单下双击图标打开编辑器
查看本课件的文字版(共 28 页,供检索与复制)

第1页:第5章组态王编程语言应用教学目标

第5章 组态王编程语言应用。【本章教学目标与要求】

  • 熟悉脚本语言在组态王中的应用;
  • 掌握命令语言的几种类型;
  • 掌握组态王命令语言的语法结构;
  • 熟悉常用的命令语言函数。

第2页:5.1 命令语言类型

5.1 命令语言类型。组态王中命令语言是一种在语法上类似 C 语言的程序,可以利用这些程序来增强应用程序的灵活性、处理一些算法和操作等。命令语言类型分为:

  • 应用程序命令语言
  • 热键命令语言
  • 事件命令语言
  • 数据改变命令语言
  • 自定义函数命令语言
  • 动画连接命令语言
  • 画面命令语言

命令语言是靠事件触发执行的,如定时、数据的变化、键盘键的按下、鼠标的点击等,具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL 函数和系统函数。各种命令语言通过“命令语言编辑器”编辑输入,在组态王运行系统中被编译执行。

第3页:应用程序命令语言的创建

1、应用程序命令语言:在工程浏览器的目录显示区,选择“文件”→“命令语言”→“应用程序命令语言”,则在右边的内容显示区出现“请双击这儿进入<应用程序命令语言>对话框…”图标,双击该图标弹出应用程序命令语言编辑器。

第4页:应用程序命令语言

应用程序命令语言是指在组态王运行系统应用程序启动时、运行期间和程序退出时执行的命令语言程序。如果是在运行系统运行期间,该程序按照指定时间间隔定时执行。

第5页:数据改变命令语言

2、数据改变命令语言:在工程浏览器中选择命令语言—数据改变命令语言,在浏览器右侧双击“新建…”,弹出数据改变命令语言编辑器。数据改变命令语言触发的条件为连接的变量或变量的域的值发生了变化。

第6页:事件命令语言

3、事件命令语言:指当规定的表达式的条件成立时执行的命令语言,如某个变量等于定值、某个表达式描述的条件成立。在工程浏览器中选择命令语言—事件命令语言,在浏览器右侧双击“新建…”,弹出事件命令语言编辑器。

第7页:热键命令语言

4、热键命令语言:可以链接到指定的热键上,软件运行期间按下键盘上相应的热键都可以启动这段命令语言程序。输入时选择“文件”→“命令语言”→“热键命令语言”,双击右边内容显示区出现的“新建…”图标,弹出热键命令语言编辑器。热键可以是键盘上的任意键,或是任意键加 Ctrl 键或 Shift 的组合。

第8页:用户自定义函数

5、用户自定义函数:如果组态王提供的各种函数不能满足工程的特殊需要,组态王还提供用户自定义函数功能,可以实现特殊算法、模块化的公用程序等。自定义函数是利用类似 C 语言来编写的一段程序,其自身不能直接被组态王触发调用,必须通过其他命令语言来调用执行。自定义函数里有六个关键字,大小写均可,语法含义和 C 语言类似:

  • LONG:整型
  • FLOAT:实型
  • STRING:字符型
  • BOOL:布尔型
  • VOID:函数无返回值或返回值类型为空(NULL)
  • RETURN:函数返回值,并返回到主调函数中

第9页:自定义函数的语法与示例

自定义函数的语法与 C 语言中定义子函数的格式类似,由变量定义部分和可执行语言组成。自定义函数定义的内容为:

  • 自定义函数类型(函数返回值类型)
  • 函数名和参数类型及名称
  • 函数体内容

【例】自定义函数 A():功能为自动加 1,当 A 大于或等于 100 时自动置 0,A 值是一个从 0—100 不停变化的无限循环的数。

第10页:画面命令语言

6、画面命令语言:画面命令语言就是与画面显示与否有关系的命令语言程序,画面命令语言定义在画面属性中。

第11页:动画连接命令语言

7、动画连接命令语言:对于图素,有时一般的动画连接表达式完成不了工作,而程序只需要点击一下画面上的按钮等图素才执行,如点击一个按钮执行一连串的动作,或执行一些运算、操作等,这时可以使用动画连接命令语言。

第12页:5.2 命令语言语法

5.2 命令语言语法。命令语言程序的语法与一般 C 程序的语法没有大的区别:每一程序语句的末尾应该用分号“;”结束;在使用 if…else…、while()等语句时,其程序要用花括号“{ }”括起来。在命令语言编辑器中书写、编辑时一定要在英文输入状态下进行,特别是一些运算符号、标点符号,如果在中文状态下输入则无法保存执行。

第13页:运算符

1、运算符:组态王命令语言支持算术运算、关系运算、逻辑运算与位运算等多种运算符,可在命令语言编辑器中查看完整列表。本页源文件文字较少,主要为软件中的运算符列表截图,建议对照原图补充。

第14页:赋值语句

2、赋值语句:赋值语句用得最多,语法如下:

变量(变量的可读写域)=表达式;

可以给一个变量赋值,也可以给可读写变量的域赋值。如:

  • \\本站点\开关=1; //表示将自动开关置为开(1 表示开,0 表示关)
  • \\本站点\FT101.priority=3; //表示将变量 FT101 的报警优先级设为 3

第15页:If-Else 语句

3、If-Else 语句:用于按表达式的状态有条件地执行不同的程序,可以嵌套使用。语法为:

IF(表达式){ 一条或多条语句;}ELSE{ … }

If—Else 语句里如果是单条语句可省略花括号“{ }”,多条语句必须在一对花括号“{ }”中,ELSE 分支可以省略。

第16页:While 循环语句

4、While()语句:当 while()括号中的表达式条件成立时,循环执行后面“{ }”内的程序。语法如下:

WHILE(表达式){ 一条或多条语句(以;结尾)}

同 IF 语句一样,WHILE 里的语句若是单条语句可省略花括号“{ }”,若是多条语句必须在一对花括号“{ }”中。

第17页:例:离散变量取反

【例】将离散型变量设为相反状态:

if(\\本站点\FV103==1)\\本站点\FV103=0; //将离散变量“出料阀”设为 0 状态
else \\本站点\FV103=1;

上述语句表示将内存离散变量“FV103”设为相反状态。If-else 这里是单条语句,可以省略“{ }”。

第18页:例:液位位式控制

【例】利用 If—Else 语句实现液位位式控制,控制要求 10 <= LT101 <= 90。命令语言如下:

//液位位式控制//
if(\\本站点\LT101<=10){ \\本站点\FV101=1; //如果液位 LT101 小于等于 10,打开阀门 FV101; }
else if(\\本站点\LT101>=90){ \\本站点\FV101=0; //如果液位 LT101 大于等于 90,关闭阀门 FV101;}
else{ ; }

本例也可以用事件改变命令语言实现。

第19页:命令语言的注释方法

5、命令语言程序的注释方法:添加注释有利于程序的可读性,也方便程序的维护和修改。组态王的所有命令语言中都支持注释,注释可以在程序的任何地方进行。

  • 单行注释:在注释语句的开头加注释符“//”;
  • 多行注释:在注释语句前加“”。多行注释也可以用在单行注释上。

第20页:画面显示与关闭函数

5.3 一些常用“命令语言”的介绍。

1、ShowPicture
此函数用于显示画面。调用格式:ShowPicture("PictureName"); PictureName 为画面名称。
2、ClosePicture
此函数用于将已调入内存的画面关闭,并从内存中删除。语法格式:ClosePicture("PictureName");

ShowPicture("PictureName") 和 ClosePicture("PictureName") 这两条命令是专门用来进行画面切换的。

第21页:例:画面之间的切换

【例】在演示工程中进行画面之间的切换。

思路:设置按钮,进行组态画面切换,以一幅画面为主,切换后返回主画面。

第22页:例:退出运行系统与Exit函数

【例】在主画面上设置一个按钮,实现退出组态王运行系统:在主画面上创建一个按钮,改名为“退出”,双击“退出”按钮弹出动画连接对话框,单击命令语言连接按钮“弹起时”弹出命令语言编辑器,在命令语言编辑区中写入:Exit(0)

3、Exit:此函数使组态王运行环境退出。调用形式:Exit(Option); 参数 Option 为整型变量或数值:0-退出当前程序;1-关机;2-重新启动 Windows。

第23页:菜单制作命令语言

4、菜单制作命令语言:用户将经常要调用的功能做成菜单形式,方便用户管理,并且对该菜单可以设置权限,提高系统操作的安全性。

  • Menuindex:第一级菜单项的索引号;
  • childmenuindex:第二级菜单项的索引号。当没有第二级菜单项时,在命令语言中条件应为 childmenuindex==-1 或不写。

menuindex 和 childmenuindex 都从等于 0 开始:menuindex==0 表示一级菜单中的第一个菜单;childmenuindex==0 表示所属一级菜单中的第一个二级菜单。

第24页:例:用菜单实现画面切换

【例】利用菜单功能完成演示工程“二种液体混合加热”中画面之间的切换。

  1. 创建菜单:单击“工具箱”→“菜单”按钮,或单击“工具”→“菜单”,鼠标光标变为“十”字形,将光标置于起始位置(矩形菜单按钮的左上角),按下左键并拖曳鼠标牵拉出另一对角顶点即可。
  2. 菜单定义:绘制出菜单后,更重要的是对菜单进行功能定义,即定义菜单下的各功能项及其功能。
  3. 命令语言:自定义菜单允许用户在运行时点击菜单各项执行已定义的功能。

第25页:菜单制作命令语言格式

菜单制作命令语言格式示例:

if(menuindex==0) Showpicture("画面1名称");
if(menuindex==1) Showpicture("画面2名称");
if(menuindex==2 && childmenuindex==0) Showpicture("画面3名称(子菜单第一级)");
if(menuindex==2 && childmenuindex==1) Showpicture("子菜单2");
if(menuindex==4) Showpicture("画面5名称");
if(menuindex==5) Exit( 0 );

第26页:例:十字路口交通灯控制要求

【例】十字路口交通灯的控制,控制要求:

  • 东西向:绿灯亮(20s)→ 黄灯闪(3s)→ 红灯亮(20s)
  • 南北向:红灯亮(20s)→ 黄灯闪(3s)→ 绿灯亮(20s)

第27页:交通灯设计思路

设计思路:根据控制要求,东西向的红灯亮的时间和南北向的绿灯亮的时间相同,东西向的黄灯闪的时间和南北向的黄灯闪的时间也相同,东西向的 R、Y、B 灯可分别并联,南北向的 R、Y、B 灯也可分别并联,东西向的 B = 南北向的 R,东西向的 Y = 南北向的 Y,所以总共只需要三个变量即可。

在数据词典中定义 R、Y、B 三个内存离散型变量。由于组态王中没有专门的定时器,所以设计了一个自动加 1 计数器来进行计时,时间可根据计数的个数来进行调整。根据控制条件,黄灯仅仅是在满足条件时闪烁,所以黄灯的闪烁可以用“隐含”、“闪烁”来实现。

第28页:命令语言程序控制流程图

命令语言程序控制流程图:图示为十字路口交通灯控制的程序流程,按计时计数器的区间判断依次切换东西向与南北向的红、绿、黄灯状态,并循环执行。

顶部目录