您现在的位置是:首页 > 工控

DCS及PLC控制系统中PID的运算及应用

2020-01-26 11:00:33

现在国内外一些著名的品牌厂家几乎论断的整个工业自动化控制领域,如:国外的有艾默生、西门子;国内的有:浙大中控、和利时等,那么在这些控制系统中最常规的PID控制是怎么实现的,他们又是怎么进行编程组态得到的PLD运算的,本文就常规的PID及起模块进行总结以及应用做个简单的介绍:

  一、DCS及PLC控制系统中PID的运算

  1 指令解说

  l 上式T为梯形图时间继电器周期输出,在此引为采样及调节周期。

  l S1为设定的目标值,又称给定值

  l S2为实际测定值。

  l S3为PID控制参数的起始参数单元,控制参数占用S3后续的25个D数据寄存器。具体说明如下:

  S3+0: TS 采样时间 设定为K1(1T)

  S3+1: ACT.运算方向 一般设为 H0001;

  设为H0000时为反PID运算。

  S3+2: L 滤波系数 0-99% 0% 无滤波。 参考设定为K50

  0000-99.00

  S3+3: KP 比例増益 0-32767% 参考设定为K2000。

  0000-327.67

  S3+4: TI 积分时间 0-32767(•1T) 参考设定为K500。

  S3+5: KD 微分増益 0-32767% 一般设定为K0。

  0000-327.67

  S3+6: TD 微分参数 0-32767(•1T) 设定为K0,无微分

  S3+7: 偏差,浮点数表示,占两个字节:S7+7,S7+8。

  E(K)=SV-PV (ACT.0=1)

  E(K)=PV-SV (ACT.0=0)

  S3+8:

  S3+9: 偏差的一阶导数,浮点数表示。S3+9,S3+10

  E(K)'=E(K)-E(K-1)

  S3+10:

  S3+11: 偏差的二阶导数,浮点数表示。S3+11,S3+12

  E(K)''=E(K)'-E(K-1)'

  S3+12:

  S3+13: 本次滤波后的实测值,浮点数表示。S3+13,S3+14。

  PVF(K)=PV(K)+L• [PVF(K-1)-PV(K)]

  S3+14:

  S3+15: PID的微分调整项,浮点数表示。S3+15,S3+16。

  PID_D(K)=[TD•E(K)''+KD•TD•PID_D(K-1)]/(TS+KD•TD)

  S3+16:

  S3+17: PID的本次调整输出,浮点数表示。S3+17,S3+18

  DMV(K)=DMV(K-1)小数部分+KP[E(K)'+TS•E(K)/TI+PID_D(K)]

  S3+18:

  S3+19: PID控制的输出值,取值范围:0-32767。

  MV(K)=MV(K-1)+INT(DMV)

  S3+20: SH 上限报警 设定为K20000

  S3+21: SL 下限报警 设定为K20

  S3+22: OH 上限幅值 设定为K10000

  S3+23: OL 下限幅值 设定为K20

  S3+24: ALM.0 SH上限报警时ON

  ALM.1 SL下限报警时ON

  ALM.2 OH上限输出时ON

  ALM.3 OL下限输出时ON