MCGS脚本程序
本专题将从以下几个方面介绍MCGS脚本程序:
脚本程序简介
脚本语言编辑环境
脚本程序语言要素
脚本程序基本语句
脚本程序的查错和运行
脚本程序简介
对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。
用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的程序。它被封装在
一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。
MCGS中,脚本语言的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。
脚本程序在MCGS组态软件中有四种应用场合,分别为:
在“运行策略”中的“脚本程序”构件中使用;
在“菜单”属性设置中的“脚本程序”中使用,作为菜单的一个辅助功能运行;
在“用户窗口”属性设置中的“启动脚本”、“循环脚本”、“退出脚本"中使用;
更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮”属性设置中的“脚本程序”中使用。
MCGS引入的事件驱动机制,与VBVC中的事件驱动机制类似,比如:对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,
就会触发一个脚本程序,执行脚本程序中的操作。
脚本语言编辑环境
脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCGS操作对象列表和函数列表、脚本语句和表达式4个部分构成,分别说明如下:
脚本程序编辑框用于书写脚本程序和脚本注释,用户必须遵照MCGS规定的语法结构和书写规范书写脚本程序,否则语法检查不能通过。
编辑功能按钮提供了文本编辑的基本操作,用户使用这些操作可以方便操作和提高编辑速度.比如,在脚本程序编辑框中选定一个函数,然后按下帮助按钮,MCGS将自动打开关于这个函数的在线帮助,或者,如果函数拼写错误,MCGS将列出与所提供的名字最接近函数的在线帮助。
脚本语句和表达式列出了MCGS使用的三种语句的书写形式和MCGS允许的表达式类型。用鼠标单击要选的语句和表达式符号,在脚本编辑处光标所在的位置填上语句或表达式的标准格式。比如,用鼠标单击if~then按钮,则MCGS自动提供一个if … then …结构,并把输入光标停到合适的位置上。
MCGS对象和函数列表以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及各种函数,以供用户快速的查和使用。比如,可以在用户窗口树中,选定一个窗口:"窗口0",打开窗口0下的”方法" ,然后双击Open函数,则MCGS自动在脚本程序编辑框中,添加了一行语句:用户窗口.窗口0。Open( ),通过这行语句,就可以完
成窗口打开的工作.
脚本程序语言要素
MCGS中,脚本程序在编写时使用的语言非常类似普通的Basic语言,本节对脚本程序的语言要素进行详细的说明。
数据类型
MCGS脚本程序语言使用的数据类型只有三种:
开关型:表示开或者关的数据类型,通常0表示关,非0表示开。也可以作为整数使用;
数值型:值在3.4E±38范围内;
字符型:最多512个字符组成的字符串;
变量、常量及系统函数
变量:脚本程序中,用户不能定义子程序和子函数,其中数据对象可以看作是脚本程序中的
全局变量,在所有的程序段共用。可以用数据对象的名称来读写数据对象的值,也可以对数据对象的属性进行操作。
开关型、数值型、字符型三种数据对象分别对应于脚本程序中的三种数据类型。在脚本程序中不能对组对象和事件型数据对象进行读写操作,但可以对组对象进行存盘处理.
常量:
开关型常量:0或非0的整数,通常0表示关,非0表示开;
数值型常量:带小数点或不带小数点的数值,如:12。45, 100
字符型常量:双引号内的字符串,如:“OK”,“正常”
系统变量:MCGS系统定义的内部数据对象作为系统内部变量,在脚本程序中可自由使用,在使用系统变量时,变量的前面必须加“”符号,如 $Date
系统函数:MCGS系统定义的内部函数,在脚本程序中可自由使用,在使用系统函数时,函数的前面必须加“"符号,如!abs( )
属性和方法:MCGS系统内的属性和方法都是相对于MCGS的对象而说的,引用对象的方法可以参见下个部分。
查符合两个条件之一的字符串函数注:有关系统变量和系统函数详细的使用方法,请参见《MCGS参考手册》
MCGS对象
MCGS的对象形成一个对象树,树根从“MCGS”开始,MCGS对象的属性就是系统变量,MCGS对象的方法就是系统函数。MCGS对象下面有“用户窗口"对象,“设备"对象,“数据对象” 等子对象.“用户窗口”以各个用户窗口作为子对象,每个用户窗口对象以这个窗口里的动画构件作为子对象。
使用对象的方法和属性,必须要引用对象,然后使用点操作来调用这个对象的方法或属性.为了引用一个对象,需要从对象根部开始引用,这里的对象根部,是指可以公开使用的对象。MCGS对象,用户窗口、设备和数据对象都是公开对象,因此,语句InputETime = $Time是正确的,而语句InputETime = MCGS。$Time也是正确的,同样,调用函数!Beep()时,也可以采用MCGS。!Beep()的形式。可以写:窗口0.Open(),也可以写:MCGS.用户窗
窗口0。Open(),还可以写:用户窗口.窗口0。Open()。但是,如果要使用控件,就不能只写:控件0。Left,而必须写:窗口0。控件0。Left,或:用户窗口.窗口0。控件0.Left。在对象列表框中,双击需要的方法和属性,MCGS将自动生成最小可能的表达式。
事件
MCGS的动画界面组态中,可以组态处理动画事件。动画事件是在某个对象上发生的,可能带有参数也可能没有参数的动作驱动源。如用户窗口上可以发生事件:LoadUnload,分别在用户窗口打开和关闭时触发.可以对这两个事件组态一段脚本程序,当事件触发时(用户窗口打开或关闭时)被调用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。