《组态王工程》-项目五 命令语言_第1页
《组态王工程》-项目五 命令语言_第2页
《组态王工程》-项目五 命令语言_第3页
《组态王工程》-项目五 命令语言_第4页
《组态王工程》-项目五 命令语言_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务一命令语言的类型5.1.1任务目标熟悉组态王中命令语言的类型,掌握各种命令语言编辑器的使用方法。5.1.2任务分析组态王中的命令语言在语法上类似C语言,工程人员可以利用命令语言来增强应用程序的灵活性、处理一些算法和操作等。命令语言包括:应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言、自定义函数命令语言和画面命令语言等。各种命令语言都是要通过“命令语言编辑器”编辑输入并进行语法检查,在运行系统中进行编译执行,用户只要按规范编写程序段即可。下一页返回任务一命令语言的类型5.1.3相关知识命令语言都是靠事件触发执行的,如定时、数据的变化、键盘键的按下、鼠标的点击等。根据事件和功能的不同,包括应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言、自定义函数命令语言、动画连接命令语言和画面命令语言等。命令语言具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数。上一页下一页返回任务一命令语言的类型其中应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言可以称为“后台命令语言”,它们的执行不受画面打开与否的限制,只要符合条件就可以执行。另外可以使用运行系统中的菜单“特殊\开始执行后台任务”和“特殊\停止执行后台任务”来控制所有这些命令语言是否执行。而画面和动画连接命令语言的执行不受影响。也可以通过修改系统变量“$启动后台命令语言”的值来实现上述控制,该值置0时停止执行,置1时开始执行。上一页下一页返回任务一命令语言的类型5.1.4任务实施

1.应用程序命令语言应用程序命令语言是在程序启动时、程序关闭时或者在程序运行期间执行的命令语言。如果选择在程序运行期间执行命令语言,还可以指定程序执行的周期。它通常用于系统的初始化、系统的退出时的处理及常规程序处理。在组态王工程浏览器的目录显示区,选择“文件\命令语言\应用程序命令语言”,则在右边的内容显示区出现“请双击这几进入<应用程序命令语言>对话框…”,如图5-1所示。双击图标,弹出“应用程序命令语言”对话框,如图5-2所示。上一页下一页返回任务一命令语言的类型

2.数据改变命令语言数据改变命令语言只链接到变量或变量的域。在变量或变量的域的值变化到超出数据字典中所定义的变化灵敏度时,它们就被执行一次。在工程浏览器的目录显示区,选择“文件\命令语言\数据改变命令语言”,在右侧目录内容显示区双击“新建”图标,弹出数据改变命令语言编辑器。在“变量〔域〕”输入栏中输入一个变量名称或者变量的域名称,在命令语言编辑区中输入命令语言程序。当连接的变量的值发生变化时,系统会自动执行该命令语言程序。

3.事件命令语言事件命令语言是指当规定在事件发生、存在、消失时分别执行的程序。离散变量名或表达式都可以作为事件。上一页下一页返回任务一命令语言的类型在工程浏览器的目录显示区,选择“文件\命令语言\事件命令语言”,在右侧目录内容显示区双击“新建”图标,弹出事件命令语言编辑器,如图5-3所示。

4.热健命令语言在实际的工业现场,为了操作的需要可能需要定义一些热键,当某键被按下时使系统执行相应的控制命令。例如,当按下F1键时,使原料油出料阀被开启或关闭,这可以使用命令语言的热键命令语言来实现。在软件运行期间,热键命令语言链接到工程人员预先指定的热键上,工程人员随时按下键盘上相应的热键都可以启动这段命令语言程序。热键命令语言可以指定用户的使用权限和操作安全区。上一页下一页返回任务一命令语言的类型

5.自定义函数命令语言如果组态王提供的各种函数不能满足工程的特殊需要,还可利用组态王提供的用户自定义函数功能。用户可以自己定义各种类型的函数,通过这些函数能够实现工程特殊的需要。如特殊算法、模块化的公用程序等,都可通过自定义函数来实现。自定义函数是利用类似C语言来编写的一段程序,其自身不能直接被组态王触发调用,必须通过其他命令语言来调用执行。上一页下一页返回任务一命令语言的类型

6.画面命令语言画面命令语言是与画面显示与否有关系的命令语言程序。画面命令语言定义在画面属性中。打开一个画面,选择菜单“编辑\画面属性”,或用鼠标右键单击画面,在弹出的快捷菜单中选择“画面属性”菜单项,打开画面属性对话框,在对话框上单击“命令语言…”按钮,弹出画面命令语言编辑器,如图5-4所示。在此可输入画面命令语言程序。画面命令语言分为3个部分:显示时、存在时、隐含时。上一页下一页返回任务一命令语言的类型

7.动画连接命令语言对于图素,有时一般的动画连接表达式完成不了工作,而程序只需要点击一下画面上的按钮等图素才执行,如点击一个按钮,执行一连串的动作,或执行一些运算、操作等。这时可以使用动画连接命令语言。该命令语言是针对画面上图素的动画连接,组态王中的大多数图素都可以定义动画连接命令语言。如在画面上放置一个按钮,双击该按钮,弹出“动画连接”对话框,如图5-5所示。单击上述任何一个按钮都会弹出动画连接命令语言编辑器,如图5-6所示。动画连接命令语言可以定义关联的动作热键,如图5-5所示。单击“等价键”中的“无”按钮,可以选择关联的热键,也可以选择Ctrl,Shift与之组成组合键。运行时,按下此热键,效果同在按钮上按下鼠标键相同。上一页下一页返回任务一命令语言的类型5.1.5问题讨论(1)理解各种命令语言的含义,比较各种类型命令语言功能的异同点。(2)在组态王工程中,利用本次课程的知识尝试分析并总结实现退出运行系统的几种方法。上一页返回任务二命令语言语法5.2.1任务目标熟悉组态王命令语言的运算符及优先级,掌握组态王命令语言的基本语法知识,熟悉常用命令语言函数及其使用方法。5.2.2任务分析命令语言程序是由用户编制的、用来完成特定操作和处理的程序,命令语言的语法和C语言非常类似,可以说是C的一个简化子集,具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数,在概念和使用上简单直观。下一页返回任务二命令语言语法5.2.3相关知识1.表达式由数据对象(包括设计者在实时数据库中定义的数据对象、系统内部数据对象和系统内部函数)、括号和各种运算符组成的运算式称为表达式,表达式的计算结果称为表达式的值。当表达式中包含有逻辑运算符或比较运算符时,表达式的值只可能为0(条件不成立,假)或非0(条件成立,真),这类表达式称为逻辑表达式;当表达式中只包含算术运算符,表达式的运算结果为具体的数值时,这类表达式称为算术表达式;‘常量或数据对象是狭义的表达式,这些单个量的值即为表达式的值。表达式值的类型即为表达式的类型,必须是开关型、数值型、字符型3种类型中的一种。上一页下一页返回任务二命令语言语法表达式是构成命令语言程序的最基本元素,在组态王其他部分的组态中,也常常需要通过表达式来建立实时数据库与其他对象的连接关系,正确输入和构造表达式是组态王工程的一项重要工作。表达式是由数据字典中定义的变量、变量域、报警组名、数值常量以及各种运算符组成,与C语言中的表达式非常类似。表达式举例:单独的变量或变量的域:开关、液面高度.alarm。复杂的表达式:开关=1、液面高度>50&&液面高度<80,(开关1║开关2)&&(液面高度.alarm。命令语言程序的语法与一般C程序的语法没有大的区别,每一程序语句的末尾应该用分号“:”结束,在使用if-else,while()等语句时,其程序要用花括号“{}”括起来。上一页下一页返回任务二命令语言语法2.运算符及优先级用运算符连接变量或常量就可以组成较简单的命令语言语句,如赋值、比较、数学运算等。命令语言中可使用的运算符以及运算符优先级与连接表达式相同。(1)运算符种类,运算符的种类如表5-1所示。上一页下一页返回任务二命令语言语法5.2.4任务实施由于组态王的命令语言程序是为了实现某些多分支流程的控制及操作处理,因此只包括了几种最简单的语句:赋值语句、条件语句、循环语句和注释语句。1.赋值语句赋值语句用得最多,其基本语法格式如下:变量(变量的叫读写域)=表达式;可以给一个变量赋值,也可以给可读写变量的域赋值。例如:\\本站点\启动开关一l;表示将启动开关置为开(1表示打开,0表示关闭)。上一页下一页返回任务二命令语言语法\\本站点\静态变量一\\本站点\静态变量+10;表示将静态变量自身加100.

2.条件语句条件语句指的是if-else语句,该语句用于按表达式的状态有条件地执行不同的程序,可以嵌套使用。“if”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当表达式的值为非0时,条件成立,执行“else"后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。其语法结构为:上一页下一页返回任务二命令语言语法例1:if(原料罐液位<20&&自动开关){进料阀=1;}上述语句表示判断原料罐液位值如果小于20并且自动开关为1的时候,将启动进料阀(将进料阀变量赋值为1)。3.循环语句组态王软件中的循环语句是指while语句,当while()括号中的表达式条件成立时,循环执行后面“{}”内的程序,条件不成立时,程序略过while语句继续执行下面的程序。循环语句的基本格式如下:上一页下一页返回任务二命令语言语法4.注释语句命令语言程序添加注释,有利于程序的可读性,也方便程序的维护和修改。组态王的所有命令语言中都支持注释。注释的方法分为单行注释和多行注释两种。注释语句在命令语言程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理,并目注释可以在程序的任何地方进行。例1:if(原料罐液位>480&&自动开关)//根据原料罐液位控制进料阀(进料阀=0;)上一页下一页返回任务二命令语言语法例2:/*根据原料罐液位控制进料阀*/if(原料罐液位)480&&自动开关){进料阀=0;}if(原料罐液位<20&&自动开关){进料阀=1;}5.2.5知识进阶组态王6.53软件中提供了240多个命令语言函数。这些函数都是组态王内建的函数。其中包括数学函数、字符串函数、控件函数、系统函数、报表函数及其他函数等。在使用中,函数名不区分大小写。上一页下一页返回任务二命令语言语法1.数学函数的定义和使用方法(1)数学函数主要包括以下17个函数,定义如下:Abs:用于计算变量的绝对值;ArcCos:用于计算变量值的反余弦值;ArcSin用于计算变量值的反i1弦值;Cos:用于计算变量值的余弦值;Exp:返回指数函数ex的计算结果;Int:返回小于等于指定数值的最大整数;LogE:返回对数函数logex计算结果;LogN:返回以n为底的x的对数;Max:求得给定的数中最大的一个;上一页下一页返回任务二命令语言语法Min:求得给定的数中最小的一个;PI:返回圆周率的值;Pow:求得一模拟值或模拟变量的任意次幂;Sgn:判别一个数值的符号(Cnl=、零或负);Sin:用于计算变量值的i1,弦值;Sqrt:用于计算变量值的平方根;Tan:用于计算变量值的i1,切值;Trunc:通过删去小数点右边部分的方式截取一个实数。上一页下一页返回任务二命令语言语法(2)数学函数的语法格式:(以Abs为例说明数学函数的使用方法)Abs(变量名或数值);返回值:整值或实型值;例如:Abs(14):返回值为14;Abs(-7.5):返回值为7.5;Abs(距离):返回内存模拟变量“距离”的绝对值。上一页下一页返回任务二命令语言语法2.字符串函数的定义和使用方法(1)字符串函数主要包括20个函数,部分定义如下:DText:按离散变量的值动态地改变字符串变量;StrASCII:返回某一指定的字符串变量首字符的ASCII值;StrChar:返回某一指定ASCII码所对应的字符;StrFromInt:将一整数值转换为另一进制下的字符串表示;StrFromReal:将一实数值转换成字符串形式;StrFromTime:将一时间值转换成字符串;StrInStr:返回对象文本在某一文本中第一次出现的位置;StrLeft:返回指定字符串变量的开始(或最左)若干个字符;上一页下一页返回任务二命令语言语法StrLen:返回指定字符串变量的长度;StrLower:将指定文字中的所有大写字母转换为小写字母;StrMid:从一个字符串变量中指定的位置开始返回指定个数的字符;StrReplace:替换或改变字符串的指定部分;StrRight:返回指定字符串变量的最末端(或最右)若干个字符;StrSpace:在字符串变量中或表达式中产生一个空格串;…上一页下一页返回任务二命令语言语法(2)字符串函数的语法格式(以Dtext为例说明字符串函数的使用方法):Str=Dtext(Discrete-Tag,OnMsg,OffMsg);Discrete_Tag——离散变量名;OnMsg——字符串变量名;OffMsg——字符串变量名。当DiscreteesTag=1时,Str的值为OnMsg;当DiscreteesTag=0时,Str的值为OffMsg。例如:Str=Dtext(电源开关,”电源打开,”电源关闭”);当电源开关=1时,Str的值为“电源打开”;当电源开关=0时,Str的值为“电源关闭”。上一页下一页返回任务二命令语言语法3.控件函数的定义和使用方法(1)控件函数主要包括34个函数,部分定义如下:chartADD:在指定的棒图控件中增加一个新的条形图;chartClear:在指定的棒图控件中清除所有的棒形图;chartSetValue:在指定的棒图控件中设定/Tip改索引值为Index的条形图的数据。…上一页下一页返回任务二命令语言语法(2)控件函数的调用格式:函数名(参数1,参数2,…,参数二);例如:在画面命令语言编辑器中“显示时”,添加如下程序:chartClear("Ctrll”);chartAdd("Ctrll”,反应罐液位,”反应罐液位值”);在画面命令语言编辑器中“存在时”,添加如下程序:chartSetVa工ue:("Ctrll",0,反应罐液位);上述语句的作用是:在画面显示时,首先清除控件Ctrll中的所有棒形图,并在棒图控件Ctrll中增加一个标签为“反应罐液位值”的条形图,其初始值为“反应罐液位”的实时值。在画面存在时,在棒图控件Ctrll中设定索引值为0(第一条)的条形图的数据为“反应罐液位”的实时值。上一页下一页返回任务二命令语言语法4.系统函数的定义和使用方法(1)系统函数主要包括26个函数,部分定义如下:ActivateApp:激活正在运行的窗口应用程序,使之变为当前窗口;StartApp:启动另一个窗口应用程序;Exit:使组态王退出运行环境;(2)系统函数的调用格式:函数名(“应用程序名”或者参数);上一页下一页返回任务二命令语言语法5.报表函数的定义和使用方法91)步陡表函数主要包括24个函数,部分定义如下:ReportPrint:将指定的数据报告文件输出到“系统配置\打印配置”中规定的打印机上;ReportPrint2:报表专用函数。将指定的报表输出到打印配置中指定的打印机上打印;ReportPrintSetup:对指定的报表进行打印预览并A可输出到打印配置中指定的打印机上进行打印;上一页下一页返回任务二命令语言语法ReportGetCellString:报表专用函数,获取指定报表的指定单元格的文本;ReportGetCellValue:报表专用函数,获取指定报表的指定单元格的数值;ReportGetColumns:报表专用函数,获取指定报表的列数;ReportGetRows:报表专用函数,获取指定报表的行数;ReportSetRows:报表专用函数,设置指定报表的行数;ReportSetColumns:报表专用函数,设置指定报表的列数;…C2)报表函数的语法格式:ReportPrintsetup(szRptName);szR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论