脚本程序 MCGS_第1页
脚本程序 MCGS_第2页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、脚本程序,什么是脚本程序,脚本程序是一种需要在特定的宿主程序中运行的程序。 脚本程序的编程语法类似于Basic语言。 用户脚本程序是由用户编制的、用来完成特定操作和处理的程序。,脚本程序应用场合,在“脚本程序”策略构件中使用。 在“标准按钮”的“脚本程序”中使用。 在事件响应中使用脚本函数。 在“菜单”的“脚本程序”中使用。 在“用户窗口”的“启动脚本”、“循环脚本”、“退出脚本”中使用。,脚本程序基本语句,脚本程序是为了实现流程的控制及对象操作处理,包括了几种最简单的语句:赋值语句、条件语句、循环语句、退出语句和注释语句。,赋值语句,赋值语句的形式为:数据对象 = 表达式。 赋值号左边必须是

2、能够读写的数据对象。 赋值号的右边为表达式,表达式的类型必须与左边数据对象值的类型相符合。 液位1=7 液位1=液位2 液位1=液位1/2,条件语句,条件语句有如下三种形式: If 表达式 Then 语句 If 表达式 Then 语句 EndIf If 表达式Then If 表达式 Then 语句 EndIf Else 语句 EndIf,条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套。 “IF”语句的表达式的值为真,条件成立,执行“Then”后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。 值为字符型的

3、表达式不能作为“IF”语句中的表达式。,循环语句,循环语句为While和EndWhile,其结构为: While 条件表达式 . EndWhile 当条件表达式成立时(非零),循环执行While和EndWhile之间的语句。直到条件表达式不成立(为零),退出。,退出语句,退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。,注释语句,以单引号开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。,系统变量,MCGS系统变量是MCGS建立的内部数据对象,

4、在脚本程序中可自由使用,但只能读不能写。在使用内部变量时变量的前面必须加“$”符号。 如 $Year ,$Month ,$Date,$UserName 等 。 Data= $Date,系统函数,MCGS定义的系统函数是一系列用于完成MCGS内部对象操作和常用数学运算的函数,根据功能可分为运行环境操作函数;数据对象操作函数;系统操作函数;文件操作函数;数学函数等。 系统函数在脚本程序中可自由使用,在使用系统函数时,函数的前面必须加“!”符号,如!abs( )。,运行环境操作函数,运行环境操作函数完成对窗口的操作。 !CloseAllWindow(WndName) 关闭指定窗口外的所有窗口 !Ge

5、tWindowName(Index) !GetWindowState(WndName) 返回0:用户窗口处于关闭状态;返回1:用户窗口处于打开状态;返回2:用户窗口处于隐藏状态。 !SetWindow(WndName,Op) 1打开窗口并使其可见;2打开窗口并使其不可见;3关闭窗口;4打印窗口;5:刷新窗口。 !SysWindow(),用户窗口操作,完成对运行策略的操作 !ChangeLoopStgy(StgyName,n) !EnableStgy(StgyName,n) 打开或关闭某个策略;n:1打开此策略,0关闭此策略 !GetStgyName(Index) !SetStgy(StgyNa

6、me),完成对设备构件的操作 !GetDeviceName(Index) !GetDeviceState(DevName) -1调用不正常;1 设备处于正常的工作状态;2 设备正在工作,但设备不正常;3 设备处于停止工作状态,且设备正常;4 设备处于停止状态,且设备有错。 !SetDevice(DevName,DevOp,CmdStr) 1启动设备开始工作;2停止设备的工作使其处于停止状态;3测试设备的工作状态;4启动设备工作一次;5改变设备的工作周期CmdStr中包含新的工作周期,单位为ms;6执行指定的设备命令,CmdStr中包含指定命令的格式。 !SetDevice(SimensPLC,

7、6,“Write(Q0.1=1)”),设备操作,MCGS对象,MCGS数据对象。 MCGS操作对象包括工程中用户窗口、动画构件和设备构件等。,属性 事件 方法,属性可以视为对象的特性,方法可以视为对象的操作,事件可以视为对象的响应。,数据对象方法 SaveData 保存数据对象。 SaveDataInitValue 保存数据对象的当前值为初始值 SaveDataOnTime(参数1,参数2) 按照指定时间保存数据对象的值 AnswerAlm 应答当前报警。,在MCGS组态软件系统中,每个对象都是由系统的属性和方法构成。使用操作符“.”,可以在脚本程序或使用表达式的地方,调用对象相应的属性和方法

8、。例如:液位.Value可以取得的当前值;液位.SaveData( )可以实现数据对象的存盘。,PID算法,按偏差的比例、积分和微分进行控制的调节器简称为PID( Proportional - Integral - Differential )调节器。 PID调节是连续系统中技术最成熟、应用最广泛的一种调节方式,其调节的实质是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,其运算结果用于输出控制。,PID控制实现的控制方式 模拟方式:用电子电路调节器,在调节器中,将被测信号与给定值比较,然后把比较出的差值经PID电路运算后送到执行机构,改变给进量,达到调节之目的。 数字方式:用计算机进

9、行PID运算,将计算结果转换成模拟量,输出去控制执行机构。, 比例积分微分调节器,数字PID控制算法 用数值逼近的方法实现PID控制规律 数值逼近的方法:用求和代替积分、用后向差分代替微分,使模拟PID离散化为差分方程 两种形式:位置式、增量式, 位置式PID控制算法,位置式控制算法提供执行机构的位置uk,需要累计ek,增量式PID控制算法,增量式控制算法提供执行机构的增量uk ,只需要保持 现时以前3个时刻的偏差值即可,对应的脚本程序如下: 偏差2=偏差1 上上次偏差 偏差1=偏差 上次偏差 偏差=设定值测量值 本次偏差 比例=比例系数*(偏差偏差1) 比例作用 if 积分时间=0 then

10、 积分作用 积分=0 else 积分=比例系数*采样周期 *偏差/积分时间 endif 微分=比例系数*微分时间*(偏差2*偏差1+偏差2)/采样周期 微分作用 增量=比例+积分+微分 增量输出 位置=前次位置+增量 位置输出 if 位置=位置最大值then 位置=位置最大值 超出位置最大值,位置位置最大值 if 位置=位置最小值then 位置=位置最小值 超出位置最小值,位置位置最小值 前次位置=位置 为下循环准备,偏差,偏差1,偏差2,比例系数,微分时间,积分时间,比例,微分,积分,增量,位置,前次位置,带死区的PID控制,在控制系统中为了避免控制动作过于频繁,设置一个可调的参数e0,当系统偏差 时,控制量的增量 ,即此时控制系统维持原

温馨提示

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

评论

0/150

提交评论