运行策略组态
NO.5
条件语句
第四章 运行策略组态
条件语句有如下三种形式: ①If 〖表达式〗 Then 〖赋值语句或退出语句〗 ②If 〖表达式〗 Then 〖语句〗 EndIf ③If 〖表达式〗Then 〖语句〗 Else 〖语句〗 EndIf
条件语句允许多级嵌套,即条件语句中可以包含新的条件 语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制 多分支流程的控制程序提供了可能。
NO.9
增量式标准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)]
NO.17
用脚本语言实现顺序控制
第四章 运行策略组态
顺序控制是指根据生产企业的实际生产工艺要求,按 照时间的顺序,通过预先编制的程序在现场对各种生产设 备进行控制。
NO.18
锅炉系统控制
第四章 运行策略组态
顺序控制规则为: 当温度小于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.13
积分分离 PID控制(IPID)算法
开始 数据初始化
第四章 运行策略组态
采集系统输出 计算系统偏差 e(k)
积 分 分 离 PID 算 法 是 人为地设定一个阈值 , 当系统偏差 e(k ) 时,即系 统的偏差较大时,只采用 PD控制,这样可以避免较 大的超调,又使系统有较 好的快速性;当e(k ) 时, 即系统的偏差较小时,加 入积分作用,采用 PID 控 制,可保证系统有较高的 精度。
KP=kp× [e(k)-e(k-1)]
|e(k)|>? Yes KI=0 No KI=ki× e(k)
KD=kd× [e(k)-2e(k-1)+e(k-2)]
Du(k)=KP+KI+KD u(k)=u(k-1)+Du(k) Y
u(k)>=umax? N u(k)<=umin? N u(k-1)=u(k)
u(k)=umax
Y
u(k)=umin
返回
NO.16
不完全微分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 位置=位置最小值 '超出位置最小值,位置=位置最小值 前次位置=位置 '为下循环准备
NO.15
不完全微分PID控制(DPID)算法
开始 数据初始化
第四章 运行策略组态
采集系统输出 计算系统偏差 e(k)
不 完 全 微 分 PID 控 制 算法时为了避免误差扰动 突变时微分作用的不足。 其方法是在 PID 算法中加 入一个一阶惯性环节(低 1 G ( s ) 通滤波器) 1 T s ,即 构成不完全微分 PID 控制 算法,在此基础上进行离 散化后可得出其递推公式 。
f f
KP=kp× [e(k)-e(k-1)]
微分时间=0? Yes KD=0 No KD(k)=kd× (1-a)[e(k)-e(k-1)]+aKD(k-1)
KI=ki× e(k)
Du(k)=KP+KI+KD(k) u(k)=u(k-1)+Du(k) Y
u(k)>=umax? N u(k)<=umin? N u(k-1)=u(k)
'上上次偏差 '上次偏差 '本次偏差 '比例作用 '积分作用
积分=比例系数*采样周期 *偏差/积分时间 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期 '微分作用 增量=比例+积分+微分 '增量输出 位置=前次位置+增量 '位置输出 if 位置>=位置最大值then 位置=位置最大值 '超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值 '超出位置最小值,位置=位置最小值 前次位置=位置 '为下循环准备
u(k)=umax
Y
u(k)=umin
返回
NO.12
带死区的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 位置=位置最小值 '超出位置最小值,位置=位置最小值 前次位置=位置 '为下循环准备
NO.11
带死区的PID控制(SPID)算法
开始 数据初始化
第四章 运行策略组态
采集系统输出 计算系统偏差 e(k)
在控制系统中为了避 免控制动作过于频繁,设 置一个可调的参数 e0 ,当 系统偏差 e(k ) e 时,控制 量的增量 u(k ) 0,即此时控 制系统维持原来的控制量 ;当系统偏差e(k ) e 时,控 制量的增量 u(k )依据增量式 标准PID算法给出。
Du(k)=KP+KI+KD u(k)=u(k-1)+Du(k) Y
u(k)>=umax? N u(k)<=umin? N u(k-1)=u(k)
u(k)=umax
Y
u(k)=umin
返回
NO.10
增量式标准PID控制算法
第四章 运行策略组态
对应的脚本程序如下: 偏差2=偏差1 偏差1=偏差 偏差=设定值-测量值 比例=比例系数*(偏差-偏差1) if 积分时间=0 then 积分=0 else endif
u(k)=umax
Y
u(k)=umin
返回
NO.14
积分分离 PID控制(IPID)算法
第四章 运行策略组态
偏差2=偏差1 '上上次偏差 偏差1=偏差 '上次偏差 偏差=设定值-测量值 '本次偏差 比例=比例系数*(偏差-偏差1) '比例作用 if 积分时间=0 or 偏差>1 or 偏差<-1 then '如果积分时间=0或偏差太大 积分=0 '无积分作用 else 积分=比例系数*采样周期*偏差/积分时间 '否则计算积分作用 endif 微分=比例系数*微分时间*(偏差-2*偏差1+偏差2)/采样周期 '微分作用 增量=比例+积分+微分 '增量输出 位置=前次位置+增量 '位置输出 if 位置>=位置最大值then 位置=位置最大值 '超出位置最大值,位置=位置最大值 if 位置<=位置最小值then 位置=位置最小值 '超出位置最小值,位置=位置最小值 前次位置=位置 '为下循环准备
NO.2
脚本程序
第四章 运行策略组态
在脚本程序编辑环境,可以灵活地实现控制流程和各种操作。
脚本程 序语句
窗口、策略、 设备、变量、 等的各种方法、 属性以及各类 系统函数
编辑 功能