用户中心

资讯 > 封面特写

封面故事:PID优化

作者:Vance VanDoren2013.04.21阅读 2647

        早在一个世纪之前,PID算法就已经被用来解决反馈控制问题。自从20世纪40年代,这种算法就已经成为了过程控制领域的标准。纵然如此,随着时间的推移,PID回路仍旧获得了多项改进。气动、电子和基于计算机的设备取代了原有的机械式PID结构,为了实现更紧凑的控制,PID运算本身也得到了优化。

        当反馈控制器仅仅配备了比例调节作用时,积分动作或者自动重调功能是被用来提升反馈控制器性能所最先采用的修正方法。基础的纯比例控制器根据预期设定值与当前过程变量测量值之间的差异或者误差对过程施加成比例的校正作用。
        当设定值上升或者过程变量下降时,两者之间的误差就呈现正增长趋势,纯比例控制器就会做出正向控制响应,使过程变量向设定值回复上升。在相反的情况下,误差呈现负增长趋势,控制器做出逆向控制响应,使过程变量下降。
        纯比例控制器很直观而且便于应用,但是这种控制器存在一个收益递减的状态,随着每一次控制作用的生效,误差也逐次减低,然后控制作用也逐次降低,导致误差降低的速率也下降了,最终会到达一个误差不再改变的状态。不幸的是,这个稳态误差不是零。纯比例控制器的结果总是会使过程变量略微的偏离设定值。图3的“稳态误差”图解释了这种偏离出现的原因。
        如果积分调节和比例调节同时起作用,那么稳态误差就能够被消除。这种方法根据调整总值或者所有之前误差的积分值来成比例地提升控制作用,只要误差不为零,控制作用就会持续提升。因此,比例-积分(PI)控制器肯定不会半途而废,它会持续施加递增的控制作用,直到过程变量到达设定值。
        不幸的是,积分动作的引入会带来其他问题,而这些问题本身也需要修正。可以论证的是,最显著的问题就是闭环控制失稳风险的上升,这一问题使积分动作的缺点大于优点。积分动作的效果会逐渐增长至很大,最终导致过程变量超过设定值。
        如果受控过程恰好对于控制器的作用很敏感,过度调整会在相反的方向上造成更大的误差。控制器本意是减少新的误差,但是最终却会导致过程变量朝着相反的方向变化,距离设定值越来越远。最终的结果是,控制器将会在完全作用和完全不起作用两种状态之间震荡,永远无法达到稳定状态。
        解决这个问题的最简单的方法就是减少放大系数或者增益www.cechina.cn,而控制器正是将这个放大系数或者增益与积分误差相乘来进行积分调整的。从另一方面讲,降低积分增益的风险会导致将闭环系统调整至零误差的稳定状态所需的时间有所增加。为了确定针对特定应用需要什么样的积分和比例增益才合适,人们开发了数百种分析技术和探试技术。
        积分饱和
        如果执行器太小,无法实现控制器要求的较大的控制作用时,积分调节就会到达积分饱和状态。当锅炉不够大以至于无法产生必须的热量、阀门太小无法产生足够大的流量或者泵已经达到最大转速时,积分饱和就会发生。执行器如果达到某一极限值——最大输出或者最小输出时,就被认为达到了饱和状态。
        当执行器饱和时,过程变量就不会再上升了,但是控制器仍旧能够检测到设定点和过程变量之间的正向误差,所以积分误差持续上升,积分调节就会继续请求更激进的调节作用,然而此时执行器只能继续保持最大输出状态,无法再影响过程,所以过程变量并不会更加接近设定点。
        操作员可以尝试修正这个问题,将设定值降低到执行器可以响应的区间,但是控制器并不会做出响应,因为之前执行器进入饱和状态时所积累的积分误差实在是过于庞大,在随后的很长一段时间内,这个总误差值仍旧会维持在一个较高水平上,不管当前的实际误差是多少。因此,积分调整的效果还会很明显,所以控制器将会使执行器保持在输出上限水平。
        幸运的是,如果操作员将设定值降至足够低,那么误差就会变为负值,总积分误差就会最终开始下降。同时控制器会要求产生一系列负向误差以抵消积分器长期以来积累的一系列正向误差。直到那时,积分动作仍将保持相当大的幅值,执行器仍会维持饱和状态,不管同步比例调节的需求(如积分饱和图1、图2所示)。
        为了处理积分饱和问题,很多技术应运而生。显而易见的解决方案就是将容量较小的执行器更换成容量更大的执行器,足以对过程变量实现全程驱动直至到达设定值,或者将设定值设定在执行器的能力区间内。否则,也可以在执行器达到饱和状态时将积分器简单地关闭。
        预载入
        在执行器被关闭而控制器没有关闭的情况下也会发生积分饱和。例如当内环控制器处于手动模式,外环控制器对控制作用不会做出响应。如果在工作间隔期间外环控制器仍旧保持工作状态,其积分调节作用就会饱和,因为误差一直保持不变。
        同样地,当锅炉、阀门或泵在批次生产的间隔期间内被关闭,过程变量就不会向设定值变化,这也能导致饱和。如果执行器也保持关闭状态那么就没有问题,但是只要执行器在下一批次生产开始时被开启,那么控制器就会立即要求使用100%的控制作用,然后执行器就会饱和。
        这个问题最直接的解决方案就是在执行器关闭时将控制器的积分器也关闭,或者将设定值手动调整到上一批次结束时的设定值以消除误差。但是还有一种方法,不仅能够在批次切换的时候阻止积分饱和的出现,还能实际上改进下一批次生产过程中的控制器性能。
        预载入能够将批次生产切换过程中的控制器积分器输出冻结,这样一来,下一批次生产开始时的积分调节就能够从上一批次生产过程中积累的积分误差开始。这种技术假设控制器如果要达到和上一批次生产相同的稳定状态必定需要相同程度的积分调节作用控制工程网版权所有,所以没有必要从零积分误差开始进行调节。通过预加载功能,积分功能直接采用上一批次生产末了时的值,因此能够缩短下一批次达到稳定状态所需的时间。
        如果每一批次生产之间都或多或少地与前一批次有些类同,控制器能够在同样的负载条件下达到同样的设定值,这种情况下,预载入功能的效果最好。但是,即使批次之间并不相同,有时也可以采用一种过程的数学模型来预测要达到稳定状态需要何种程度的积分动作。随后就可以推断出所需的积分误差,然后在每一批次生产开始时预载入控制器的积分器中。如果在开始之初就能够完成建模,那么这种方法也适用于连续生产过程。
        无扰切换
        预载入技术的一个潜在缺点就是在每一批次开始的时候,它会给执行器的输出带来剧烈的变化。虽然如果用预载入功能来防止积分饱和控制工程网版权所有,也并不会使执行器立即关闭,但是它确实会试图以上批次的终了值(至少是接近这个值)来开始下一批次的生产。如果这会给执行器带来剧烈变化并损坏执行器,那么控制器的积分器可以使其缓慢达到预载入值。
        当控制器由自动状态切换至手动状态或者由手动状态切换至自动状态时也会发生同样的问题。如果操作员在批次生产间隔期间手动修改了控制效果,在切换回自动模式时,控制器就会突然将控制效果切换至PID算法要求的自动状态控制效果。
        无扰切换能够通过手动预载入解决这个问题,不管自动模式需要什么样的值来重启自动作业,这个值都会被手动预载入积分器,而操作员留下的控制效果却不会被改变。控制器处于手动模式的话www.cechina.cn,如果操作员的动作、过程变量的变化或者设定值的变化带来了误差,那么控制器仍会做出调整www.cechina.cn,但是控制器在“切换”回自动模式时,“扰动”会比较小。
        还有更多的饱和问题
        所有这些饱和相关的问题都会伴有死区时间——过程变量跟随控制效果变化之间的间隔时间。死区时间通常发生在当过程变量传感器位于距离执行器较远的过程下游时。不管控制器多努力工作,只有当执行器对被测介质产生的扰动传达至传感器之后,过程变量和设定值之间的误差才会开始降低。
        在控制器等待控制效果发挥作用的同时,过程变量和误差还是保持原样,效果就如同执行器已经饱和或者关闭一样,随之导致积分饱和。应对这个问题最常见的方法就是解调控制器,也就是降低积分增益以降低由于饱和所导致的积分动作。
        还可以通过给积分动作配备自己的死区时间来达到同样的效果,这样一来只有经历了过程死区时间之后饱和才会发生。在误差保持不变的间隔时间内,这种方法能够反过来降低控制器的积分误差。
        如果使积分动作间歇性地起作用,也可以抑制由死区时间导致的饱和。让比例动作负责所有的工作,直到过程变量接近设定值时再开启积分动作,消除剩余的稳态误差。这种方法不仅能够延迟饱和带来的影响,还能够使积分动作仅仅需要处理很小的误差即可,因此降低了最大饱和的影响。
        冰山一角
        这只是工程师们用来提升控制性能的众多方法之中的很小一部分,PID算法也被修改以应对限速执行器、变时过程模型、过程变量噪声管理、设定值变化过程中的过度微分动作以及更多问题。
        积分饱和
        在这个例子中(见图1、图2),操作员尝试提高设定值,超出了执行器的能力范围。后来发现控制器无法将过程变量驱动达到那么高,操作员便将设定值降低。可以看到,在设定值被降低之后,控制器并没有开始降低控制效果,因为之前控制器在向更高的设定值努力的过程中积累了大量的积分效果。相反,虽然误差已经变为负值,控制器仍旧持续发出最大控制效果的请求。只要正向误差仍旧高于设定值的变化量(或者更精确地说,负向误差的积分值等于正向误差的积分值的时候),那么负向误差就不会显现,所以控制效果仍旧不会下降。

        这里(右下),操作员重复了相同的设定值更改次序,但是这次使用了配有积分饱和保护功能的PID控制器。PID算法中增加了额外的控制逻辑,在执行器达到能力上限时能够关闭控制器中的积分器。过程变量虽然仍旧无法到达更高的设定值,但是控制器的积分动作并不会在这个过程中进入饱和状态。所以当设定值下调时,控制器可以立即做出响应。
        稳态误差
        这个例子(如图3)是常见的控制回路,一个只有比例效果的增益为2的控制器,驱动一个稳态增益为3的过程。这意味着控制器在实现控制效果的过程中会将误差放大2倍,过程会将控制效果放大3倍(还引入了一些瞬态震荡)最终得到过程变量。如果设定值为70%,在瞬态震荡结束之后过程变量会稳定在60%。误差仍旧不为零,但是控制器不会再试图去进一步降低这个误差了。



版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688