从专家那里学习PID循环调优

实践经验有助于加快PID的学习曲线。

通过John A. Autero,安川美国公司 2014年12月3日

大学毕业后不久,我在一家化工厂找到了一份电气和仪器技术员的工作。作为一个没有什么经验的年轻人,我的主管让我和一个头发花白的老兵蒂姆配对。在我从Tim那里学到的许多东西中,最有价值的一件是调整比例、积分和导数(PID)控制回路的简单过程。作为教育的一部分,我学习了基本的控制系统以及它们是如何工作的。不幸的是,我所有关于PID循环的经验都在教科书中。我从未有过现场整定PID控制回路的第一手经验。

我的第一次机会整定PID回路是在和蒂姆一起去化工厂西侧的乙烯生产区时发生的。乙烯控制室的一名操作员拨打了一个500加仑化学罐的故障电话,该罐没有保持准确的液位(见图1)。Tim提醒我,PID控制回路可以在各种需要恒定控制液位、压力、流量、温度或张力等的应用中找到。在本例中,作为化工生产线的一部分,作业人员试图在一个500加仑的化学添加剂罐中保持恒定的液位,但它无法正常工作(见图2)。

重要的事情先说

蒂姆教我的第一件事是PID控制系统的基本组件。“你首先需要的是一个设定值信号,”他说。在我们的情况下,设定值信号是来自控制室的电位器的0-10 Vdc信号,操作员用来设置他想要在罐中保持的电平。“你的系统需要的第二件事是反馈信号,”蒂姆说。在这种情况下,反馈装置是一个液位传感器,根据罐内液体的液位提供4-20 mA信号。Tim解释说,系统中需要的最后一项是实际的PID控制器。

虽然我已经大学毕业好几年了,但当时的控制器是一个独立的模块,接收设定值和反馈信号,并进行PID数字运算。它提供了一个4-20 mA的输出信号,控制一个进料罐的阀门。它还有一个内置的小条形记录仪,可以显示很长一段时间内的液位。今天,您仍然可以购买独立的PID控制模块,但该软件也可以在vfd中找到,最常见的是在PLC和建筑控制系统中(见图3)。PID控制回路软件可以在PLC内部找到,运行整个控制室,并在各种监视器和控制台上提供整个控制系统的复杂图形外观。即使今天的PID图形看起来比旧的条形图记录器要好得多,但今天使用的PID控制方法基本上是相同的。

检验在测试中

当我们到达工作现场时,我们做的第一件事就是测试液位传感器,它向控制器提供反馈。几分钟后,我们确定传感器工作状态良好,因为它在低电平提供4 mA,在高电平提供20 mA。接下来我们检查的是设定值信号。蒂姆站在控制室里,把电位器从最小值调到最大值,而我测量了它连接到PID模块的信号。电位器正常工作,测量最小0 Vdc,最大10 Vdc。我们最后检查的是阀门本身。我们连接了一个小型可变毫安电源,为阀门提供4-20 mA,并观察它的打开和关闭没有问题。因此,我们的PID控制系统失灵的罪魁祸首似乎是PID模块本身。快速的去了一趟零件仓库,为我们提供了一个相同的替换模块,我们返回乙烯控制室。我想我们可以交换模块; adjust the proportional, integral, and derivative selector switches to the same settings as the old one; do a quick test of the system; and be back at the shop in time for lunch.

我们使用的PID模块在侧面有三个选择开关:一个用于比例增益设置,一个用于积分时间设置,一个用于导数时间设置。在大多数情况下,我们会将新模块上的选择开关设置为与旧模块相同的设置,然后就结束了。但是Tim认为我们可以提高控制回路的性能,并看到了一个机会,教我一些PID回路调优的细节。

PID优化实验

在我们的实验中,为获得PID控制回路的最优设置,我们设置积分和导数乘以为零。比例增益选择开关的出厂设置为1.0,最大值为2.0,最小值为0.0,调整点分为0.25个增量。我们将比例增益选择开关调整到最低的非零设置0.25。比例增益是一个简单的乘数,高设置增加响应,低设置减少响应。通过将积分时间和导数时间调整为零,我们将积分和导数的影响从控制回路中去除,只会看到比例增益设置的影响。蒂姆给我的第一课是一次只做一种调整。他说:“如果你同时开始对所有三个控件进行更改,你很容易迷失方向。”

我们启动系统时,油箱是空的,设定值为50%满。当油箱装满时,我们看到条形图上的液位指示慢慢地向50%设定值移动。花了10分钟多一点的时间,液体液位才达到48%的标志,并保持在这个水平。我们觉得第一次实验的结果是不能接受的。虽然液位从未超过设定值,这是一件好事,但增益设置得如此之低,以至于需要很长时间才能将油箱装满设定值。同时,液面接近设定值,但它从未真正达到设定值。Tim解释说,当运行一个只有比例控制的控制循环时,通常会有一些错误(在本例中为2%)。这个错误叫做偏移量。

接下来,我们将比例增益设置调整为0.50,并再次进行实验。这一次,液面在2分钟多一点的时间内就达到了50%的设定值,但液位很快就超过了设定值,达到了55%,然后才自我修正,回落到50%。当我看着条形图时,在接下来的2分钟内,液位信号在52%和48%之间来回振荡,每个周期的超调量都在减小,然后稳定在刚好低于设定值的48%左右。我们很高兴关卡只花了2分钟就到达了设定值,但我们对超调和振荡感到失望。

在我们的下一个实验中,我们将比例增益调整为0.75。这一次,液位在不到1分钟的时间内达到了50%的设定值,但超调量达到了70%,然后在60% - 40%之间振荡了4分钟,每循环一次,超调量就会减小,然后稳定在设定值以下,约为48%。这一调整似乎将我们带向了错误的方向,所以我们将比例增益设置改回了0.50。Tim给我的第二个教训是:比例增益控制着进程冲向设定值的速度。他说:“如果你设置了一个很高的增益,预计很快就会达到你的设定值,但也要为剧烈的超调和振荡的可能性做好准备。”“如果你设置一个非常低的增益,你可以防止超调,但可能需要很长时间才能达到你的设定值。从积分时间,导数时间和比例增益开始,都在零。然后以小幅度增加比例增益值,直到出现振荡,然后降低设置。”

接下来我们要做的就是在控制回路中加入积分时间。蒂姆向我解释说,积分时间就像一个“错误食用者”,将致力于消除我们经历过的一些振荡。他还说,添加一些积分时间将使我们的系统实际跟踪设定值,并消除我们之前经历的偏移。积分时间选择开关的出厂设置为50秒,最大值为100秒,最小值为0秒,调整点以10秒为增量。为了提高性能,我们将积分时间选择开关调整为10秒,并再次进行实验。这一次液面在约2min内达到设定值,但继续升高至约70%后才自行修正;然后持续在60%到40%之间振荡,从未停止。超调量保持不变,但我们得到了一个环形振荡,这意味着短积分时间使系统不稳定。

我们调整了积分时间选择开关,为我们的下一个实验提供30秒的积分时间。我们再次运行系统,液面在大约2分钟内达到设定值,但在自我修正之前继续增加到55%。液面信号在54% - 46%之间振荡,每次循环超调量都在减小,然后在1分钟内稳定在50%的设定值。虽然环路性能比我们上次实验好得多,但最大的差异是系统稳定所需的时间。早些时候,当我们只使用比例控制时,系统在2分钟内稳定下来,有偏移误差。在这个实验中,振荡在一分钟左右就消失了,没有偏移误差。

我们再次进行实验,将积分时间设置为50秒,观察到液面在大约2分钟内达到设定值,并在自我纠正之前超过52%。液位信号在52%和48%之间振荡,每周期减少超调量约10秒,然后稳定在50%的设定值。这一调整产生了一些非常好的结果,我们对所取得的进展感到高兴,我意识到我们终究要在午饭前回到商店。蒂姆给我的第三个教训是,积分时间就像一个错误吞噬者。它可以帮助减少振荡时间和消除偏移,但错误的调整会导致超调量增加,并导致系统发生振荡。以小增量增加积分时间值,直到消除振荡和偏移。

最后一个调整是对时间的导数。Tim解释说,导数时间有点像制动系统,有助于防止超调。然而,如果导数被错误调整,它可能会严重降低系统的响应性。我们思考了一下那天早上进行的实验,以及我们如何系统地改进了控制回路的性能。在许多PID回路中,例如HVAC系统,不使用导数控制,因为轻微的超调通常不会产生有害的影响。但在超调可能很危险的情况下,导数控制可能是有用的。

我们的最后一个实验显示只有2%的超调,振荡只有大约10秒,我们认为我们已经做了一个很好的工作,调整PID循环。但我们认为我们应该做最后一个实验,看看我们是否能做得更好。导数时间选择开关的出厂设置为最小0秒(禁用),最大5秒,调整点分为0.5秒增量。我将选择开关上的导数时间调整到0.5秒,然后我们再次进行实验。我们观察到液面在大约2分钟内达到设定值,平滑地滚动到50%设定值,只有一点点超调,在50%标记以下有一个小下降,然后完美地跟踪设定值。这是那天早上我们从液位PID控制回路中看到的最好的表现。我将液位设定值调整到60%,并观察系统的正确和准确跟踪。然后我将设定值降低到40%,得到了同样的结果。Tim给我的第四个教训是,导数时间为控制回路提供了制动作用,在大多数允许有轻微超调的应用中,这是不需要的。如果需要,衍生品控制可以减少超调,但也可能导致缺乏响应能力。 Increase the derivative time value until the优化了对工艺变更的响应

我和蒂姆对PID控制回路的性能很满意,于是收拾好行头去吃午饭。我和蒂姆一起工作已经有很多年了,但这次经历我一直都记得。使用他教给我的基本技术帮助我在许多应用程序中调整PID控制循环。

蒂姆的PID控制回路的经验法则

  1. 一次只做一种调整。如果您同时开始对所有三个控件进行更改,您很容易迷失方向。
  2. 比例增益控制着进程冲向设定值的速度。如果你设置了一个非常高的增益,期望很快达到你的设定值,但要为剧烈的超调和振荡的可能性做好准备。如果你设置一个很低的增益,你可以防止超调,但它可能需要很长时间才能达到你的设定值。从积分时间,导数时间和比例增益开始,都在零。以小增量增加比例增益值,直到出现振荡,然后降低设置。
  3. 积分时间就像一个误差食用者。它可以帮助减少振荡时间和消除偏移,但不适当的调整会导致超调量增加,并导致系统振荡。以小增量增加积分时间值,直到消除振荡和偏移。
  4. 导数时间为控制回路提供制动作用,在允许有一点超调的大多数应用中不需要。如果需要,衍生品控制可以减少超调,但也可能导致缺乏响应能力。增加导数时间值,直到对工艺变化的响应得到优化。

John A. Autero是安川美国公司技术培训服务部的经理。他从事工业自动化工作超过28年,其中25年在安川工作。他开发了安川工程暑期实习生和合作项目,并将安川的技术培训服务提升为IACET授权提供商,为学生提供ceu。他拥有南伊利诺伊大学工业工程技术学士学位。

本文发表于应用自动化补充的控制工程而且设备工程

-请参阅下面补充的其他文章。