PID指令的应用
-
-
xingkong
2007-11-11
一、 参数使用说明
S1:目标值(SV)
S2:测定值(PV)
S3:参数
D:输出值(MV)
32位指令名称为DPID
其16位之S3参数表如下所示:
参数代号 参 数 名 称 数 值 范 围
S3 取样时间(Ts) 1~2000(%sec)
S3+1 比例增益(KP) 0~30000(%)
S3+2 积分增益(KI) 0~30000(%)
S3+3 微分增益(KD) 0~30000(%)
S3+4 动作方向(Dir) 0~2
S3+5 偏差量(E)不作用范围 0~32767
S3+6 输出值(MV)饱和上限 -32768~32767
S3+7 输出值(MV)饱和下限 -32768~32767
S3+8 积分值饱和上限 -32768~32767
S3+9 积分值饱和下限 -32768~32767
S3+10 暂存累积之积分值 ---
S3+11 暂存前次PV值 ---
S3+12 , S3+13 系统用(暂存扫描时间) ---
16位之S3参数说明如下所示:
S3:取样时间最小设定值需大于程序扫描时间
S3+1~ S3+3:设定值超出最大值时以最大值使用
S3+4:0自动控制方向(内定值)
1正向动作(SV-PV)
2逆向动作(PV-SV)
S3+5:假设设定5,则E在-5~5之区间输出值(MV)将为0
S3+6:假设设定1000,则输出值(MV)大于1000时将以1000输出
S3+7:假设设定-1000,则输出值(MV)小于-1000时将以-1000输出
S3+6需大于等于S3+7,否则上限值与下限值将互掉
S3+8:假设设定1000,则积分值大于1000时将以1000输出且不再积分
S3+9:假设设定-1000,则积分值小于-1000时将以-1000输出且不再积分
S3+8需大于等于S3+9,否则上限值与下限值将互掉
S3+10为累积之积分值,通常只供参考用,但是使用者还是可以依需求清除或修改
S3+11为前次测定值,通常只供参考用,但是使用者还是可以依需求修改
32位之S3参数表如下所示:
参数代号 参 数 名 称 数 值 范 围
S3
至
S3+4 参数定义同16位定义 ----
S3+5 , S3+6 偏差量(E)不作用范围 0 ~ 2147483647
S3+7 , S3+8 32位输出值饱和上限 -2147483648~2147483647
S3+9 , S3+10 32位输出值饱和下限 -2147483648~2147483647
S3+11 , S3+12 32位积分值饱和上限 -2147483648~2147483647
S3+13 , S3+14 32位积分值饱和下限 -2147483648~2147483647
S3+15 , S3+16 32位累积之积分值 ---
S3+17 , S3+18 32位之前次PV值 ---
S3+19 , S3+20 系统用(暂存扫描时间) ---
32位之S3参数说明与16位之参数说明大致上相同,其不同点只在于S3+5 ~ S3+20之间参数容量由原本16位变为32位。
二、 PID指令方块图
三、 运算公式
其中在自动及正向动作时
而在逆动作时
另外 表示 的微分值,以及 表示 的积分值
由上述公式中可得知本指令与一般PID指令有所不同,其不同点乃在于微分值使用上的变化,为了避免一般PID指令于初次起动时所造成瞬间微分值过大之缺点,因此本指令采用监看测定值(PV)之微分状况,当测定值(PV)变化量过大时,则本指令之微分值也将变大。
四、 注意事项与建议
1. S3+6~ S3+13使用区只限于EP/EH以及ES(v5.7版以后)机种使用。
2. ES机种(v5.6版以前)只限使用一次指令,ES(v5.7版以后)/EP/EH无使用次数之限制。
3. 使用者于调整KP、KI及KD三个主要参数时,请先调整KP值(依经验值设定),而KI及KD值先设定为0,等到调整到大致上可控制时,再依序调整KI值(由小到大)以及KD值(由小到大),调整范例如范例四所示。其中KP值为100则表示100%,即对偏差值的增益为1,小于100%将对偏差值衰减,大于100%将对偏差值放大,S3+4必须为0,才能双向PID调节。
4. 本指令动作须配合许多参数值控制,因此请勿随意设定参数值,以免造成无法控制之现象。
五、范例
范例一:使用PID指令于一般位置或速度控制时之方块图(动作方向S3+4需设为0)
范例二:使用PID指令与变频器搭配控制时之方块图(动作方向S3+4需设为0)
范例三:使用PID指令于温度控制时之方块图(动作方向S3+4需设为1)
范例四:PID指令参数调整建议步骤说明
假设控制系统之受控体G(s)的转移函数为一阶的函数 (一般马达的模型均为此函数),命令值SV为1,取样时间Ts为10ms。建议调整步骤如下:
步骤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值由小到大(如1、2、4至8),以不超过KP值为原则;然后再调整KD由小到大(如0.01、0.05、0.1及0.2),以不超过KP的10%为原则;最后可得如下图之PV与SV的关系图。
附注:本范例仅供参考,因此使用者还需依实际控制系统之状况,再自行调整其适合之控制参数。
六、实例
实例一:利用PID指令于压力控制系统,使用范例一之方块图。
控制目的:使控制系统达成压力目标值
控制特性说明:此系统需要渐渐达成控制目的,因此过快的达成控制目的时,可能会造成系统超控或无法负荷之现象。
建议解决方法:方法一利用较大之取样时间达成
方法二利用延迟命令的功能达成,其控制方块图如下图。
命令延迟功能程序实例如下:
实例二:速度控制与压力控制系统分别独立控制,使用范例二之方块图。
控制目的:速度控制使用开路控制一段时间后,再加入压力控制系统(PID指令)作闭路控制,然后达成压力控制目的。
控制特性说明:由于此两系统的速度与压力之间,并无特定关系可找出来使用,因此本架构需先达成开路式的控制速度目的,然后再依闭路式的压力控制,以达成控制的目标。另外如怕压力控制系统之控制命令过于变化太快,则可考虑加入实例一里的命令延迟功能