高级PID环整定方法

一些PID回路不能通过调整三个主要常数来令人满意地调谐。当与良好的基本调优相结合时,先进的方法可以提高稳定性、响应性并限制超调。

通过克里斯·哈迪,克罗斯公司集成系统集团 2014年8月6日

PID回路调整其OP以保持其PV在SP处。一些PID回路不能通过调整三个主要常数来令人满意地调谐。当与良好的基本调优相结合时,先进的方法可以提高稳定性、响应性并限制超调。

PID回路调整其OP以保持其PV在SP处。一些PID回路不能通过调整三个主要常数来令人满意地调谐。当与良好的基本调优相结合时,先进的方法可以提高稳定性、响应性并限制超调。

级联

基本的PID级联是一对PID环,主/主环的OP设置从/从环的SP。例如,一个储罐液位PID回路可能有一个k#/H流量的OP,而不是到阀门的%。主OP被发送到控制流的从PID环的SP。当主循环必须很慢但从循环可以非常灵敏时,这是理想的—从回路使主回路的OP是线性的,没有迟滞,即使从回路的OP有这些缺陷。

理想情况下,主OP的规模和单位应该与从回路的PV和SP相同。这允许直接传输和跟踪而不缩放。对于要求PID OP为0-100%的旧系统,您必须将主OP扩展到从SP(在跟踪时反之亦然)。

前馈

前馈(FF)允许循环通过查看另一个值在PV中看到扰动之前对扰动做出反应。这可能是调优困难循环的重要工具。

添加剂前馈

例如,测量进出容器的流量,容器内的液位由带有级联回路的进水阀(液位主阀和流量从阀)控制。如果流出物通过外部工艺改变,液位控制器的OP(在流量单位中-它成为流量控制器的SP)应该改变相同的量,而不需要等待液位改变。FF的基本用途是“添加剂”——无论OP在哪里,如果出水流量改变了10 k#/H, OP水平应该改变10 k#/H。

乘法前馈

FF的另一个例子:离开工厂的酸性废水被注入苛性碱中和。废水流量可测量,用于FF到pH控制回路。在这种情况下,需要“乘法”(而不是加法)FF。FF必须基于流量变化的百分比,而不是绝对流量。若流量加倍,则对腐蚀性喷射泵的OP应加倍。

前馈增益

有时,<1增益比直接FF输入产生更好的性能-例如,使用出水流量乘以0.8作为FF输入。如果循环过度补偿FF输入的变化,这是有用的。如果应用或改变这样的增益,确保循环不是自动的-这看起来像一个突然的重大下降,当没有发生时,如果它是自动的,将严重破坏循环。

使用前馈解决“战斗循环”

有时候循环会互相争斗——一个循环OP的改变会导致另一个循环的混乱。在这些情况下,引起扰动的循环的OP可以(在乘以一个常数之后,这个常数可能是负的)用作被扰动的循环的FF。如果一对中的每个循环都倾向于破坏另一个循环,那么FF每个OP到另一个循环可能会有所帮助。然而,在这种情况下,确保FF增益足够低,以避免诱导相反方向的不稳定。

使用前馈改变PV和SP变化的响应性

您还可以使用前馈来有效地获得PV扰动和SP变化的不同比例增益。将SP的一小部分转发到自己的循环中,使得SP变化上的OP变化比例大于其他情况下的变化。或者,可以将SP的负部分前馈给环路,以减少SP改变时的比例跳跃。

如果可以识别多个扰动因子,则可以将多个FF因子加到最终的FF输入中。

级联与前馈vs修剪控制

许多系统都有一个主回路来控制液位、压力、温度或分析、供应流量计和需求(有时来自流量计,有时来自其他逻辑)。有两种主要的方法来处理这个问题:级联有一个主循环,将需求作为前馈,它的OP设置从循环的SP,控制供应流。另一种方法是使用修剪控制——在这种方案中,需求直接馈送到供应回路,由主回路修剪。

传统上,如果没有修剪,修剪循环将是50%,然后有一个乘数来确定如果<50%则从需求中取出多少,如果>则增加50%。对于现代PID循环,其OPs可以超出0%-100%,我更喜欢在0%时不进行修剪,然后如果为负则减少需求,如果为正则增加需求。这消除了对乘数的需要,使它更加直观。

一个修剪方案的优点是,即使修剪循环是手动的(可能是由于输入质量不好),也能很好地工作-供应仍然会随着需求上下移动。它还允许设计师规定需求行为,并限制因PV反馈而产生的偏离。

无扰转移

对于大多数循环,模式之间的转换——自动、手动或跟踪之间,以及远程(级联)或本地之间——应该在不引起op的颠簸(步进变化)的情况下进行。坡道SP使这变得容易——当在手动(或输出跟踪)时,坡道SP应该跟踪PV,以便当循环返回自动时,它将从它所在的位置坡道到目标SP。

对于级联循环(或任何具有额外下行逻辑的循环,而不是OP简单地驱动AO),输出跟踪是必不可少的。如果从循环处于除自动远程(级联)以外的任何模式,主OP必须跟踪从OP的SP(如果处于手动或OP跟踪,则跟踪从OP的PV),以便在从OP返回自动远程时不会碰撞从OP的SP。

在某些情况下,在主服务器和从服务器之间存在额外的函数,这使得主OP跟踪从服务器的SP变得复杂。例如,主从之间可能有一条分段曲线。在这种情况下,与其试图反向运行函数,不如实现一个积分循环来持续调整跟踪OP,以便函数的结果接近从循环的SP。这可能会导致返回自动远程时出现非常小的颠簸,但可能不会被注意到。

单元素和三元素控制

一个经典的例子三元(3E)控制系统是锅炉汽包液位。测量三个关键的过程变量:

  • 鼓级。
  • 给水大量流向滚筒。
  • 以及从汽鼓中流出的蒸汽的质量流量。

如上所述,汽包液位是主PID回路的PV,给水流量是从PID回路(驱动给水阀)的PV,蒸汽流量是主回路的FF输入。在这种系统中,在低流量时,三元件控制系统不能很好地工作,因此系统切换到“单元件”(1E),其中液位回路的OP直接运行到给水阀。

系统应能自动实现1E和3E之间的无脉动切换控制。要做到这一点,最好有两个独立的级别PID块:一个用于1E,一个用于3E主控制器。无论模式如何,3E从流OP总是从3E级主OP设置。在1E中,应跟踪以下值:

  • 3E级主SP跟踪1E环的SP。
  • 3E级主OP跟踪测量的给水流量。
  • 3E流从OP跟踪1E环路的OP。

在3E中,应该跟踪以下值:

  • 1E循环的SP追踪关卡主的SP。
  • 1E回路的OP跟踪3E流从回路的OP。

这样,两个回路到达阀门的OP总是相同的。我通常强制3E从机始终处于远程自动(级联)状态,如果3E主级循环处于手动状态,则将系统降至1E。

操作员应该有一个“3E使能”开关,允许他强制系统到1E,或使系统自动在模式之间切换。启用后,在两种流量质量良好且高于“1E最大流量”后,系统应在延迟后切换。如果流量质量变差,或者低于“3E最小流量”设置(略低于1E最大流量),它应该立即回落到单个元素,从而给开关逻辑带来一些死区。

在打开HMI弹出面板时,对于相同的PV有两个PID块代表了一个挑战-通常我隐藏了非活动循环的触摸点,这样如果在1E中单击循环,1E循环的面板就会出现,但如果在3E控制中,主控面板就会出现。

平滑滤波器

许多回路有噪声PV或FF输入。噪声通过比例、导数和前馈算法直接转换到OP。我更喜欢平滑输入而不是增加输出。但与其平滑原始PV,我更喜欢让它有噪声,这样操作人员可以看到它实际上在做什么,并在将信号发送到PID块之前在内部平滑信号。如果控制器没有平滑滤波功能,则很容易构造一个简单的指数衰减滤波器:每次扫描,将前一个信号的0.99倍加到0.01倍的新信号。改变0.99更接近1,使信号更流畅(0.01必须改为1 -取代0.99)。

在响应性循环和平滑OP之间有一个权衡-太多的平滑会导致循环缓慢。

非线性,表征和自适应增益控制

对于很多循环,OP与PV不是线性的。例如,将阻尼器从5%移动到10%可能会导致气流从100k# /H增加到150k# /H,而从80%移动到85%可能只会从400k# /H改变到405k# /H。这对标准PID回路提出了一个问题——要么回路在低流量时很好地调谐,但在高流量时非常缓慢,要么它在高流量时很好地调谐,但在低流量时极不稳定。

描述输出设备

补偿这种非线性以实现整个流量范围的响应性和稳定性的一种传统方法是通过在逻辑中实现PID的OP和设备的模拟输出(AO)之间的分段曲线来表征输出设备。在上面的例子中,20% OP可以转换为5% AO, 30% OP转换为10% AO, 97% OP转换为85% AO, 98% OP转换为90% AO。这种方法效果很好,但可能会让操作人员感到困惑,因为当手动输入30%的OP时,阻尼器会移动到10%的标记。这也有一个缺点,即表征曲线必须随着设备的磨损而调整,以保持良好的控制。

自适应增益控制比特性控制有优势

我更喜欢自适应增益控制不用曲线就能解决同样的问题。许多现代PID块有一个“获得修改器”,当设置为1时,正常运行循环,但当设置为2时,相对于它们的名义常数,将三个动作中的每一个都翻倍。在这个例子中,程序员可以将增益修饰符配置为(1 + OP * 10)。当阻尼器关闭时,将使用标称调谐常数,当阻尼器打开时,环路变得越来越灵敏。这样做的好处是:

  • 使用阻尼器的实际输出,这样就不会混淆操作人员正在操作的%。
  • 即使阻尼器特性由于磨损或其他变化条件而改变,该回路仍然表现良好。
  • 由于不必在控制器中输入特性,节省了时间。

使用自适应增益来补偿响应性的其他变化

自适应增益控制也适用于由于可变泵或风扇而需要改变环路响应性的情况。例如,如果一对泵中只有一台泵运行到公共集管上的一个阀门,则该阀门需要比两台泵都运行时响应更快。增益调节器可以在一个泵运行时设置为1,在两个泵都运行时自动更改为0.7或0.6。

利用自适应增益对不同控制区域进行调度优化

您可以使用自适应增益(或不同的调优常数集)针对不同的情况分别调优一个循环。例如,在批量控制中,在温度上升(升温)时与在温度浸泡(保持稳定在目标温度)时进行不同的调优可能是有益的。延迟或逐步切换到稳态调整常数可能是必要的,以补偿热量在新温度下使机组饱和所花费的时间。

斜坡/浸出控制的另一种方法(特别是如果斜坡时间不重要,你只想在各种限制条件下尽快达到目标温度)是迫使环路的OP跟踪外部计算值,基于与目标SP加热的距离,然后在到达目标时释放自动旋转,环路仅针对稳态控制进行优化调整。

整体卷绕,斜坡和夹紧

当一个OP被夹住和/或在一个大的SP变化之后,标准PID回路可能会受到整体上的影响。当SP变化较大时,比例也会发生相应的变化,当PV距离SP仍较远时,积分作用就会累积起来。这种“双重作用”会导致积分“unwind”时PV过冲。防止这种情况发生的一个非常简单、实用的方法就是不断增加SP的变化。让操作员输入目标SP,并让循环的SP斜坡到该目标,而不是跳跃到它。

带终端减速的斜坡

标准斜坡直线运行,直到到达目标&然后停止。

这可能会导致一个小的超调,通过终端减速很容易避免——接近坡道的终点。将斜坡和目标SPs之间的差异乘以一个常数。(仅这一点就会导致一个纯粹的渐近斜坡)。然后,如果斜坡量超过最大斜坡速率,将其夹到最大斜坡速率。

设定值超跑预防

使用Sp超出了预防措施用于倾斜sp,以避免过冲和/或OP上升到其上夹具。要实现此特性,如果倾斜SP高于PV的某一数值,则将其设置为高于PV的某一数值。例如,锅炉蒸汽压力控制器的OP驱动燃料的速率。燃料OP从一个很低的值一直上升到它的钳位,这将在熔炉中引起问题。超跑预防允许燃料OP在超跑带内对蒸汽压力变化做出快速反应,但在超跑带内,这一功能有意地允许PV(蒸汽压力)下降,而不是将太多燃料放入炉中,冒着超跑或其他问题的风险。典型的超跑预防是片面的——在这种情况下,斜坡SP可能不允许上升超过PV的40psi,但可以低于PV的任何数量。

夹紧的输出

另一方面结尾的当OP被夹到极限时会发生什么。有些控制器只是夹紧OP,并将下一次扫描的动作应用到夹紧的OP上。其他控制器维持一个内部OP,可以超出夹紧的范围。通常情况下,当它超出极限时,只有比例函数会被应用到内部,而不会被应用到积分。这两种方法都奏效了缺点.如果PV上有任何噪声,仅使用夹具的方法将不会停留在极限上,因为当OP来回反弹时,比例会使OP“棘轮”远离极限。

当PV开始返回SP时,未夹紧的内部OP会导致OP停留在其极限的时间远远超过它应有的时间,从而导致显著的超调。

避免这两个问题的一种方法是夹住外部OP,然后也夹住外部钳外的少数%内部.因此,一个OP钳位为0%至100%可能有一个-2%至104%的内部钳位。这使得典型PV噪声引起的OP棘轮发生在夹具之间,因此外部OP保持在其夹具的正确位置,但一旦PV开始返回到可控范围,就可以快速响应。一些PID块支持此特性。对于大多数不这样做的块,实现它的简单方法是将PID块的OP钳位设置为外部设置(例如-2%到104%),然后在到达模拟输出或其他逻辑之前将该OP通过外部钳位发送到PID块。

通过提高和降低抑制来避免跳闸

一些循环可能将OP钳设置为0%至100%,但在某些情况下,在该范围内可能会引起问题。例如,锅炉的蒸汽压力控制器可以要求更多的燃料到炉比锅炉的其他部分可以处理。风扇可能达到了它所能输送的空气的极限,或者给水阀门完全打开,或者温度过高,或者其他一些设备可能处于运行极限。

提高和降低抑制可以使系统接近但不超过其任何限制,而不是跳闸系统。每个潜在的限制因素都应该有一个标志,表明它何时即将达到,当设置任何标志时,主回路驱动整个系统的OP(在这种情况下是主蒸汽压力)都应该被抑制。这些标志的形式可能是空气流量比SP低2%以上,阀门开度超过95%,温度在其高警告极限5°以内,等等。

有些回路有提高和降低抑制的输入。对于那些没有被抑制的,可以通过将OP上限设置为一个常数(例如100%)来实现,并在任何提高抑制条件生效时设置为当前OP。

如果这种情况是间歇性的,那么提高抑制的结果可能不明显。使用双OP夹在讨论结尾的段将允许OP跳起来一点,当抑制被释放,保持良好的控制。然而,当一个系统的需求真的超过了它所能提供的,结果将是回路的PV将下降到它的SP以下——但这比让它试图以行程的代价来维持它的SP要好。以锅炉为例,如果抑制停留时间过长,蒸汽压力就会下降到SP以下。这时,操作人员必须要么减少蒸汽需求(可能通过对涡轮发电机进行节流),要么解决限制因素(可能通过启动另一个泵或风扇)。

持球跑动进攻

在少数情况下,仅仅抑制输出可能不足以防止系统跳闸。在接近起下钻点的情况下,可能需要下回作业。运行回退逻辑可以类似于提高抑制,除了输出限制逐渐下降而不是保持。另外,如果返排是由于设备的跳闸(可能是一对泵中的一个跳闸),则可能需要突然将输出降至更低的极限。这显然会扰乱系统,但可能比旅行更可取。

在占空比上截断输出

有时,OP在某个正值以下表现不佳。例如,当阀门从3%移动到4%时,可能突然将流量从零提高到全量程流量的¼。VFD可能无法在低于15hz的频率下运行而不使电机过热。在这些情况下,PID环路的模拟OP可以通过斩波/占空比功能运行:有一个占空比定时器,定期重置。

如果OP值高于最小值,则忽略定时器,直接将OP发送给AO设备。如果OP低于最小值,则将OP / OP_Min对应的占空比的比例设置为最小值,然后将占空比的剩余部分设置为零(如果适用,则停止vfd)。

固定的比例

在相当广泛的范围内,许多油箱级别都是可以接受的。如果调整电平以实现稳定的OP是困难的,另一种算法可能会有所帮助-这本质上只是PID与固定范围的比例项。设置最小和最大水平PV,以及最小和最大OP。当PV在最小-最大范围之外时,将OP夹到其最小或最大。在两者之间,使用映射函数线性缩放:

OP = (PV - PV_Min) * (OP_Max - OP_Min) / (PV_Max - PV_Min)。

对于要求OP在PV上升时下降的系统,使用:

(PV_Max - PV)而不是(PV - PV_Min)。

保持-跳跃循环

PID的另一种反馈算法是“保持-跳跃”循环。当SP周围有一个可接受的范围时,这对于控制流量非常有用,并且流量阀有很大的滞后(当OP向下移动到一个值时,与上升到相同的值时,可以看到非常不同的PV)和/或控制死区,电动阀在移动之前等待较大的OP变化。

平滑PV对于保持-跳跃循环是很重要的-你不希望它因为PV上的一个光点而跳跃。设置一个死区(DB),如果PV在SP±DB范围内,则不会进行任何更改。当PV超出SP±DB时,通过将环路的增益乘以误差来计算新的OP。然后将OP降至新OP下方规定的量(可能是5%),并保持在那里一秒钟左右,然后将它带到新OP。这既克服了迟滞(总是从同一个方向接近新值),也克服了死区(总是做大的改变)。

更改后,保持OP一段时间(可能是15-30秒),即使PV在SP±DB之外的一段时间。

一种高级的选择是在跳跃后以较大的值启动DB,并使其倾斜或衰减到较小的最终值。这使得循环能够更快地对非常大的错误做出反应,同时保持PV更接近SP,在长期运行中有细微的变化。

虽然这对于打算大致恒定的主要进料流是有用的,但对于具有频繁移动的SPs的流则不是很好。Hold-Jump循环往往不会对扰动做出反应。

更好的循环调优与先进的方法

  • 使用级联当一个更快的PV(通常是流量)可以由设备控制时,环路可以更好地控制慢主PV。快速从回路线性化了主回路的OP并消除了迟滞。
  • 使用前馈调整循环的OP,使可测量的外部值变化后的扰动最小化。
  • 使用调整控制如果与需求的偏差应该是有限的,并且确切的主PV有一个可接受的值带,则不使用前馈级联。
  • 使用无扰转移防止模式之间的转换导致流程中断。
  • 光滑的PV和FF输入以减少OP噪声。
  • 使用自适应增益以补偿非线性OP设备和其他影响环路响应性的条件。
  • 斜坡定位点,使用SP胜于预防允许内部OP略超过外部OP夹,以避免由于整体上紧造成的超调。
  • 使用提高和/或降低抑制而且持球跑动进攻允许pv在比重大系统故障更可取的情况下远离sp。
  • 使用非传统的算法当物理限制阻止标准PID回路正常工作时。
  • 将这些先进的方法与良好的基本调优相结合,以实现稳定的、响应灵敏的、最小限度的超调循环。

克里斯·哈迪是佐治亚理工学院的电气工程师跨公司集成系统集团自1994年以来,Chris拥有锅炉、替代能源、水/废水、化工、制药、安全、纺织和汽车的过程控制经验。Chris还编程控制器/HMIs和编写自定义的windows应用程序,用于通信、数据收集、显示、趋势和报告。

跨公司集成系统集团是一个2015年3月5日成员