1、台达 PID 指令的介绍 一.指令说明:PID S1 S2 S3 DS1:目标值(SV)S2:测定值(PV)S3:参数D:输出值(MV)16 位指令名称为 PID32 位指令名称为 DPID其 16 位之 S3 参数表如下所示:其 32 位之 S3 参数表如下所示:二.PID 指令运算公式:本指令是以速度及测定值微分型态为依据来执行 PID 的运算。PID 的运算分成自动,正向动作及逆向动作 3 种,而正逆向动作由 S3 +4 的内容来指定。此外,与 PID 运算有相关的设定值也是由 S3 S3 +5 所指定的寄存器来设定。PID 的基本表达式:其中 PV(t)S 表示 PV(t)的微分值,以
2、及 E(t)1/S 表示 E(t)的积分值,当动作方向选择正向或逆向动作时,当 E(t)值小于等于 0,则被视为 0。符号说明: MV :输出值Kp : 比例增益E(t) : 偏差量。PV :现在值SV : 目标值Kd : 微分增益PV(t)S :PV(t)的微分值Ki : 积分增益E(t)1/S:E(t)的积分三.控制方块图:注意事项和建议:1.使用者于调整 KP、KI 及 KD 三个主要参数时,请先调整 KP 值(依经验值设定),而 KI 及 KD 值先设定为 0,等到调整到大致上可控制时,再依序调整 KI 值( 由小到大)以及 KD 值( 由小到大),调整范例如范例四所示。其中 KP 值
3、为100 则表示 100%,即对偏差值的增益为 1,小于 100%将对偏差值衰减,大于 100%将对偏差值放大。2.本指令动作须配合许多参数值控制,因此请勿随意设定参数值,以免造成无法控制之现象。范例一:使用 PID 指令于位置控制时之方块图(动作方向 S3+4 需设为 0)范例二:使用 PID 指令于速度控制时之方块图(动作方向 S3+4 需设为 0)范例三:使用 PID 指令于温度控制时之方块图(动作方向 S3+4 需设为 1)四.PID 指令调整步骤说明:假设控制系统之受控体 G(s) 的转移函数为一阶的函数 (一般马达的模型均为此函数),命令值 SV 为 1,取样时间Ts 为 10ms
4、。建议调整步骤如下:步骤 1:首先将 KI 及 KD 值设为 0,接着先后分别设定 KP 为 5、10、20 及 40,并分别记录其 SV 及 PV 状态,其结果如下图所示。步骤 2:观察上图后得知 KP 为 40 时,其反应会有过冲现象,因此不选用;而 KP 为 20 时,其 PV 反应曲线接近SV 值且不会有过冲现象,但是由于启动过快,因此输出值 MV 瞬间值会很大,所以考虑暂不选用;接着 KP 为 10 时,其 PV 反应曲线接近 SV 值并且是比较平滑接近,因此考虑使用此值;最后 KP 为 5 时,其反应过慢,因此也暂不考虑使用。步骤 3:选定 KP 为 10 后,先调整 KI 值由小
5、到大(如 1、2、4 至 8),以不超过 KP 值为原则;然后再调整 KD 由小到大(如 0.01、0.05、0.1 及 0.2),以不超过 KP 的 10%为原则;最后可得如下图之 PV 与 SV 的关系图附注:本范例仅供参考,因此使用者还需依实际控制系统之状况,自行调整其适合控制参数五.应用实例:实例一:利用 PID 指令于压力控制系统,使用范例一之方块图。控制目的:使控制系统达成压力目标值控制特性说明:此系统需要渐渐达成控制目的,因此过快的达成控制目的时,可能会造成系统超控或无法负荷之现象。建议解决方法:方法一:利用较大之取样时间达成方法二:利用延迟命令的功能达成,其控制方块图如下图:命令延迟功能梯形图程序实例如下:实例二:速度控制与压力控制系统分别独立控制,使用范例二之方块图。控制目的:速度控制使用开路控制一段时间后,再加入压力控制系统(PID 指令)作闭路控制,然后达成压力控制目的。控制特性说明:由于此两系统的速度与压力之间,并无特定关系可找出来使用,因此本架构需先达成开路式的控制速度目的,然后再依闭路式的压力控制,以达成控制的目标。另外如怕压力控制系统之控制命令过于变化太快,则可考虑加入实例一里的命令延迟功能。其控制方块图如下图所示。部分程序实例如下: