本文以一个阀(比例阀,下同)特性为例,学习PID控制如何超越常规线性过程,有效的处理现实世界中的非线性应用。
使用PID控制器最常见的困难是PID控制适用于线性过程。然而,现实世界的应用,许多过程变量是非线性的。系统响应越是非线性,PID算法在控制方面就越难。
为帮助在非线性过程中使用PID控制,请遵循以下针对非积分过程的建议,当控制器进入手动模式时,需要这些过程本身是稳定的。
1.解决过程非线性
试图解决这种过程非线性的最常见方法之一,是建立一个阀特性来调整过程非线性。这种方法将过程线性化到PID控制器中,因此即使实际过程是非线性的,在PID中对PV的过程响应也是线性的。下图展示阀特性化流程图。
图:流程图展示非线性PID应用阀特性化案例本文。来源:ControlSoft
2.建立阀特性
要正确构建阀门特性,请查看PV百分比与CO的百分比,并将PV视为百分比,而不是工程单位。这样,当进行反向转换时,计算出的阀门需求的单位为百分比。
3.初始全范围响应
例如,从过程开始之初,CO每变化10%,都以工程单位显示出相应的PV。由于尚未配置特性,CO等于阀门需求。为该回路开发的配置文件如图1所示。
图1:在没有配置特性的情况下,阀门需求百分比(CO值按10%的幅度变化)与PV(工程单位表示)的映射。来源:ControlSoft
4.将PV转换为百分比
接下来,将以工程单位表示的PV转换为以百分比表示的PV。在本例中,PV最大值为300,PV最小值为0,因此从工程单位(EU)转换为百分比(%)的比例为(100-0)/(300-0)=1/3。因此,100EU=100/3=33.3%,150EU=150/3=50%,以此类推。现在将这个简单的阀门需求表转换为PV(百分比),如图2所示。
图2:将以工程单位表示的PV转换为以百分比表示的PV,并绘制图表。来源:ControlSoft
5.通过创建阀门特性曲线使PID响应线性化
接下来,设置CO=PV以线性化 PID 控制器响应。这样就可以提供阀门需求百分比与PID CO百分比的关系图。然后,通过翻转X轴和Y轴,创建图2的反向或反向轮廓线性化(图3所示)。
图3:设置CO=PV以使PID控制器响应线性化。来源:ControlSoft
对比图2和图3,注意他们是反向的(以y=x函数对称),图4将它们放在1张图中,从图中可以更清晰的看到它们是反向的。
图4:这里可以看到,将图2和图3相互反向。来源:ControlSoft
在图4中,灰色线是线性的。利用CO%与阀门需求%的橙色曲线,创建一个PV响应,将PV信号线性化为CO,因此对于每个所需的CO输出,PV显示相同的输出百分比。
考虑将CO%映射到阀门需求%的曲线。在阀门需求20%到50%的范围内,有很多数据,但超出这个范围时,线性化会更稀疏。
现在,使用线性插值向曲线添加新点。例如,在10%CO的情况下,线性插值的阀门需求为5%。在曲线中插入一个新点,即10%的CO产生5%的阀门需求。图5之前的表在CO等于10%、60%、70%和80%时有更多的定义点。
重要的是要注意,定义阀门特性曲线的原始数据是通过测试获得的,而新插入的点则是通过线性插值方法获得的,并在曲线实施后,起到微调曲线占位符的作用。
表4中生成的阀门特性化可以用线性化块来实现,其中PID CO%是X值,阀门需求百分比是Y值。
图5:图5之前的表在CO等于10%、60%、70%和80%时有更多的定义点。表4中生成的阀特性化在图5中用线性化块实现,其中PID CO%是X值,阀门需求百分比是Y值。来源:ControlSoft
6.更新阀门特性曲线
一旦运行,由于过程随时间漂移,或者在通过线性插值而不是过程测试所定义曲线的区域内运行,曲线可能没有根据需求准确地线性化PID响应。接下来,这里有一种更新的阀门特性曲线方法,以改进PID响应的线性化。
考虑图5中的阀特性,10%PID CO对应的阀门需求为5%。预计10%的PID CO将产生10%的PV响应。然而,曲线中的这一点并非基于过程测试,因此实际测量的PV可能与10%不同。为了测试这一点,将CO需求设定为10%,假设实际PV值为17%,阀门需求为5%。更新图表以包含此最新信息。
在线性化曲线的顶部也存在同样的问题。当PID CO超过70%时,曲线的响应不如预期的那么好。将PID CO设置为80%会产生97.5%的阀门需求,预计对应的PV为80%,然而,实际PV响应为75%。
表5a显示了图5的更新。
表5a:更新阀门特性曲线。来源:ControlSoft
由于映射CO%=PV%(即线性),因此需要更改PID CO%以匹配实际测量的PV%。图6使用新添加的信息进行更新。图6为增加最新信息后更新的图表。
图6:为了映射CO%=PV%(即线性),需要更改PID CO%以匹配实际测量的PV%。图6已更新此新增信息。来源:ControlSoft
总结(译者),这里解决PID非线性过程控制的方法为对非线性器件进行校准,比如例中的阀,由于阀开度和CO浓度存在一定的非线性,为消除非线性使控制效果更可靠,需要对比例阀校准,并求得其反函数(文中的X,Y轴交换),PID计算完毕后输出给这个反函数进行计算,再经过阀,2者(反函数和阀的传递函数)相互抵消,从而消除阀的非线性,达到控制效果。基于阀控制的产品还是比较多的,比如呼吸机,气腹机的气压控制等,可以参考此方法。
原文名称:Are you applying a PID control to non-linear processes correctly?
原文作者:MATT PETRAS AND ALIREZA HAJI-VALIZADEH