分享
分销 收藏 举报 申诉 / 9
播放页_导航下方通栏广告

类型MCGS脚本程序.doc

  • 上传人:仙人****88
  • 文档编号:11759099
  • 上传时间:2025-08-12
  • 格式:DOC
  • 页数:9
  • 大小:163.04KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    MCGS 脚本 程序
    资源描述:
    MCGS脚本程序 本专题将从以下几个方面介绍MCGS脚本程序: l 脚本程序简介 l 脚本语言编辑环境 l 脚本程序语言要素 l 脚本程序基本语句 l 脚本程序的查错和运行 脚本程序简介 对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。 用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的程序。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCGS中,脚本语言的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。 脚本程序在MCGS组态软件中有四种应用场合,分别为: l 在“运行策略”中的“脚本程序”构件中使用; l 在“菜单”属性设置中的“脚本程序”中使用,作为菜单的一个辅助功能运行; l 在“用户窗口”属性设置中的“启动脚本”、“循环脚本”、“退出脚本”中使用; l 更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮”属性设置中的“脚本程序”中使用。 MCGS引入的事件驱动机制,与VB或VC中的事件驱动机制类似,比如:对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境 脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCGS操作对象列表和函数列表、脚本语句和表达式4个部分构成,分别说明如下: l 脚本程序编辑框用于书写脚本程序和脚本注释,用户必须遵照MCGS规定的语法结构和书写规范书写脚本程序,否则语法检查不能通过。 l 编辑功能按钮提供了文本编辑的基本操作,用户使用这些操作可以方便操作和提高编辑速度。比如,在脚本程序编辑框中选定一个函数,然后按下帮助按钮,MCGS将自动打开关于这个函数的在线帮助,或者,如果函数拼写错误,MCGS将列出与所提供的名字最接近函数的在线帮助。 l 脚本语句和表达式列出了MCGS使用的三种语句的书写形式和MCGS允许的表达式类型。用鼠标单击要选的语句和表达式符号,在脚本编辑处光标所在的位置填上语句或表达式的标准格式。比如,用鼠标单击if~then按钮,则MCGS自动提供一个if … then …结构,并把输入光标停到合适的位置上。 l MCGS对象和函数列表以树结构的形式,列出了工程中所有的窗口、策略、设备、变量、系统支持的各种方法、属性以及各种函数,以供用户快速的查找和使用。比如,可以在用户窗口树中,选定一个窗口:”窗口0”,打开窗口0下的”方法” ,然后双击Open函数,则MCGS自动在脚本程序编辑框中,添加了一行语句:用户窗口.窗口0.Open( ),通过这行语句,就可以完成窗口打开的工作。 脚本程序语言要素 在MCGS中,脚本程序在编写时使用的语言非常类似普通的Basic语言,本节对脚本程序的语言要素进行详细的说明。 数据类型 MCGS脚本程序语言使用的数据类型只有三种: l 开关型:表示开或者关的数据类型,通常0表示关,非0表示开。也可以作为整数使用; l 数值型:值在3.4E±38范围内; l 字符型:最多512个字符组成的字符串; 变量、常量及系统函数 变量:脚本程序中,用户不能定义子程序和子函数,其中数据对象可以看作是脚本程序中的全局变量,在所有的程序段共用。可以用数据对象的名称来读写数据对象的值,也可以对数据对象的属性进行操作。 开关型、数值型、字符型三种数据对象分别对应于脚本程序中的三种数据类型。在脚本程序中不能对组对象和事件型数据对象进行读写操作,但可以对组对象进行存盘处理。 常量: l 开关型常量:0或非0的整数,通常0表示关,非0表示开; l 数值型常量:带小数点或不带小数点的数值,如:12.45, 100 l 字符型常量:双引号内的字符串,如:“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的动画界面组态中,可以组态处理动画事件。动画事件是在某个对象上发生的,可能带有参数也可能没有参数的动作驱动源。如用户窗口上可以发生事件:Load,Unload,分别在用户窗口打开和关闭时触发。可以对这两个事件组态一段脚本程序,当事件触发时(用户窗口打开或关闭时)被调用。 用户窗口的Load和Unload事件是没有参数的,但是MouseMove事件有,在组态这个事件时,可以在参数组态中,选择把MouseMove事件的几个参数连接到数据对象上,这样,当MouseMove事件被触发时,就会把MouseMove的参数,包括鼠标位置,按键信息等送到连接的数据对象,然后,在事件连接的脚本程序中,就可以对这些数据对象进行处理。 表达式 由数据对象(包括设计者在实时数据库中定义的数据对象、系统内部数据对象和系统函数)、括号和各种运算符组成的运算式称为表达式,表达式的计算结果称为表达式的值。 当表达式中包含有逻辑运算符或比较运算符时,表达式的值只可能为0(条件不成立,假)或非0(条件成立,真),这类表达式称为逻辑表达式;当表达式中只包含算术运算符,表达式的运算结果为具体的数值时,这类表达式称为算术表达式;常量或数据对象是狭义的表达式,这些单个量的值即为表达式的值。表达式值的类型即为表达式的类型,必须是开关型、数值型、字符型三种类型中的一种。 表达式是构成脚本程序的最基本元素,在MCGS的部分组态中,也常常需要通过表达式来建立实时数据库与其对象的连接关系,正确输入和构造表达式是MCGS的一项重要工作。 运算符 算术运算符 ∧ 乘方 l * 乘法 l / 除法 l \ 整除 + 加法 — 减法 Mod 取模运算 逻辑运算符l AND 逻辑与 NOT 逻辑非 OR 逻辑或 XOR 逻辑异或 比较运算符 l > 大于 l >= 大于等于 l = 等于(注意,字符串比较需要使用字符串函数!StrCmp, 不能直接使用等于运算符) l <= 小于等于 l < 小于 l <> 不等于 运算符优先级 按照优先级从高到低的顺序,各个运算符排列如下: l ( ) l ∧ l *,/ ,\,Mod l + ,— l < , > ,<= ,>=,= ,<> l NOT l AND,OR,XOR 基本辅助函数 作为脚本语言的一部分,MCGS提供了基本辅助函数,这些函数主要不是作为组态软件的功能提供的,而是为了完成脚本语言的功能提供的。这些函数包括以下几类:位操作函数,数学函数,字符串函数,时间函数。 位操作函数提供了对整型数据中的位进行操作的功能。可以用开关型变量来提供这里的整型数据。在脚本程序编辑器里,位操作函数都列在数学函数中,包括按位与(!BitAnd),按位或(!BitOr),按位异或(!BitXor),按位取反(!BitNot),清除数据中的某一位或把某一位置0(!BitClear),设置数据中的某一位或把某一位置1(!BitSet),检查数据中某一位是否为1(!BitTest),左移和右移(!BitLShift,!BitRShift)。 数学函数提供了常见的数学操作,包括开方,随机数生成以及三角函数等。 字符串函数提供了与字符串相关的操作,包括字符串比较,截取,搜索以及格式化等。 时间函数提供了和时间计算相关的函数。时间可以表达为一个字符串的形式,但是,为了方便进行时间计算,在MCGS中,使用了一种内部格式来保存时间的值,这种内部格式的时间值可以保存在一个开关型变量中,同时,可以使用函数!TimeStr2I和!TimeI2Str来完成字符串形式时间量和内部格式形式时间量的转换,如:A1 = !TimeStr2I(“2001-3-2 12:23:23”),这里A1是一个开关型数据对象,获得了一个内部形式的时间量,而再用 InputETime = !TimeI2Str(A1,“%Y-%m-%d %H:%M:%S”)又可以把保存在A1中的内部形式的时间量转换为字符串形式。当时间转换为内部格式后,就可以进行时间的运算。运算完毕后,再转换为字符串形式的时间,以便输出和使用。 具体函数的使用方法,可以参照《MCGS参考手册》中的说明。 功能函数 为了提供辅助的系统功能,MCGS提供了功能函数。功能函数主要包括以下几类:运行环境函数,数据对象函数,系统函数,用户登录函数,定时器操作,文件操作,ODBC函数,配方操作函数等。 运行环境函数和数据对象函数主要是提供了对MCGS内部各个对象操作的方法。 系统函数提供了系统功能,包括播放声音,启动程序,发出按键信息等等。 用户登录函数提供了用户登录和管理的功能。包括打开登录对话框,打开用户管理对话框等等。 定时器提供了MCGS内建定时器的操作。包括对内建时钟的启动,停止,复位,时间读取等操作。 文件操作提供了对文件的操作,包括删除、拷贝文件,把文件拆开、合并,寻找文件,和循环语句一起,可以遍历文件,在文件中进行读写操作。对CSV(逗号分割的文本文件)进行读写操作等等。 ODBC数据库函数提供了对ODBC数据源访问的机制,具体的使用方法可以参看”访问ODBC数据源”一章。配方操作函数提供了访问配方数据的机制。这两类函数使用了类似的编程机制。首先,为了访问一个ODBC数据源或配方数据,需要建立一个有名字的连接,这个连接的名字在创建这个连接时指定,在进行数据操作,以及关闭连接时,需要指定这个名字。其次,在连接中,规定了一个当前行的概念,当前行使用捆绑函数绑定到一组变量上,在连接中使用位置移动函数上下移动当前行到需要的位置上,就可以把需要位置上的数据从绑定的变量中读出来。通过添加函数 (AddNew),可以把当前绑定变量中的值作为一组新的数据加入到连接中。通过删除函数(Delete),可以把当前行删除。通过编辑函数,可以按照绑定变量中的值来修改连接中当前行的值。通过查找函数,可以把当前行定位到符合要求的位置上,如序号为10,或者操作员为李明,等等。 具体的函数说明,可以参看《MCGS参考手册》。 脚本程序基本语句 由于MCGS脚本程序是为了实现某些多分支流程的控制及操作处理,因此包括了几种最简单的语句:赋值语句、条件语句、退出语句和注释语句,同时,为了提供一些高级的循环和遍历功能,还提供了循环语句。所有的脚本程序都可由这五种语句组成,当需要在一个程序行中包含多条语句时,各条语句之间须用“:”分开,程序行也可以是没有任何语句的空行。大多数情况下,一个程序行只包含一条语句,赋值程序行中根据需要可在一行上放置多条语句。 赋值语句 赋值语句的形式为:数据对象 = 表达式。赋值语句用赋值号(“=”号)来表示,它具体的含义是:把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据以及能进行写操作的内部数据对象,而组对象、事件型数据对象、只读的内部数据对象、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。 赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。 条件语句 条件语句有如下三种形式: If 〖表达式〗 Then 〖赋值语句或退出语句〗 If 〖表达式〗 Then 〖语句〗 EndIf If 〖表达式〗Then 〖语句〗 Else 〖语句〗 EndIf 条件语句中的四个关键字“If”、“Then”、“Else”、“Endif”不分大小写。如拼写不正确,检查程序会提示出错信息。 条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。 “IF”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当表达式的值为非0时,条件成立,执行“Then”后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。 值为字符型的表达式不能作为“IF”语句中的表达式。 循环语句 循环语句为While和EndWhile,其结构为: While 〖条件表达式〗 …. EndWhile 当条件表达式成立时(非零),循环执行While和EndWhile之间的语句。直到条件表达式不成立(为零),退出。 退出语句 退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。 注释语句 以单引号“ ’ ”开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。 脚本程序的查错和运行 脚本程序编制完成后,系统首先对程序代码进行检查,以确认脚本程序的编写是否正确。检查过程中,如果发现脚本程序有错误,则会返回相应的信息,以提示可能的出错原因,帮助用户查找和排除错误。常见的提示信息有: l 组态设置正确,没有错误 l 未知变量 l 未知表达式 l 未知的字符型变量 l 未知的操作符 l 未知函数 l 函数参数不足 l 括号不配对 l IF语句缺少ENDIF l IF 语句缺少THEN l ELSE 语句缺少对应的IF语句 l ENDIF 缺少对应的 IF 语句 l 未知的语法错误 根据系统提供的错误信息,作出相应的改正,系统检查通过,就可以在运行环境中运行,达到简化组态过程、优化控制流程的目的。 脚本程序应用场合及样例 前面我们已经介绍了“运行策略”中的脚本程序,在本节中通过对“选择框”构件,定时器函数、字符串函数操作,来说明如何灵活运用MCGS组态软件中的脚本程序,形成如图所示效果: (1)脚本程序在“窗口”中的应用: 选择框演示程序,“用户窗口”属性设置中的“启动脚本”和“循环脚本”。 (2)脚本程序在“标准按钮”中的应用: 计数器操作演示、字符串操作演示,“标准按钮”构件属性设置中的“脚本程序”。 (3)脚本程序在“菜单”中的应用: 新增“脚本程序”菜单,菜单属性设置中的“脚本程序”。
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:MCGS脚本程序.doc
    链接地址:https://www.zixin.com.cn/doc/11759099.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork