PID的三个方面

尽管比例-积分-微分(PID)控制器在过程控制领域占主导地位,但它们也有其局限性。PID循环可能很难正确配置,它们的行为不容易理解,并且当它们不能产生所需的闭环性能时,它们可能很难进行故障排除。

通过万斯·凡多伦,体育博士 二七年三月一日

尽管比例-积分-微分(PID)控制器在过程控制领域占主导地位,但它们也有其局限性。PID循环可能很难正确配置,它们的行为不容易理解,并且当它们不能产生所需的闭环性能时,它们可能很难进行故障排除。部分原因是PID控制的三个要素差别很大,不能很好地自然相互作用。尽管如此,当三者能够协同工作时,这三者对于成功的控制都是必要的。

幸运的是,60年的实践经验教会了我们很多关于PID的个体特征。工程师和技术人员可以学习“比例”、“积分”和“导数”动作的属性,以及它们是如何相互作用的。有了这些知识,他们可以根据需要调整每一个,以解决有问题的控制情况。

最早的控制器只是比例控制,但用户很快就发现了一个主要缺陷。比例控制器在试图消除过程变量和设定值之间的误差时往往过早退出。这稳态抵消见第36页的图表。比例控制器满足于小而非零的误差,使过程变量的值略低于设定值。这个问题源于增益为的比例控制器P计算控制努力,这是通过将误差乘以一个因子P.较大的增益会产生较大的控制努力,从而使过程变量更接近设定值。这减少了两者之间的误差,从而减少了控制工作量。最终,工作量太小,无法进一步推动进程。任何增益值都不可能大到足以产生足以完全消除误差的控制努力。

添加积分作用

操作人员发现,他们可以通过手动增加控制偏差来克服比例作用减弱所导致的“下垂”——足以将过程变量提高到设定值。这个练习后来被称为重置循环。

自动复位是为了在没有操作员干预的情况下完成该功能。它会自动增加控制努力的比例运行总量或积分过去的错误。这迫使控制努力和过程变量继续向上,只要错误仍然为正,或向下,只要错误仍然为负。今天,自动复位被称为积分作用,尽管在PID控制器中决定积分作用强度的增益有时仍被称为复位率

高重置率会导致控制器在过程变量和设定值不同的情况下产生积极的控制努力。但是,与比例作用不同的是,只要误差不为零,积分作用就会继续增长。所以如果比例作用开始产生一个稳态偏移,积分作用就会越来越积极地消除它。事实上,积分作用是如此持久,以至于只有当误差和稳态偏移都被完全消除时,它才会放弃。

过程和高级控制
在这个简单的通用控制循环示例中,增益为2的纯比例控制器驱动稳态增益为3的进程。也就是说,控制器将误差放大2倍以产生控制努力,而过程将控制努力乘以3倍(并添加一些瞬态振荡)以产生过程变量。如果设定值为70%,在瞬态消失后,过程变量将以60%结束。错误仍然是非零,但控制器停止尝试进一步减少它。

不幸的是,积分作用也有它自己的问题。如果过程恰巧特别缓慢,即使控制器采用积极的积分操作,也可能需要一段时间才能使错误消失。但如果操作员将重置率设置得过高,控制器将变得过于雄心勃勃,以至于它会过度补偿每一个正错误,并在负方向上产生更大的错误(反之亦然)。过程变量中随之而来的振荡将继续增长,直到控制工作开始在0%和100%之间来回循环。

狩猎闭环不稳定如果该过程对控制工作特别敏感,或者该过程包括其自身的整体作用(例如当液体积聚在罐中时),也可能发生。PID控制器的比例和导数动作也可以加剧狩猎,这取决于过程的行为。

重置终结

当流程的执行器太小而无法实现特别大的控制工作时,积分操作就会发挥作用。例如,当燃烧器不够大,不能提供足够的热量时,阀门太小,不能产生足够高的流量,或者泵达到最大速度时,就会发生这种情况。驱动器被称为饱和在某个限制值——它的最大或最小输出。

当执行器饱和阻止过程变量进一步上升时,控制器继续看到设定值和过程变量之间的正误差。控制器过去的错误运行总数继续上升,积分动作继续要求越来越积极的控制努力。然而,执行器仍然停留在其最大输出,因此过程变量不能更接近设定值。

因为执行器已经完全打开,这个重置终结不会影响控制器的即时性能。但是,如果操作人员试图通过将设定值降低到执行器能够实现的范围来解决问题,控制器将不会做出响应。

这个问题源于执行器被卡在100%的时间内,总集成误差将达到的巨大值。在很长一段时间内,无论当前的误差值是多少,这个总数都将保持非常大。积分动作将保持很高,控制器将继续推动执行器达到它的上限。

过程和高级控制
在本例中,操作人员试图将设定值增加到高于执行器能够实现的值。在观察到控制器无法驱动那么高的过程变量后,操作员将设定值返回到较低的值。请注意,直到设定值下降后,控制器才开始降低其控制努力,因为在控制器徒劳地试图达到更高的设定值期间,积分作用已经变得非常大。相反,即使错误已经变为负值,控制器也会继续调用最大的控制努力。在设定值改变后的负误差与设定值改变前的正误差一样持续存在(更准确地说,直到负误差的积分与正误差的积分达到相同的量级)时,控制效果才开始下降。
过程和高级控制
在这里,操作员重复了相同序列的设定值移动,但这一次使用的PID控制器配备了复位绕组保护。额外的逻辑添加到PID算法关闭控制器的积分器时,执行器达到其上限。过程变量仍然不能达到更高的设定值,但控制器的积分动作不会在尝试过程中“结束”。这样,当设定值降低时,控制器就可以立即作出响应。

幸运的是,如果操作员将设定值降得足够低,误差将变为负值,因此总积分误差将开始下降。尽管如此,仍需要一长串负误差来抵消控制器运行总量中累积的一长串正误差。在此之前,积分动作将保持足够大,继续迫使执行机构完全上,如第38页所示。

已经设计了几种解决方案来防止复位绕组。大多数涉及到当执行器饱和时关闭积分器,尽管通常需要额外的措施来防止控制器首先要求不可能的执行器移动。

导数的困境

PID控制器的导数作用也可能是好坏参半的。导数作用按误差变化率的比例减少控制努力,因此它可以减缓过程变量过快接近设定值的下降速度。这反过来又减少了过度捕捞和捕猎的可能性。

然而,如果衍生行为特别具有攻击性,它就会猛踩刹车,导致猎食。这种效应在对控制器的动作做出快速反应的过程中尤其明显,比如电机和机器人。

当误差在设定值变化期间突然改变时,衍生操作也往往会给控制努力增加一个戏剧性的峰值或“kick”。这迫使控制器立即采取行动,而不是等待比例或积分动作生效。与两项PI控制器相比,一个完整的三项PID控制器甚至可以预测最终将过程变量维持在新设定值所需的努力水平(这就是为什么导数作用最初被称为的天性).

虽然这样的预测能力通常是一件好事,但在需要过程变量缓慢而稳定变化的应用程序(如室温控制)中,控制工作的急剧峰值可能会带来麻烦。每次调节恒温器后都会有一阵热风,这不仅会让房间里的人感到不舒服,也会对炉子造成影响。

对于这样的应用,完全放弃导数作用或从过程变量的负数而不是直接从误差计算导数是有利的。如果设定值是常数,两个计算结果将是相同的。如果设定值只是以逐步的方式改变,那么除了开始每一步改变的那一刻外,两者仍然保持相同。过程变量的负导数将缺乏误差导数中出现的尖峰。

对于涉及噪声测量的应用,导数作用也是一个问题。如果控制器的导数增益或速率参数过高,每次噪声使控制器误以为过程变量发生了变化,就会产生很大的控制工作量。即使实际过程变量已经达到设定值,控制器也可能最终产生一个较大的导数动作。幸运的是,在计算过程变量的导数之前,过滤掉测量噪声是相对容易的。

修复比比皆是

幸运的是,在现代PID控制器中,所有这些问题都得到了解决。复位绕组保护,仅从过程变量计算导数动作,以及噪声滤波都已成为大多数商用PID控制器的标准功能。这些有助于控制内部的不和谐,并将每个元素的特征发挥到最佳效果。

循环优化是一种为比例、积分和导数增益选择适当值的艺术,以实现对设定值和负载变化的快速响应,而不使闭环系统不稳定。这种调优可以说是PID控制器配置中最具挑战性的方面。幸运的是,已经开发了无数的循环调优技术和软件包来简化这项工作。手动循环调优仍然是一个挑战,但即使这样也变得更容易了。

参见“循环调优基础”。控制工程2003年7月;以及“使用齐格勒-尼科尔斯的自动调优控制”,控制工程2006年10月。

作者信息
Vance VanDoren是《控制工程》的顾问编辑。联络他的地址是controleng@msn.com