
工业控制组态软件应用技术教学课件作者刘文贵项目五命令语言.ppt
42页项目五 命令语言,任务一 命令语言的类型 任务二 命令语言语法,下一页,返回,任务一 命令语言的类型,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} 上述语句表示判断原料罐液位值如果小于20并且自动开关为1的时候,将启动进料阀(将进料阀变量赋值为1) 3.循环语句 组态王软件中的循环语句是指while语句,当while()括号中的表达式条件成立时,循环执行后面“{}”内的程序,条件不成立时,程序略过while语句继续执行下面的程序循环语句的基本格式如下:,上一页,下一页,返回,任务二 命令语言语法,4.注释语句 命令语言程序添加注释,有利于程序的可读性,也方便程序的维护和修改组态王的所有命令语言中都支持注释注释的方法分为单行注释和多行注释两种注释语句在命令语言程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理,并目注释可以在程序的任何地方进行 例1: if(原料罐液位480),上一页,下一页,返回,任务二 命令语言语法,例2: /*根据原料罐液位 控制进料阀*/ if(原料罐液位)480} 5.2.5知识进阶 组态王6.53软件中提供了240多个命令语言函数这些函数都是组态王内建的函数其中包括数学函数、字符串函数、控件函数、系统函数、报表函数及其他函数等。
在使用中,函数名不区分大小写上一页,下一页,返回,任务二 命令语言语法,1.数学函数的定义和使用方法 (1)数学函数主要包括以下17个函数,定义如下: Abs:用于计算变量的绝对值; ArcCos:用于计算变量值的反余弦值; Arc Sin用于计算变量值的反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:按离散变量的值动态地改变字符串变量; StrASC。












