传统PID算法解决不了的情况,应该怎么办?
传统PID算法不能解决怎么办
比例-积分-微分 (PID) 算法,可以解决各种反馈控制问题, 但它并不是万能的。
比例-积分-微分 (PID) 回路是目前工业过程中最常见的反馈控制机制, 正如在美国CONTROL ENGINEERING编辑报道覆盖率的调查中所反映的一样。在该网站,提到 'PID' 或 '比例-积分-微分'的次数为8900次 ,而所有其它控制方法提到的次数为7600次。
为什么PID受到如此多的关注呢?首先, PID 回路相对容易理解和实现。PID算法组成部分中比例 (P)、 积分 (I) 和微分 (D) 部件的影响可以直观的预测,有时可以将设计过程简化为 “这应该可以, 让我们尝试一下”,然后,“这并不是很好, 我们需要更多 (或更少)的比例 (或积分或微分)”,最终以“足够好”结束。
当进程已启动并运行时, 这种试错的设计模式,比那些学术化的、需要进程离线测试的方案更方便。即使在理论上更先进的控制技术,可以提供更好的性能, 但它需要付出很多额外的努力和费用,而对于有些应用来说可能并不值得。
此外, 工业控制工程师已经花费了70年的时间来检查、优化和增强 PID 技术, 并针对他们发现的缺陷制定解决方案。
因此, PID 已经成为事实上的标准——如果想要学习反馈控制,即使不是专家也可能开展研究的控制主题。即使是专家,他们也往往会更倾向于在简单应用中应用PID, 因为它能以较少的数学建模和分析,再辅以更先进的相关技术来将工作完成。
PID 算法过往的人气,反过来又促使自动化厂商更愿意提供现成的PID控制器。其它反馈控制算法也可以作为商业产品购买,但没有一个像PID那样广泛应用。
广泛的应用
PID的另一个巨大优势是其能够处理整个流程行业范围内广泛的控制问题,前提是:
受控过程是合理的、 '运行良好'的;
控制器的唯一任务就是“迟早”将过程变量与设定值相匹配;
负责执行控制器纠正措施的执行器在整个过程中具有足够的影响力,以最终实现设定值。
在学术术语中, '运行良好' 通常意味着过程是一阶或二阶、最小相位、线性、时间不变, 或者开环稳定或集成。实际上, 这意味着如果控制器继续推进, 这个过程就会一直朝着正确的方向发展。如果控制器加大推动力度, 则该过程就以可预测的速度更快速的移动(参见图 1)。
图 1: 在这个 '运行良好'的 过程控制示例中, 过程变量 (绿色) 在控制活动(红色) 中,或多或少的对步进过程做出响应。然后, 它以不断下降的速率提升速度,直至达到稳定状态值。在温度、压力和流量控制应用中, 一阶滞后过程尤其适用于 PID 控制。
幸运的是,对于过程工业而言,大多数应用都需要控制温度、压力、液位和流量来维持过程的良好运转。尽管如此,PID还是会面临许多常见的反馈控制问题带来的挑战,其中一些问题可以通过对基本算法进行适当的扩展来克服,而另外一些问题则不是那么简单。
PID的挑战
正如在图2中所描述的过程行为, 过程变量不会立即响应控制器的指令。它开始时并没有缓慢的向控制器期望的方向移动,直到控制器已经开始推动它很长时间后才开始移动。
图 2: 此过程表现的不是特别好,因为直到过了死区时间之后,过程变量 (绿色)才能在控制活动 (红色) 的作用之下发生改变。这通常发生在控制器对物料进行操作的应用中, 因为它通过执行器的移动抵达某个距离之外的传感器。这种死区时间主导过程的 PID 控制器必须具备足够的耐心或远见, 才能在最近的纠正努力到达期待值之前等待死区时间结束。
如果控制器的控制活动和过程开始响应之间的延迟或死区时间,并没有那么长时间,那么未经修改的PID控制器就可以调节过程,只是PID算法配置的动作速度要缓慢。但是, 如果死区时间特别长或应用程序需要较少等待, PID 控制器就需要额外增加智能控制。
图3中描述的过程行为是更棘手的情况。在这里, 过程运行在100%工况时,过程变量对控制器的控制行为做出更大的响应。相对于从0% 到50%所需付出的努力而言, 将过程变量从50% 到 100%所需要的控制力度要低得多。
图 3: 这个非线性过程推动了 PID 算法的极限。随着过程变量 (绿色) 的增加, 它对控制活动(红色) 的敏感度增加, 反之亦然。这可能会导致控制器在一个极端的情况下反应过激,而在其它工况下并不响应。过程灵敏度随着时间的推移而不可预测的变化, 将对 PID (或任何其它控制算法) 带来更大的挑战。
一个基本的PID控制器,很难调节这个过程, 主要是因为过程运行在最大负荷或运行过于保守时,它的控制活动往往太过激进。这个问题的经典解决方案就是所谓的 '增益调度',不需要为PID 算法添加任何额外的智能算法, 但它需要多个控制器,每个控制器仅在过程变量落在一定范围内时才激活。
具体地说,在过程变量接近100%时,保守的控制器接管控制,而在过程变量接近0%时,积极的控制器将接管控制。过程变量也可以划分为两个以上的范围, 每个区域都有自己的 PID 控制器, 以适应每个范围的过程行为。
另一方面, 如果与该例类似的非线性过程运行时,其过程变量如果只局限于某个狭窄的范围, 那么单一的传统 PID 控制器就足够了。在其它范围内,过程要么变得太敏感,要么变得太不敏感,但是控制器控制行为已经变得不太重要,因为进程永远不会到达那里。幸运的是,在工业应用中, 控制对象将过程变量维持在某个设定位置上,是一个相当常见的情况。
不适用PID的场合
虽然PID回路是这样的简单、普及和多用途, 但是仍有一些反馈控制问题需要替代解决方案。有时应用PID会用力过猛,例如,在烤箱内调节温度的开/关加热元件。只有当需要较高精度时, 才需要 PID 回路。比如在大多数家庭中使用的恒温控制器,如果温度下降过低时,只需打开加热器,或温度过高时关闭控制器,就可以维持大致恒定的温度。
另一种极端情况, 控制问题需要有比PID更智能化的解决方案, 如控制器必须提前计划约束控制, 以避免将控制活动或过程变量,调节到可接受的范围之外。对于多变量控制也需要高级规划, 控制器必须协调多个执行器的工作, 同时控制多个过程变量。
PID回路可以强制适用于这些应用中的任何一种,但更先进的、自定义设计的控制技术通常更具成本效益,至少在最初时是如此。但在通常情况下, 设计和实施这些技术的专家在项目结束后可能需要进行其它项目, 让非专家处理过程及其控制器。因此, 如果以后出现问题, 可能就没有足够的内部专家来解决这一难题。这种情况通常会导致高级控制器被 PID替代甚至完全被禁用, 尽管这样可能会导致性能下降。
然后,还有其它的控制问题, 即使不是不可能,也难以通过任何控制算法来解决。错误的传感器、尺寸过小的执行器、断开的连接等问题都必须在任何类型的反馈控制工作之前解决。