NO.1第四章运行策略组态NO.2第四章运行策略组态运行策略是指对监控系统运行流程进行控制的方法和条件,它能够对系统执行某项操作和实现某种功能进行有条件的约束。运行策略由多个复杂的功能模块组成,称为“策略块”,用来完成对系统运行流程的自由控制,使系统能按照设定的顺序和条件操作实时数据库,控制用户窗口的打开、关闭以及控制设备构件的工作状态等,从而实现对系统工作过程的精确控制及有序的调度管理。运行策略NO.3第四章运行策略组态在脚本程序编辑环境,可以灵活地实现控制流程和各种操作。脚本程序脚本程序语句编辑功能窗口、策略、设备、变量、等的各种方法、属性以及各类系统函数语句和表达式类型NO.4第四章运行策略组态脚本程序的编程语法非常类似于普通的Basic语言,对于大多数简单的应用系统,MCGS的脚本程序通常只用来进行生产流程的控制和监测,而对比较复杂的系统,脚本程序可以利用相对复杂的控制算法来实现系统的实时控制。脚本程序正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。NO.5第四章运行策略组态“数据对象=表达式”赋值语句即把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据、字符型数据以及能进行写操作的内部数据对象。而组对象、事件型数据、只读的内部数据对象、系统内部函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。NO.6第四章运行策略组态条件语句有如下三种形式:①If〖表达式〗Then〖赋值语句或退出语句〗②If〖表达式〗Then〖语句〗EndIf③If〖表达式〗Then〖语句〗Else〖语句〗EndIf条件语句条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。NO.7第四章运行策略组态退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。退出语句NO.8第四章运行策略组态在脚本程序中以单引号“’”开头的语句称为注释语句,实际运行时,系统不对注释语句作任何处理。注释语句NO.9第四章运行策略组态PID算法PID算法是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好及可靠性高被广泛地应用于过程控制和运动控制中。尤其是随着计算机技术的发展,数字PID控制被广泛地加以应用,不同的PID控制算法其控制效果也各有不同。利用MCGS的脚本程序可以灵活地进行控制算法的编程,通过脚本程序的策略组态来实现各种控制算法,下面就以几种典型PID算法为例,对MCGS脚本程序实现控制算法的方法加以介绍。NO.10第四章运行策略组态增量式标准PID控制算法当执行机构需要的控制量是以增量的形式逐次叠加时,对应的PID控制算法称为增量式标准PID控制算法。开始数据初始化采集系统输出计算系统偏差e(k)KP=kp×[e(k)-e(k-1)]KI=ki×e(k)KD=kd×[e(k)-2e(k-1)+e(k-2)]Du(k)=KP+KI+KDu(k)=u(k-1)+Du(k)u(k-1)=u(k)u(k)=umax?u(k)=umin?u(k)=umaxu(k)=uminYYNN返回NO.11第四章运行策略组态增量式标准PID控制算法对应的脚本程序如下:偏差2=偏差1'上上次偏差偏差1=偏差'上次偏差偏差=设定值-测量值'本次偏差比例=比例系数*(偏差-偏差1)'比例作用if积分时间=0then'积分作用积分=0else积分=比例系数*采样周期*偏差/积分时间endif微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期'微分作用增量=比例+积分+微分'增量输出位置=前次位置+增量'位置输出if位置=位置最大值then位置=位置最大值'超出位置最大值,位置=位置最大值if位置=位置最小值then位置=位置最小值'超出位置最小值,位置=位置最小值前次位置=位置'为下循环准备NO.12第四章运行策略组态带死区的PID控制(SPID)算法在控制系统中为了避免控制动作过于频繁,设置一个可调的参数e0,当系统偏差时,控制量的增量,即此时控制系统维持原来的控制量;当系统偏差时,控制量的增量依据增量式标准PID算法给出。0)(eke0)(ku0)(eke)(ku开始数据初始化采集系统输出计算系统偏差e(k)|e(k)|=e0?u(k)=0KI=ki×e(k)KD=kd×[e(k)-2e(k-1)+e(k-2)]Du(k)=KP+KI+KDYesNoKP=kp×[e(k)-e(k-1)]u(k)=umax?u(k)=umin?u(k)=umaxu(k)=uminYYNNu(k-1)=u(k)返回u(k)=u(k-1)+Du(k)NO.13第四章运行策略组态带死区的PID控制(SPID)算法对应的脚本程序如下:偏差2=偏差1'上上次偏差偏差1=偏差'上次偏差偏差=设定值-测量值'本次偏差if偏差-0.5and偏差0.5then'偏差小于阈值增量=0'增量为零else比例=比例系数*(偏差-偏差1)'否则计算比例作用if积分时间=0then积分=0'如果积分时间=0,则无积分作用else积分=比例系数*采样周期*偏差/积分时间'否则计算积分作用endif微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期'计算微分作用增量=比例+积分+微分'增量输出endif位置=前次位置+增量'位置输出if位置=位置最大值then位置=位置最大值'超出位置最大值,位置=位置最大值if位置=位置最小值then位置=位置最小值'超出位置最小值,位置=位置最小值前次位置=位置'为下循环准备NO.14第四章运行策略组态积分分离PID控制(IPID)算法积分分离PID算法是人为地设定一个阈值,当系统偏差时,即系统的偏差较大时,只采用PD控制,这样可以避免较大的超调,又使系统有较好的快速性;当时,即系统的偏差较小时,加入积分作用,采用PID控制,可保证系统有较高的精度。)(ke)(ke开始数据初始化采集系统输出计算系统偏差e(k)KI=0KD=kd×[e(k)-2e(k-1)+e(k-2)]Du(k)=KP+KI+KDu(k)=u(k-1)+Du(k)|e(k)|?KI=ki×e(k)YesNoKP=kp×[e(k)-e(k-1)]u(k-1)=u(k)u(k)=umax?u(k)=umin?u(k)=umaxu(k)=uminYYNN返回NO.15第四章运行策略组态积分分离PID控制(IPID)算法偏差2=偏差1'上上次偏差偏差1=偏差'上次偏差偏差=设定值-测量值'本次偏差比例=比例系数*(偏差-偏差1)'比例作用if积分时间=0or偏差1or偏差-1then'如果积分时间=0或偏差太大积分=0'无积分作用else积分=比例系数*采样周期*偏差/积分时间'否则计算积分作用endif微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期'微分作用增量=比例+积分+微分'增量输出位置=前次位置+增量'位置输出if位置=位置最大值then位置=位置最大值'超出位置最大值,位置=位置最大值if位置=位置最小值then位置=位置最小值'超出位置最小值,位置=位置最小值前次位置=位置'为下循环准备NO.16第四章运行策略组态不完全微分PID控制(DPID)算法不完全微分PID控制算法时为了避免误差扰动突变时微分作用的不足。其方法是在PID算法中加入一个一阶惯性环节(低通滤波器),即构成不完全微分PID控制算法,在此基础上进行离散化后可得出其递推公式。sTsGff11)(开始数据初始化采集系统输出计算系统偏差e(k)KD=0KD(k)=kd×(1-a)[e(k)-e(k-1)]+aKD(k-1)Du(k)=KP+KI+KD(k)u(k)=u(k-1)+Du(k)微分时间=0?KI=ki×e(k)YesNou(k-1)=u(k)u(k)=umax?u(k)=umin?u(k)=umaxu(k)=uminYYNN返回KP=kp×[e(k)-e(k-1)]NO.17第四章运行策略组态偏差2=偏差1'上上次偏差偏差1=偏差'上次偏差偏差=设定值-测量值'本次偏差比例=比例系数*(偏差-偏差1)'比例作用if积分时间=0then'如果积分时间=0无积分作用积分=0else积分=比例系数*采样周期*偏差/积分时间'否则计算积分作用endifif微分时间=0then'如果微分时间=0无微分作用微分=0else不全微分2=不全微分1不全微分1=不全微分微分增益=比例系数*微分时间/采样周期不全微分系数=微分时间/(微分增益+微分时间)不全微分=不全微分系数*不全微分1+比例系数*(偏差-偏差1)/(采样周期+微分时间/微分增益)微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/(采样周期+微分时间/微分增益)+比例系数*不全微分系数*(不全微分1-不全微分2)'否则计算微分作用endif增量=比例+积分+微分'增量输出位置=前次位置+增量'位置输出if位置=位置最大值then位置=位置最大值'超出位置最大值,位置=位置最大值if位置=位置最小值then位置=位置最小值'超出位置最小值,位置=位置最小值前次位置=位置'为下循环准备不完全微分PID控制(DPID)算法NO.18第四章运行策略组态用脚本语言实现顺序控制顺序控制是指根据生产企业的实际生产工艺要求,按照时间的顺序,通过预先编制的程序在现场对各种生产设备进行控制。NO.19第四章运行策略组态锅炉系统控制顺序控制规则为:当温度小于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时,运行状态为“正常”。NO.20第四章运行策略组态锅炉系统控制脚本程序如下:IF温度65THEN供气阀=100IF温度75THEN供气阀=5IF温度60THEN运行状态=报警IF温度80THEN运行状态=报警IF压力0.11THEN放气阀=1IF压力0.11THEN放气阀=0IF压力0.12THEN运行状态=报警IF液位0.8THEN给水阀=100IF液位1.0THEN给水阀=5IF液位0.5THEN运行状态=报警IF液位1.2THEN运行状态=报警IF温度60AND温度80AND压力0.12AND液位1.2AND液位0.5THEN运行状态=正常NO.21第四章运行策略组态运行策略“运行策略”,是用户为实现系统流程的自由控制,组态生成的一系列功能块的总称。在考虑一个工程中相关的控制策略时,尤其对于特别复杂的应用工程,只须定制若干能完成特定功能的构件,将其增加到MCGS系统中,就可使已有的监控系统增添各种灵活的控制功能,而无须对整个系统作修改。NO.22第四章运行策略组态运行策略的分类策略类型共有7种,即启动策略、退出策略、循环策略、用户策略、报警策略、事件策略、热键策略。其中“启动策略”和“退出策略”用户在建立工程时会自动产生,用户可根据需要对其进行组态,而不能通过新建策略来建立。完成系统的流程控制和控制算法完成用户自定义的各种功能或任务数据的报警存盘事件的响应热键的响应系统允许用户创建或定义最多512个用户策略。NO.23第四章运行