PID 运算指令的助记符、指令代码、操作数及程序步如表 6-94 所列。
表 6-94 PID 运算指令

指令梯形图如图 6-157 所示。
图 6-157 PID 运算指令梯形图

指令说明:
① PID 指令用的算术表达式见附图,式中:KP 为比例放大系数(由 [S3]+3 设定);δ 为偏差,偏差=当前值(反馈值)-设定值(目标值);KD 为微分放大系数(由 [S3]+5 设定);TD 为微分时间常数(由 [S3]+6 设定);Tr 为积分时间常数(由 [S3]+4 设定)。
② 本指令将当前过程值 [S2] 与设定值 [S1] 之差(偏差)送到 PID 环节计算,得到当前输出控制值送到目标 [D] 中。[S3] 指定 PID 运算的参数表首地址,该参数表需占用 25 个数据寄存器,因而首元件号不可大于 D7975。本指令可多次使用,但应注意各 PID 环节占用的数据寄存器 D 不可重复。PID 指令有特定出错码,出错标志为 M8067、相应出错码存放在 D8067。
③ PID 参数表占用 [S3] 指定的首元件开始的连续 25 个数据寄存器,用保持型数据寄存器以保持所设参数。参数表中一部分必须由用户在 PID 运算前用指令写入,一部分留作内部运算用,还有一部分存放运算结果。
[S3] 采样时间(Ts)1 ms~32767 ms;
[S3]+1 动作方向(ACT):bit0 0=正动作、1=逆动作;bit1 0=输入量报警 OFF、1=输入量报警 ON;bit2 0=输出量报警 OFF、1=输出量报警 ON;bit3 保留;bit4 0=自动调谐 OFF、1=自动调谐 ON;bit5 0=输出值上、下限设定 OFF、1=输出值上、下限设定 ON;bit6~bit15 保留。注意不要使 bit5 和 bit2 同时处于 ON;
[S3]+2 输入滤波常数(α)0~99%,0 时没有输入滤波;
[S3]+3 比例(后续参数略)。