程序结构见我的帖子“使用模拟的被控对象的S7-1500 PID参数闭环调试”,用我编写的FB“被控对象”模拟被控对象,其传递函数为3/[(2s+1) (3s+1)]。我分别用硬件CPU 1516-3PN/DP和仿真PLC与FB“被控对象”组成虚拟的PID闭环,都成功地实现了PID参数自整定。
我的帖子“PID参数预整定遇到的两个问题和解决方法”介绍了PID参数自整定可能遇到的问题和解决的方法。
在PID整定窗口设置采样时间为0.3s,预调节之前PID的增益为0.3,积分时间为3s,微分时间为0s。
单击采样时间右边的“Start”按钮,启动测量。用右上角的选择框设置调节模式为“预调节”。用I0.0使设定值从0跳变到70%,立即单击“调节模式”区的“Start”按钮,启动预调节。
下图左边是预调节的曲线,红色的是PID的输出值Output,PV是过程变量,SP为阶跃设定值。预调节成功地完成后,下面的状态栏出现“系统已调节”的信息。
过程变量和设定值曲线基本上重合后,将调节模式修改为“精确调节”。单击“调节模式”区的“Start”按钮,启动精确调节。经过一段时间后,红色的PID输出曲线以方波波形变换,通过自动控制PID输出的幅值和频率,保证过程变量曲线在设定值水平线上下一定范围内波动。PID输出曲线经过若干次正、负跳变后,精确调节结束,下面的状态栏出现“系统已调节”的信息。
精确调节成功完成后,单击PID调试窗口下面的“上传PID参数”按钮,将CPU中的PID参数上传到离线的项目中。单击“转到PID参数”按钮,切换到组态窗口PID参数页面,可以看到精确调节后CPU中得到的优化的PID参数。
为了观察优化后的参数的控制效果,切换到PID调节窗口。令I0.0为FALSE,过程值下降到0以后,令I0.0为TRUE,使设定值由0跳变到70%,过程变量的响应曲线如下图所示。由图可知优化的PID参数的控制效果是比较理想的。