330 likes | 474 Views
第四章 运行策略组态. 运行策略. 运行策略 是指对监控系统运行流程进行控制的方法和条件,它能够对系统执行某项操作和实现某种功能进行有条件的约束。. 运行策略 由多个复杂的功能模块组成,称为“策略块”,用来完成对系统运行流程的自由控制,使系统能按照设定的顺序和条件操作实时数据库,控制用户窗口的打开、关闭以及控制设备构件的工作状态等,从而实现对系统工作过程的精确控制及有序的调度管理。. 脚本程序 . 在脚本程序编辑环境,可以灵活地实现控制流程和各种操作。. 脚本程序语句. 窗口、策略、设备、变量、等的各种方法、属性以及各类系统函数. 编辑功能. 语句和表达式类型.
E N D
第四章 运行策略组态 第四章 运行策略组态
第四章 运行策略组态 运行策略 运行策略是指对监控系统运行流程进行控制的方法和条件,它能够对系统执行某项操作和实现某种功能进行有条件的约束。 运行策略由多个复杂的功能模块组成,称为“策略块”,用来完成对系统运行流程的自由控制,使系统能按照设定的顺序和条件操作实时数据库,控制用户窗口的打开、关闭以及控制设备构件的工作状态等,从而实现对系统工作过程的精确控制及有序的调度管理。
第四章 运行策略组态 脚本程序 在脚本程序编辑环境,可以灵活地实现控制流程和各种操作。 脚本程序语句 窗口、策略、设备、变量、等的各种方法、属性以及各类系统函数 编辑功能 语句和表达式类型
第四章 运行策略组态 脚本程序 脚本程序的编程语法非常类似于普通的Basic语言,对于大多数简单的应用系统,MCGS的脚本程序通常只用来进行生产流程的控制和监测,而对比较复杂的系统,脚本程序可以利用相对复杂的控制算法来实现系统的实时控制。 正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。
第四章 运行策略组态 赋值语句 “数据对象 = 表达式” 即把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据、字符型数据以及能进行写操作的内部数据对象。 而组对象、事件型数据、只读的内部数据对象、系统内部函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。 赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。
第四章 运行策略组态 条件语句 条件语句有如下三种形式: ①If 〖表达式〗 Then 〖赋值语句或退出语句〗 ②If 〖表达式〗 Then 〖语句〗 EndIf ③If 〖表达式〗Then 〖语句〗 Else 〖语句〗 EndIf 条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。
第四章 运行策略组态 退出语句 退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。
第四章 运行策略组态 注释语句 在脚本程序中以单引号“’”开头的语句称为注释语句,实际运行时,系统不对注释语句作任何处理。
第四章 运行策略组态 PID算法 PID算法是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好及可靠性高被广泛地应用于过程控制和运动控制中。尤其是随着计算机技术的发展,数字PID控制被广泛地加以应用,不同的PID控制算法其控制效果也各有不同。 利用MCGS的脚本程序可以灵活地进行控制算法的编程,通过脚本程序的策略组态来实现各种控制算法,下面就以几种典型PID算法为例,对MCGS脚本程序实现控制算法的方法加以介绍。
第四章 运行策略组态 增量式标准PID控制算法 当执行机构需要的控制量是以增量的形式逐次叠加时,对应的PID控制算法称为增量式标准PID控制算法。
第四章 运行策略组态 增量式标准PID控制算法 对应的脚本程序如下: 偏差2=偏差1 '上上次偏差 偏差1=偏差'上次偏差 偏差=设定值-测量值'本次偏差 比例=比例系数*(偏差-偏差1) '比例作用 if 积分时间=0 then '积分作用 积分=0 else 积分=比例系数*采样周期*偏差/积分时间 endif 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期'微分作用 增量=比例+积分+微分'增量输出 位置=前次位置+增量'位置输出 if 位置>=位置最大值then 位置=位置最大值'超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值'超出位置最小值,位置=位置最小值 前次位置=位置'为下循环准备
第四章 运行策略组态 带死区的PID控制(SPID)算法 在控制系统中为了避免控制动作过于频繁,设置一个可调的参数e0,当系统偏差 时,控制量的增量 ,即此时控制系统维持原来的控制量;当系统偏差 时,控制量的增量 依据增量式标准PID算法给出。
第四章 运行策略组态 带死区的PID控制(SPID)算法 对应的脚本程序如下: 偏差2=偏差1 '上上次偏差 偏差1=偏差'上次偏差 偏差=设定值-测量值'本次偏差 if 偏差>-0.5 and 偏差<0.5 then '偏差小于阈值 增量=0 '增量为零 else 比例=比例系数*(偏差-偏差1) '否则计算比例作用 if 积分时间=0 then 积分=0 '如果积分时间=0,则无积分作用 else 积分=比例系数*采样周期*偏差/积分时间'否则计算积分作用 endif 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期'计算微分作用 增量=比例+积分+微分'增量输出 endif 位置=前次位置+增量'位置输出 if 位置>=位置最大值then 位置=位置最大值'超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值'超出位置最小值,位置=位置最小值 前次位置=位置'为下循环准备
第四章 运行策略组态 积分分离 PID控制(IPID)算法 积分分离PID算法是人为地设定一个阈值,当系统偏差 时,即系统的偏差较大时,只采用PD控制,这样可以避免较大的超调,又使系统有较好的快速性;当 时,即系统的偏差较小时,加入积分作用,采用PID控制,可保证系统有较高的精度。
第四章 运行策略组态 积分分离 PID控制(IPID)算法 偏差2=偏差1 '上上次偏差 偏差1=偏差'上次偏差 偏差=设定值-测量值'本次偏差 比例=比例系数*(偏差-偏差1) '比例作用 if 积分时间=0 or 偏差>1 or 偏差<-1 then '如果积分时间=0或偏差太大 积分=0 '无积分作用 else 积分=比例系数*采样周期*偏差/积分时间'否则计算积分作用 endif 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期 '微分作用 增量=比例+积分+微分'增量输出 位置=前次位置+增量'位置输出 if 位置>=位置最大值then 位置=位置最大值'超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值'超出位置最小值,位置=位置最小值 前次位置=位置'为下循环准备
第四章 运行策略组态 不完全微分PID控制(DPID)算法 不完全微分PID控制算法时为了避免误差扰动突变时微分作用的不足。其方法是在PID算法中加入一个一阶惯性环节(低通滤波器) ,即构成不完全微分PID控制算法,在此基础上进行离散化后可得出其递推公式。
第四章 运行策略组态 不完全微分PID控制(DPID)算法 偏差2=偏差1 '上上次偏差 偏差1=偏差'上次偏差 偏差=设定值-测量值'本次偏差 比例=比例系数*(偏差-偏差1) '比例作用 if 积分时间=0 then '如果积分时间=0无积分作用 积分=0 else 积分=比例系数* 采样周期*偏差/积分时间 '否则计算积分作用 endif if 微分时间=0 then '如果微分时间=0无微分作用 微分=0 else 不全微分2=不全微分1 不全微分1=不全微分 微分增益=比例系数*微分时间/采样周期 不全微分系数=微分时间/(微分增益+微分时间) 不全微分=不全微分系数*不全微分1+比例系数*(偏差-偏差1)/(采样周期+微分时间/微分增益) 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/(采样周期+微分时间/微分增益)+比例系数*不全微分系数*(不全微分1-不全微分2) '否则计算微分作用 endif 增量=比例+积分+微分'增量输出 位置=前次位置+增量'位置输出 if 位置>=位置最大值then 位置=位置最大值'超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值'超出位置最小值,位置=位置最小值 前次位置=位置'为下循环准备
第四章 运行策略组态 用脚本语言实现顺序控制 顺序控制是指根据生产企业的实际生产工艺要求,按照时间的顺序,通过预先编制的程序在现场对各种生产设备进行控制。
第四章 运行策略组态 锅炉系统控制 顺序控制规则为: 当温度小于65摄氏度,开大供气阀门100%加热,当温度大于75摄氏度时,关小供气阀门至5%; 当温度小于60摄氏度大于80摄氏度时运行状态为“报警”; 当压力大于0.11MPa打开放气阀门,当压力小于0.11MPa时关闭放气阀门; 当压力大于0.12MPa时运行状态显示为“报警”; 当液位小于0.8m时开大给水阀门至100%,当液位大于1.0m时关小给水阀门至5%; 当液位小于0.5m或大于1.2m时运行状态为“报警”; 当温度大于60摄氏度小于80摄氏度,压力小于0.12MPa,液位大于0.5m小于1.2m时,运行状态为“正常”。
第四章 运行策略组态 锅炉系统控制 脚本程序如下: IF 温度< 65 THEN 供气阀= 100 IF 温度> 75 THEN 供气阀= 5 IF 温度< 60 THEN 运行状态= "报警" IF 温度> 80 THEN 运行状态= "报警" IF 压力> 0.11 THEN 放气阀= 1 IF 压力< 0.11 THEN 放气阀= 0 IF 压力> 0.12 THEN 运行状态= "报警" IF 液位< 0.8 THEN 给水阀= 100 IF 液位> 1.0 THEN 给水阀= 5 IF 液位< 0.5 THEN 运行状态= "报警" IF 液位> 1.2 THEN 运行状态= "报警" IF 温度> 60 AND 温度< 80 AND 压力< 0.12 AND 液位< 1.2 AND 液位> 0.5 THEN 运行状态= "正常"
第四章 运行策略组态 运行策略 “运行策略”,是用户为实现系统流程的自由控制,组态生成的一系列功能块的总称。 在考虑一个工程中相关的控制策略时,尤其对于特别复杂的应用工程,只须定制若干能完成特定功能的构件,将其增加到MCGS系统中,就可使已有的监控系统增添各种灵活的控制功能,而无须对整个系统作修改。
第四章 运行策略组态 运行策略的分类 策略类型共有7种,即启动策略、退出策略、循环策略、用户策略、报警策略、事件策略、热键策略。其中“启动策略”和“退出策略”用户在建立工程时会自动产生,用户可根据需要对其进行组态,而不能通过新建策略来建立。 完成用户自定义的各种功能或任务 完成系统的流程控制和控制算法 数据的报警存盘 事件的响应 热键的响应 系统允许用户创建或定义最多512个用户策略。
第四章 运行策略组态 策略构件 MCGS共提供了17种策略构件,它们分别是:退出策略、音响输出、策略调用、数据对象、设备操作、脚本程序、定时器、计数器、窗口操作、Excel报表输出、配方操作处理、存盘数据浏览、存盘数据提取、存盘数据拷贝、报警信息浏览、设置时间范围、修改数据库。
第四章 运行策略组态 用启动策略实现系统初始化 启动策略一般完成系统初始化功能,只在MCGS运行开始时自动调用执行一次。某系统在进入MCGS运行环境时,在初始状态把4台老化台工作方式设置为手动、停止状态。
第四章 运行策略组态 用循环策略中实现设备的定时运行 在MCGS运行过程中,循环策略由系统按照设定的循环周期自动循环调用,循环体内所需执行的操作和任务由用户设置。 一个系统中至少应该有一个循环策略
第四章 运行策略组态 用报警策略实现报警数据存盘 当对应的数据对象的某种报警状态产生时,报警策略被系统自动调用一次。 “报警产生时执行一次”、“报警结束时执行一次”、“报警应答时执行一次” 。
第四章 运行策略组态 用用户策略实现存盘数据浏览 用户策略主要是用来完成各种不同的任务,在一个工程中可以定义多个。用户策略系统不能自动运行,要由指定的策略对象进行调用。 存盘数据提取,就是把历史数据库数据按照一定的时间条件和统计方式取出来,存到另外一个数据表中。针对存盘数据提取的结果,在用户策略中采用“存盘数据浏览”构件可对提取的数据进行浏览。
第四章 运行策略组态 用退出策略实现数据对象初始值的设定 退出策略一般完成系统善后处理功能,只在MCGS退出运行前由系统自动调用执行一次。
第四章 运行策略组态 用退出策略实现数据对象初始值的设定 在某锅炉热力系统中利用退出策略实现系统运行数据的存储,以此做为下一次系统运行时该数据对象的初始值。存储的数据包括:5台锅炉蒸汽流量日累计值、5台锅炉蒸汽流量月累计值、5台锅炉蒸汽流量年累计值、总的蒸汽流量日累计值、总的蒸汽流量日累计值。
第四章 运行策略组态 事件策略 当对应表达式的某种事件状态产生时,事件策略被系统自动调用一次。 表达式的值正跳变(0to1)、表达式的值负跳变(1to0)、表达式的值正负跳变(0to1to0)、表达式的值负正跳变(1to0to1)
第四章 运行策略组态 热键策略 当用户按下对应的热键时执行一次。 直接按压键盘上的键来添加
第四章 运行策略组态 内部函数 MCGS组态软件为用户提供了一些常用的数学函数和对MCGS内部对象操作的函数。组态时可在表达式中或用户脚本程序中直接使用这些函数。 系统内部函数的名称一律以“!”符号开头。MCGS共提供了11种不同的系统函数,这些系统函数是:运行环境操作函数、数据对象操作函数、用户登录操作函数、字符串操作函数、定时器操作函数、系统操作函数、数学函数、文件操作函数、ODBC数据库函数、配方操作函数和时间函数。
第四章 运行策略组态 数学函数 要求在某系统中利用脚本程序根据系统的阻尼比计算系统的最大超调量,超调量的计算公式为 ,超调量用百分比形式来表示。 脚本程序如下: Mp=!Str(!exp(0-zita *3.14/!sqr(1-zita^2))*100 )+"%" 其中Mp为字符型变量,代表最大超调量,zita为数值型变量代表阻尼比。