a.必须用 SM0.0来使能PIDx_CTRL子程序,SM0.0后不能串联任何其他条件,也不能有越过它的跳转;如果在子程序中调用PIDx_CTRL子程序,则调用它的子程序也必须仅使用SM0.0调用,以保证它的正常运行。
b.此处输入过程值(反馈)的模拟量输入地址。
c.此处输入设定值变量地址(VDxx),或者直接输入设定值常数,根据向导中设定的0.0~100.0,此处应输入一个0.0~100.0的实数,例:若输入20,即为过程值的20%,假设过程值AIW0是量程为0~200℃的温度值,则此处的设定值20代表40℃(即 200℃的20%);如果在向导中设定给定范围为0.0~100.0,则此处的20相当于20℃.
d.此处用I0.0 控制 PID的手/自动方式,当I0.0为1时,为自动,经过PID运算从AQW0输出:当I0.0为0时,PID将停止计算,AQW0输出为Manual Output(VD4)中的设定值,此时不要编程或直接给AQW0赋值。若在向导中没有选择PID手动功能,则此项不会出现。
e.定义 PID 手动状态下的输出,从AQW0输出一个满值范围内对应此值的输出量。此处可输入手动设定值的变量地址(VDxx),或直接输入数。数值范围为0.0~1.0的一个实数,代表输出范围的百分比。例:如输入0.5,则设定为输出的50%。若在向导中没有选择PID手动功能,则此项不会出现。
f.此处键入控制量的输出地址。
g.当高报警条件满足时,相应的输出置位为1,若在向导中没有使能高报警功能,则此项将不会出现。
h.当低报警条件满足时,相应的输出置位为1,若在向导中没有使能低报警功能,则此项将不会出现。
i.当模块出错时,相应的输出置位为1,若在向导中没有使能模块错误报警功能,则此项将不会出现。
5.5.2 PID向导应用案例-恒压控制
(1)控制要求
本例与5.4.4案例的控制要求、硬件图纸和硬件组态完全一致,将程序换由PID向导来编写。
(2)程序设计
①PID向导生成:本例的PID向导编程请参考5.5.1PID向导编程步骤,其中第4步设置回路参数增益改成3.0,第7步设置回路报警全不勾选,第8步定义向导所生成的PID初使化子程序和中断程序名及手/自动模式中手动控制不勾选,第9步指定编程PID运算数据存储区VB44,其余与5.5.1PID向导编程步骤所给图片一致,故这里不再赘述。
②程序结果:恒压控制程序结果,如图5-36所示。