在自动化控制领域,PID调节器几乎是绕不开的核心环节。然而,很多工程师在实际项目中都会遇到同一个难题:比例、积分、微分这三个参数到底该怎么调?手动试凑不仅耗时费力,效果还往往差强人意。有没有一种方法,能让控制器自己找到最优参数?
西门子PID_Compact指令提供的参数自整定功能,正是为了解决这一痛点而设计的。它通过预调节和精确调节两个阶段,自动分析系统响应,计算出最适合当前被控对象的PID参数。本文以具体的PLC例程为蓝本,完整解读PID参数自整定的实验过程,包括如何操作、可能遇到的问题以及最终的优化效果对比。
PID参数预调节
PID_Compact具有参数自整定(或称为优化调节)的功能。优化调节分为预调节和精确调节两个阶段,二者配合可以得到最佳的PID参数。
首先进行预调节,PID控制器输出一个阶跃信号,确定对输出值跳变的过程响应,并搜索拐点,根据受控系统的最大上升速率与死区时间计算PID参数。预调节要求下列条件。
1)PID控制器处于“未激活”“手动模式”“自动模式”这3种状态之一。
2)PID_Compact指令的输入参数ManualEnable(手动使能)和Reset(复位)均为0。
3)设定值和过程值均在组态的极限值范围内。
4)设定值和过程值的差值的绝对值应大于过程值上、下限之差的30%,还应大于设定值的50%。
预调节或精确调节成功后,控制器将切换到自动模式。
PID参数精确调节
经过预调节后,如果得到的自整定的参数效果不太理想,需要进行精确调节。精确调节使过程值出现幅值恒定有限的振荡,根据振荡的幅度和频率确定PID参数。精确调节通常比预调节得出的PID参数具有更好的主控和扰动特性。可以在执行预调节和精确调节后获得最佳PID参数。PID_Compact将自动尝试生成大于过程值噪声的振荡。过程值的稳定性对精确调节的影响非常小。
精确调节要求的前3个条件与预调节的相同。此外,还要求启动时过程变量处于稳定状态,没有干扰的影响。
项目简介
配套资源中的例程“1200PID参数自整定”与例程“1200PID闭环控制”的程序结构相同。它们的循环中断组织块OB30中的程序完全相同,PID_Compact指令和作者编写的模拟被控对象的函数块“被控对象”组成了PID闭环控制系统。
在组态时设置CPU重启后PID控制器为自动模式,在OB1中用I0.0使MD12中的设定值在0.0%和70.0%之间切换(见图1)。可以用配套资源中的例程“1500PID参数自整定”做仿真实验。
图1 OB1中的程序
预调节可能遇到的问题与解决的方法
用I0.0产生70.0%的阶跃设定值之后,如果没有及时启动预调节,“状态”文本框可能会出现错误信息“过程值过于接近设定值”。为了解决这个问题,应在产生70.0%的阶跃设定值后,立即启动预调节。预调节过程中可能出现错误信息“Input值超出已定义的过程值范围”,这个错误与阶跃响应的超调量过大有关。可手动调节比例增益和积分作用时间,减小阶跃响应的超调量后再做参数自整定,也可以适当增大设置的过程值上限。
预调节实验
预调节之前的比例增益为0.45,积分作用时间为1.4s,控制器结构为PID,过程值上限设置为150%。将用户程序和组态数据下载到硬件PLC或仿真PLC,令PLC进入RUN模式。在PID调试窗口设置“采样时间”为0.3s(见图2),单击采样时间右边的“Start”按钮,启动调试窗口的监控功能,此时过程变量PV和设定值SP均为0。右上角的下拉列表的调节模式为默认的“预调节”。令I0.0变为1,使设定值从0.0%跳变到70.0%,立即单击右上角的“调节模式”区的“Start”按钮,启动预调节。图2显示屏左边是预调节期间的曲线,开始时PID输出值跳变为约60.0%的恒定值,过程变量PV按近似指数规律上升,预调节成功完成后,“状态”文本框出现“系统已调节”的信息,控制器自动切换到自动模式。PID输出值衰减振荡,过程变量快速下降后在70.0%的设定值水平线上下衰减振荡,误差很快趋近于 0。在线的组态窗口可以看到预调节得到的PID参数值。
图2 PID参数自整定的响应曲线
如果设定值和过程值的差值太小,或过程值、PID的输出值超出组态的极限值范围,预调节将会终止,调试窗口下面的“状态”文本框将会出现相应的错误信息。可以用“ErrorAck”按钮清除错误信息。
精确调节实验
经过预调节后,如果自整定得到的参数的控制效果不太理想,需要进行精确调节。开始精确调节之前,要求过程变量处于稳定状态,没有干扰的影响。设置调节模式为“精确调节”,单击“调节模式”区的“Start”按钮,启动精确调节。
经过一段时间后,红色的PID输出曲线以方波波形变换(见图2),CPU自动控制PID输出的幅值和频率,以保证过程变量曲线在设定值水平线上下一定范围内波动。PID输出曲线经过若干次正、负跳变后,精确调节结束,下面的“状态”文本框出现“系统已调节”的信息。此后自动切换到自动模式,并使用精确调节得到的PID参数,过程变量曲线PV很快与水平的设定值曲线SP重合。
上传PID参数
精确调节完成后,单击PID调试窗口下面的“上传PID参数”按钮(见图2),该按钮右边的图标变为绿色带钩的圆形,CPU中优化的PID参数被上传到TIA博途的项目中。
单击“转到PID参数”按钮,切换到组态窗口的PID参数页面,可以看到精确调节后CPU中得到的优化的PID参数(见图3)。为了观察优化后的参数的控制效果,返回PID调节窗口。令I0.0为0,过程值下降到0时,令I0.0为1,使设定值由0跳变到70%。过程变量PV的响应曲线如图4所示,超调量很小。然后令I0.0为0,使设定值由70%跳变到0。如果使用优化之前的参数,超调量为15%。图4说明优化的PID参数的控制效果是比较理想的。
修改自整定之前PID控制器的某些参数,自整定得到的优化的PID参数可能有一些差异。但是自整定后的阶跃响应曲线与图4中的基本相同。
图3 PID控制器的参数
图4 PID控制器阶跃响应曲线
本文节选自《S7-1200 PLC编程及应用 第5版》第八章第三节
畅销十余年 销量超百万册被誉为PLC入门的“圣经”级著作全新改版!
▊《S7-1200 PLC编程及应用 第5版》
廖常初
本书通过大量的例程和视频教程,深入浅出地介绍了S7-1200的硬件结构和硬件组态、编程软件和仿真软件的使用方法、指令应用、程序结构、SCL应用、多种通信网络和通信服务的组态与编程、故障诊断、精简系列面板的组态与仿真,以及PID控制器的参数整定方法和纯软件仿真,还介绍了易学易用的数字量控制系统的顺序控制编程方法。
本书根据 S7-1200 V4.6 版的硬件和 TIA 博途 V18 改写,详细介绍了S7-PLCSIM V18的使用方法,包括对各种中断事件和某些通信的仿真;增加了对网络控制系统故障诊断的仿真和用触摸屏的系统诊断视图诊断故障的仿真;还介绍了用S7-PLCSIM Advanced对OPC UA通信和Web服务器仿真的方法;增加了20个视频教程、10多个例程和3个实验指导书。
撰 稿 人:杨健亭责任编辑: 李馨馨审 核 人:曹新宇
481