直接跳到内容
本页目录

PID(比例积分微分控制器)

  • 位置

sys_utils.aclib

  • 功能说明

对现场输入的过程值与设定值比较,对其增量进行PID调节控制。将控制量输出给现场设备以达到调节目的,同时对输出值进行限幅操作,以保证输出在上下限范围波动,如果超出限值,将产生报警。

img

  • 参数说明
输入参数数据类型描述掉电保持常量
ACTUAL_VALUEREAL当前值,过程值×
SET_VALUEREAL设定值,期望值×
KPREAL比例增益×
TIREAL积分时间(秒),TI>=0,如果TI=0,表示没有积分环节×
TDREAL微分时间(秒),TD>=0,如果TD=0,表示没有微分环节×
MANUALBOOLTRUE:手动操作模式;FALSE:自动操作模式×
Y_MANUALREAL手动输出值,若MANUAL=TRUE,则Y:=Y_MANUAL×
Y_OFFSETREAL前馈控制量×
Y_MAXREAL输出值上限×
Y_MINREAL输出值下限×
UPPER_DEADBANDREAL偏差死区上限,UPPER_DEADBAND>=0×
LOWER_DEADBANDREAL偏差死区下限,LOWER_DEADBAND>=0×
RESETBOOL初始化PID,且Y :=Y_OFFSET××
输入参数数据类型描述掉电保持常量
YREAL控制量输出×
LIMITS_ACTIVEBOOLTRUE:控制量输出超出输出值限制(Y_MIN,Y_MAX)××
  • 详细说明
    • MANUAL:用来开关手动操作
    • RESET:用于初始化PID
    • Y_MIN 和Y_MAX用于规定输出范围。
    • 计算
      • 手动模式:输出值Y等于手动输入值Y_MANUAL
      • 自动模式:在正常操作(MANUAL = RESET = LIMITS_ACTIVE = FALSE)下,再根据设定值SET_VALUE、过程值ACTUAL_VALUE及死区范围UPPER_DEADBAND、LOWER_DEADBAND计算偏差,再根据输出值Y、输出值上下限Y_MAX、Y_MIN及偏差计算积分饱和系数,然后根据比例增益KP、积分时间TI、微分时间TD和积分饱和系数计算控制输出的比例分量、积分分量、微分分量以及控制输出值Y。公式如下:

img

​ PID的逻辑结构如下图所示:

img

imgPID控制器自身测量两次调用之间花费的时间的最大的精度是毫秒,周期较短时,运行控制可能不够精细,某些场景建议采用PID_FIXCYCLE。
  • 示例:通过PID控制,将当前位置控制在20附近
    • CFC示例
    • img
    • ST示例
      • img
    • LD示例
      • img
    • IL示例

img

PID_FIXCYCLE(比例积分微分控制器)

  • 位置

sys_utils.aclib

  • 功能说明

对现场输入的过程值与设定值比较,对其进行PID调节控制。将调节的指令输出给现场设备从而达到及时响应的调节任务,同时对输出值进行限幅操作,以保证输出在许可的范围内操作,并对超限数值及时报警。

img

这个功能块类似于PID,只是处理时间不是自动进行测量的而是通过输入 CYCLE (秒) 指定的。

注:例如用户组态了一个0.25ms的任务周期,该功能块所在的任务执行时间小于0.25ms,则设定CYCLE=0.00025,则可以实现0.25ms的执行周期控制精度

PID(比例积分微分控制器)已经加载完毕