1. PID 控制

介绍

过程控制对于设计安全和高效的工厂是必要的。各种过程控制用于操作过程,但最简单且通常最有效的是PID控制器。控制器尝试通过计算差值来校正测量变量与所需设定值之间的误差,然后执行纠正措施以相应地调整过程。PID 控制器通过三个参数控制过程:比例 (P)、积分 (I) 和微分 (D)。可以对这些参数进行加权或调整,以调整它们对过程的影响。

PID控制器比典型的开/关控制器更实用,允许在系统中进行更好的调整。虽然这是真的,但使用开/关控制器有一些优点,包括它们(1)设计和执行相对简单,(2)二进制传感器和执行器(如开/关控制器)通常更可靠,更便宜。

尽管有一些优点,但使用开/关控制器方案存在很大的缺点。它们 (1) 效率低下(使用此控制就像在充满油门和完全休息的情况下驾驶),(2) 在寻求稳定性时会产生噪音(可能显着超过或低于设定点),以及 (3) 阀门和开关的物理磨损(连续打开和完全关闭阀门/开关会导致它们更快地磨损)。

为了更好地控制和微调调整,大多数工业过程都使用PID控制器方案。本节将简要介绍PID控制器以及在Excel中对受控系统进行建模的方法。

过程增益 ( K K K) 是输出变量(响应变量)的变化与输入变量(强制函数)的变化之比。它专门定义了输出变量对输入变量中给定变化的敏感度。

K = Δ  Output  Δ input K=\frac{\Delta \text { Output }}{\Delta \text {input}} \nonumber K=ΔinputΔ Output 

增益只能描述为稳态参数,不了解过程的动态,并且与设计和操作变量无关。增益有三个分量,包括符号、值和单位。该符号指示输出如何响应过程输入。正号表示输出变量随输入变量的增加而增加,负号表示输出变量随输入变量的增加而减小。单位取决于所考虑的过程,而过程取决于提到的变量。

例如,压力从 21 psi 增加到 29 psi。这一变化将阀门位置从 30% vp 变到 22% vp。

K = ( 29 − 21 )   p s i ( 22 − 30 ) % v p = − 1.0   p s i / ( % v p ) K = \dfrac{(29-21)\,psi}{(22-30)\%vp} = -1.0\,psi/(\%vp) \nonumber K=(2230)%vp(2921)psi=1.0psi/(%vp)

死区时间( t 0 t_0 t0) 是输入变量的变化与输出变量开始的时间之间的值。死区时间很重要,因为它会影响控制系统的可控性。由于此参数,设定点的变化不会立即发生。在调优和建模过程中必须考虑死区时间。

控制类型

过程控制是用于控制参数(如温度、液位和压力)的仪器。PID控制器是一种连续控制器,因为它们在查看前馈或后馈条件时连续调整输出与开/关控制器。温度控制器示例如图所示9.2.1

ontrollert2.jpg数字9.2.1: 连续反应器中的温度控制器

如图1所示,温度控制器控制CSTR(Continuous Stirred Tank Reactor)内的流体温度。温度传感器首先测量流体的温度。该测量产生测量信号。然后将测量信号与控制器的设定点或所需温度设置进行比较。测量信号和设定点之间的差异就是误差。基于此错误,控制器向加热线圈发送驱动(actuating)信号,加热线圈相应地调整温度。这种类型的过程控制被称为基于错误的控制,因为驱动信号是由实际设置和期望设置之间的误差确定的。不同类型的基于错误的控制在数学方式上有所不同,它们将误差转换为驱动信号,其中最常见的是PID控制器。此外,在探索 P、I 和 D 控制之前,了解前馈和反馈控制至关重要。

I, D, PI, PD, PID 控制

如前所述,控制器将控制器输入(误差)与控制器输出(驱动信号)相关联的方式各不相同。最常用的控制器是比例-积分-微分(PID)控制器。PID控制器以比例(P)、积分(I)或微分(D)方式将误差与驱动信号相关联。PID控制器还可以使用这些控件的组合将误差与驱动信号相关联。

比例§控制

PID控制器中使用的一种动作是比例控制。比例控制是反馈控制的一种形式。它是最简单的连续控制形式,可用于闭环系统。仅 P 控制可最大限度地减少过程变量的波动但并不总是使系统达到所需的设定点。它提供比大多数其他控制器更快的响应,最初使仅 P 控制器的响应速度快几秒钟。然而,随着系统变得更加复杂(即更复杂的算法),响应时间差可能会累积,从而使P控制器的响应速度甚至可能快几分钟。尽管仅P型控制器确实具有响应时间更快的优点,但它会产生与设定点的偏差。这种偏差称为偏移。偏移的存在意味着系统无法在稳定状态下保持在所需的设定点。它类似于校准曲线中的系统误差,其中始终存在恒定的误差,以防止线穿过原点。通过将仅P控制与另一种形式的控制(如I或D-控制)相结合,可以最小化失调。然而,重要的是要注意,不可能完全消除偏移,偏移量隐含在每个方程中。

P-control线性地将控制器输出(驱动信号)与误差(测量信号和设定点之间的差异)相关联。这种 P 控制行为在公式中以数学方式说明。

c ( t ) = K c e ( t ) + b … … … … 9.2.1 c(t) = K_ce(t) + b………… 9.2.1 c(t)=Kce(t)+b…………9.2.1

其中

  • c(t) = controller output
  • K c K_c Kc = controller gain
  • e(t) = error
  • b = bias(

在此公式中,偏置(b)和控制器增益 K c K_c Kc是特定于每个控制器的常数。当误差为零时,偏置只是控制器输出。控制器增益是控制器输入每次变化时控制器输出的变化。在PID控制器中,信号通常以电子方式传输,控制器增益将输出电压的变化与输入电压的变化相关联。然后,这些电压变化与正在变化的属性(即温度、压力、液位等)直接相关。因此,增益最终与输入和输出特性的变化有关。如果输出变化大于输入,Kc将大于 1。如果输入的变化大于输出的变化,Kc将小于 1。理想情况下,如果 K c K_c Kc等于无穷大,误差可以减小到零。然而, K c K_c Kc这种无穷小的性质增加环路的不稳定性,因为零误差意味着测量信号正好等于设定点。正如讲座中提到的,在控制逻辑中永远不会实现精确相等;相反,在控制逻辑中,误差允许在一定范围内变化。因此,对 K c K_c Kc大小有限制,这些限制由系统定义。这些变量对系统影响的图形表示显示在通过经典方法的PID调整中。

从上式可以看出,仅P控制提供了系统误差和系统控制器输出之间的线性关系。这种类型的控制根据调整系统的信号提供响应,以便消除任何振荡,系统返回到稳态。控制器的输入是设定点、信号和偏置。控制器计算设定点和信号之间的差异,即误差,并将该值发送到算法。结合偏差,该算法确定控制器应采取的操作。P控制器输出在时间t0时输入阶跃增加时的图形表示如下图2所示。此图与步骤输入图本身完全相同。

续.jpg图2.用于步进输入的 P 控制器输出。

为了说明这种线性 P 控制关系,请考虑控制罐中流体液位的仅 P 控制。最初,流入罐中的流量等于流出罐的流量。但是,如果流出水箱的流量减少,则油箱中的液位会增加,因为进入的流体多于离开的流体。仅P控制系统将调整流出水箱的流量,使其再次等于进入水箱的流量,并且液位将再次保持恒定。但是,此水平不再等于水箱中的初始水平。系统处于稳态,但初始设定点与储罐中的当前位置之间存在差异。这种差值就是P控制偏移。

积分(I) 控制

PID控制器中使用的另一种动作是积分控制。积分控制是反馈控制的第二种形式。它经常被使用,因为它能够消除可能存在的偏差。因此,系统返回到稳定状态和原始设置。负误差将导致发往系统的信号减少,而正误差将导致信号增加。但是,仅 I 控制器的响应时间比仅 P 控制器慢得多,因为它们依赖于更多参数。如果系统中必须没有偏移,则应使用仅 I 控制器,但它需要较慢的响应时间。通过将仅 I 控制与另一种形式(如 P 或 PD 控制)相结合,可以减少这种较慢的响应时间。当测量变量需要保持在非常窄的范围内并需要微调控制时,通常使用仅 I 控制。I 控件通过响应累积的过去错误来影响系统。积分控制背后的哲学是,偏差将与其幅度的累积总和成比例地受到影响。向控制器添加 I 控制的主要优点是它将消除偏移。缺点是它会破坏控制器的稳定性,并且存在积分饱和,这会增加控制器进行更改所需的时间。

I-control将控制器输出与误差积分相关联。误差的积分是相对于时间的。它是指定时间内关联的总误差。这种 I 控制行为在公式中进行了数学说明9.2.2(斯切克人)。

c ( t ) = 1 T i ∫ e ( t ) d t + c ( t 0 ) … … … … 9.2.2 c(t)=\frac{1}{T_{i}} \int e(t) d t+c\left(t_{0}\right) …………9.2.2 c(t)=Ti1e(t)dt+c(t0)…………9.2.2
其中

  • c(t) is the controller output
  • T i T_i Tiis the integral time(积分时间
  • e(t)is the error
  • c( t 0 t_0 t0) is the controller output before integration

在方程中9.2.2,积分时间是控制器将其输出更改等于误差值所花费的时间。积分前的控制器输出等于时间t=0时的初始输出,或测量前一步的控制器输出。这些变量对系统影响的图形表示显示在通过经典方法的PID调整中。

仅I控制控制器输出的变化率由许多参数决定。虽然仅 P 控制器由 e 确定,但仅 I 的变化率取决于 e 和 T i T_i Ti。由于 c(t) 和 T i T_i Ti反比关系,这会降低仅 I 控制器的变化率。

仅 I 控制器的操作方式与仅 P 控制器基本相同。输入又是设定点、信号和偏置。再次计算误差,并将此值发送到算法。但是,该算法现在不再仅使用线性关系来计算响应,而是使用积分来确定应采取的响应。一旦对积分进行评估,就会发送响应,系统就会相应地进行调整。由于依赖 T i T_i Ti,算法需要更长的时间来确定正确的响应。I控制器输出在时间t0时输入阶跃增加的图形表示如下图3所示。正如预期的那样,此图表示步进输入图下方的区域。

续.jpg图3.用于步进输入的 I 控制器输出。

导数 (D) 控制

PID控制器中使用的另一种动作类型是微分控制。与仅 P 和仅 I 控制不同,D 控制是前馈控制的一种形式。D-control通过分析误差变化来预测工艺条件。它的功能是最大限度地减少错误的变化,从而使系统保持一致的设置。D控制器的主要优点是抵抗系统的变化,其中最重要的是振荡。控制输出是根据误差随时间的变化率计算的。误差变化率越大,控制器响应就越明显。

与比例控制器和积分控制器不同,微分控制器不会将系统引导到稳定状态。由于此属性,D 控制器必须与 P、I 或 PI 控制器耦合才能正确控制系统。

D-control将控制器输出与误差的导数相关联。误差的导数是相对于时间取的。它是与时间变化相关的错误变化。这种 D 控制行为在公式中进行了数学说明9.2.3。
c ( t ) = T d d e d t … … … … 9.2.3 c(t)=T_{d} \frac{d e}{d t} …………9.2.3 c(t)=Tddtde…………9.2.3
其中

  • c(t)是控制器输出
  • Td是导数时间常数
  • de是误差的差分变化
  • dt是时间的差分变化

这些变量对系统影响的图形表示显示在通过经典方法的PID调整中。

在数学上,导数控制与积分控制相反。尽管存在仅 I 控制,但仅 D控制不存在。D 控件仅测量误差变化。D-控制不知道设定值在哪里,因此它通常与另一种控制方法结合使用,例如仅P或PI组合控制。D-control通常用于过程输出快速变化的过程。但是,与 I 控制一样,D 控制在数学上比 P 控制复杂。由于计算机算法计算导数或积分所需的时间比简单地线性关联输入和输出变量所需的时间更长,因此添加 D 控件会减慢控制器的响应时间。D控制器输出的图形表示,输入在 t 0 t_0 t0时间上逐步增加,如图 4 所示。正如预期的那样,此图表示步进输入图的导数。

续.jpg图4.用于步进输入的 D 控制器输出。

控制器对系统的影响

下图旨在直观地表示 P、I 和 D 控制器将如何影响系统。

图片-282.jpeg

描述

图5.稳定的数据样本。

图片-797.pngATA 偏差.jpg图6.数据干扰。

数据控制器.jpg图7.P 控制器对数据的影响。

数据控制器.jpg图8.I-控制器对数据的影响。

数据控制器.jpg图9.D 控制器对数据的影响。

继续阅读以查看组合控制器的结果。

比例积分 (PI) 控制

一种组合是PI控制,它缺乏PID系统的D控制。PI控制是反馈控制的一种形式。由于增加了比例动作,它提供了比仅I控制更快的响应时间。 PI控制可阻止系统波动,并且还能够将系统返回到其设定点。虽然PI控制的响应时间比仅I控制快,但仍比仅P控制慢50%。因此,为了增加响应时间,PI控制通常与仅D控制相结合。

PI控制将控制器输出与误差和误差积分相关联。这种PI控制行为在公式中进行了数学说明9.2.4。

c ( t ) = K c ( e ( t ) + 1 T i ∫ e ( t ) d t ) + C … … … … 9.2.4 c(t)=K_{c}\left(e(t)+\frac{1}{T i} \int e(t) d t\right)+C …………9.2.4 c(t)=Kc(e(t)+Ti1e(t)dt)+C…………9.2.4
q其中

  • c(t)是控制器输出,
  • Kc是控制器增益,
  • Ti是积分时间,
  • e(t)是错误,并且
  • C是控制器的初始值

在此等式中,积分时间是控制器的仅 I 部分与控制器的仅 P 部分提供的控制匹配所需的时间。

该方程表明,PI 控制器的工作方式类似于具有零导数项的简化 PID 控制器。或者,PI控制器也可以看作是仅P和仅I控制方程的组合。仅P控制中的偏置项等于仅 I 控件的积分作用。仅 P 控制仅在系统未达到设定点时起作用。当系统处于设定点时,误差等于零,第一项从方程中消失。然后,系统仅由控制器的仅 I 部分控制。如果系统再次偏离设定值,将实施仅P控制。PI控制器输出在时间t0时输入阶跃增加的图形表示如下图5所示。正如预期的那样,此图类似于仅 P 图和仅 I 图的定性组合。

新.jpg图 10.PI控制器输出,用于步进输入。

Kc和Ti的影响

使用PI控制系统时,控制器活动随着Kc T i T_i Ti减少,但是它们可以单独作用于控制器响应的主动性。考虑下面的图 11,中心图是线性二阶系统基本情况。

我性能.jpg图 11. K c K_c Kc T i T_i Ti影响

图像描绘了 T i T_i Ti K c K_c Kc两者如何影响系统的性能,无论它们都影响系统还是每个系统都独立地影响它。无论积分时间如何,增加控制器增益(在图上从下到上移动)都会增加控制器活动。同样,减少积分时间(在图上从右向左移动)将增加控制器活动,与控制器增益无关。正如预期的那样,增加 K c K_c Kc和减少 T i T_i Ti将增加灵敏度并创建最激进的控制器场景。

由于PI控制系统中只有两个相互作用的参数,相似的性能图仍然会引起混淆。例如,图中的图A和B看起来都非常相似,尽管每个图的参数都受到影响。如果纠正了错误的参数,这可能会导致进一步的问题,并创建一个非常激进的系统。虽然试错对于PI系统可能是可行的,但在PID中,引入第三个参数并且绘图变得越来越相似,这变得很麻烦。

另一个值得注意的观察是具有正常状态的情节 K c K_c Kc和双倍 T i T_i Ti。该图描述了比例项如何实用,但积分最初没有获得足够的权重,导致在积分项最终赶上并帮助系统达到设定点之前轻微振荡。

比例导数 (PD) 控制

另一种控制组合是PD控制,它缺乏PID系统的I控制。局部放电控制是前馈和反馈控制的组合,因为它在当前工艺条件和预测工艺条件下运行。在PD控制中,控制输出是误差信号及其导数的线性组合。PD控制包含比例控制对波动的阻尼和微分控制对过程误差的预测

如前所述,PD控制将控制器输出与误差和误差的导数相关联。这种PD控制行为在公式5中得到了数学说明。

c ( t ) = K c ( e ( t ) + T d d e d t ) + C … … 9.2.5 c(t)=K_{c}\left(e(t)+T_{d} \frac{d e}{d t}\right)+C……9.2.5 c(t)=Kc(e(t)+Tddtde)+C……9.2.5

哪里

  • c(t) = 控制器输出
  • Kc= 比例增益
  • e = 误差
  • C = 控制器的初始值

该方程表明,PD控制器的工作方式类似于具有零积分项的简化PID控制器。或者,PD控制器也可以看作是仅P和仅D控制方程的组合。在此控制中,仅 D 控件的目的是预测误差,以提高闭环系统的稳定性。由于缺少积分项,P-D 控制不常用。如果没有积分项,稳态操作中的误差不会最小化。P-D控制通常用于间歇pH控制回路,其中不需要最小化稳态操作中的误差。在此应用中,误差与通过比例项和微分项的致动信号有关。PD控制器输出在时间t0时输入阶跃增加的图形表示如下图6所示。同样,正如预期的那样,此图是仅 P 图和仅 D 图的组合。

DCont.jpg图 12.用于步进输入的PD控制器输出。

比例-积分-微分 (PID) 控制

比例-积分-微分控制是所有三种控制方法的组合。PID控制是最常用的,因为它结合了每种类型控制的优点。这包括由于仅P控制而更快的响应时间,以及组合导数和积分控制器的偏移减少/零点。通过另外使用 I 控件消除了此偏移。D-control的加入大大提高了控制器在组合使用时的响应,因为它通过测量误差变化来预测对系统的干扰。相反,如前所述,单独使用时,与较快的仅 P 控件相比,它的响应时间较慢。然而,虽然PID控制器似乎是最合适的控制器,但它也是最昂贵的控制器。因此,除非过程需要PID控制器提供的精度和稳定性,否则不使用它。

PID控制将控制器输出与误差、误差积分和误差导数相关联。这种PID控制行为在数学上说明在公式6(Scrcek*等)*中。

KaTeX parse error: Undefined control sequence: \label at position 84: …{d t}\right)+C \̲l̲a̲b̲e̲l̲{6}

哪里

  • c(t) = 控制器输出
  • Kc= 控制器增益
  • e(t) = 误差
  • T我= 积分时间
  • Td= 导数时间常数
  • C = 控制器的初始值

如上式所示,PID控制是所有三种类型的控制的组合。在该等式中,增益乘以积分项和微分项以及比例项,因为在PID组合控制中,增益也会影响I和D动作。由于使用了微分控制,PID控制不能用于噪声很大的过程,因为噪声会干扰预测的前馈方面。但是,当过程不需要偏移和快速响应时间时,使用PID控制。PID控制器输出在时间t0时输入阶跃增加的图形表示如下图7所示。此图类似于仅 P、仅 I 和仅 D 的图的定性组合。

IDCont.jpg图7.用于步进输入的PID控制器输出。

除 PID 控制外,P、I 和 D 控制还可以以其他方式组合。这些替代组合是PID控制的简化。

注:e(t)的顺序

e(t) 中元素的顺序可能因情况而异。它可以是固定元素减去变化元素,也可以是相反。为了更好地说明这个概念,让我们来看一个例子。假设您正在创建一个 PID 控件,通过操纵出口阀来控制储罐中的液位。当油箱中的液位超过您的设定值时,您将希望阀门打开更多,以允许更多的流量从油箱中流出。您正在寻找积极的回应。因此,当液位高于设定值时,您的 e(t) 应给出一个正值。在这种情况下,您的 e(t) 将是 (V-Vset)。相同的逻辑可用于其他系统,以确定 PID 控件中的 e(t) 应是什么。

在 Excel 中使用欧拉对 PID 控制器进行建模

与许多工程系统一样,PID控制器可以通过欧拉法等数值方法在Excel中建模。首先从给定参数的初始值开始。通过将该步的三个控制器 P、I 和 D 相加来确定该参数在某个时间步的变化,这些控制器是使用上面 P、I、D、PI、PD、PID 控制部分中列出的方程找到的。进行此更改,将其乘以选定的时间步长,并将其添加到感兴趣参数的先前值中。有关更多详细信息,请参阅 Excel 中的数值常微分方程求解。使用此方法的化学工程问题的示例可以在下面的示例 4 中看到。

Excel 中的 PID 建模疑难解答

设置 Excel 电子表格以对 PID 控制器进行建模时,您可能会收到一条错误消息,指出您已创建循环引用。假设您正在控制一种反应物(B�)到依赖于另一种反应物浓度的反应器(一个一个) 已经在反应堆内。您的 PID 方程如下所示:

F B = 1 + K c [ ( A − A s e t ) + 1 τ i ∫ ( A − A s e t ) d t + τ d d ( A − A s e t ) d t ] F B=1+K_{c}\left[\left(A-A_{\mathrm{set}}\right)+\frac{1}{\tau_{i}} \int\left(A-A_{\mathrm{set}}\right) d t+\tau_{d} \frac{d\left(A-A_{\mathrm{set}}\right)}{d t}\right] \nonumber FB=1+Kc[(AAset)+τi1(AAset)dt+τddtd(AAset)]


x i = d ( A − A s e t ) d t x_{i}=\frac{d\left(A-A_{\mathrm{set}}\right)}{d t} \nonumber xi=dtd(AAset)

设置 列后A−一个Set一个−一个 A − A s e t A - A_{set} AAset, d ( A − A s e t ) / d t d(A - A_{set})/dt d(AAset)/dt x i x_i xi以及参数的单元格,例如Kc,τi和τd,您需要在 PID 列中设置 PID 列,其中包含 PID 方程。将公式输入 PID 列的第一个单元格后,尝试将公式向下拖动到列中的其他单元格时,可能会收到循环引用错误消息。

您可以执行以下两项操作:

  1. 您可能需要在 PID 列的第二个或第三个单元格中开始 PID 方程。在开始 PID 方程之前,在前几个单元格中输入合理的值,您会发现这些值不会影响控制器的最终结果。
  2. 您也可以尝试减小步长 ( Δ t Δt Δt).

汇总表

表 1 显示了三种控件的优缺点摘要。

**表 1.**控件的优缺点

乌玛丽1.jpg

表 2 显示了各种控制器的典型用法指南。

**表 2.**P、I、D、PI 和 PID 控制器的典型用途

身份证使用表.jpg

表3显示了术语和符号的定义摘要。

**表 3.**术语和符号的定义。

鉴定.jpg

例9.2.19.2.1

假设工业刚刚让你负责他们的一个间歇式反应器。你的任务是找到一种方法来维持反应器内部的设定点水平。你的老板想使用某种类型的调节器控制器,但他不太确定该使用哪个。帮助你的老板找到正确类型的控制器。反应器内的液位处于设定值非常重要。不能容忍大的波动和错误。

溶液

您可能希望使用 PID 控制器。由于P控制的作用,系统将非常快速地响应变化。由于I控制的作用,系统能够返回到设定值。最后,由于系统保持在恒定设定值至关重要,D控制将测量误差的变化,并帮助相应地调整系统。

例9.2.29.2.2

你回到你的高中,你注意到你以前的化学课上有一个烤箱。烘箱用于去除溶液中的水分。利用您从 ChE 466 中获得的知识,您开始想知道烤箱使用哪种类型的控制器来保持其设定温度。你注意到一些高中生渴望学习,你决定与他们分享你的知识,希望激励他们成为化学工程师。向他们解释最有可能位于烤箱内的控制器类型,以及该控制器的工作原理。

溶液

由于烘箱仅用于去除溶液中的水分,因此设定点与实际温度之间的波动、误差和滞后都是可以接受的。因此,最简单易用的控制器是开关控制器。当烤箱中的温度低于设定温度时,开关控制器打开加热机制。如果烤箱温度升高到设定温度以上,控制器将关闭加热机构。

例9.2.39.2.3

在接受了您的建议后,您在假设工业的老板决定安装一个PID控制器来控制间歇式反应器中的液位。首次启动电抗器时,控制器最初收到阶跃输入。当电抗器达到稳态时,电抗器中的液位趋于波动,将脉冲输入发送到控制器。对于脉冲输入,提供PID控制器输出的图形表示。

input.jpg图8.脉冲输入。

溶液

PID 控制器输出将是仅 P 控制器、仅 I 和仅 D 控制器输出的组合。与阶跃输入的P控制器输出类似,脉冲输入的P控制器输出与输入完全相似。

PCont.jpg图9.用于脉冲输入的 P 控制器输出。

I控制器输出表示输入图形下方的区域。与阶跃输入不同,一旦脉冲通过,脉冲输入图下的面积就会下降到零。因此,I控制器输出图最终不会不断增加,而是趋于平稳。

ICont.jpg图 10.用于脉冲输入的 I 控制器输出。

D控制器输出表示输入图的导数。图的第一个不连续处的导数将是正无穷大。第二个向下不连续性的导数是负无穷大。

DCont1.jpg图 11.用于脉冲输入的 D 控制器输出。

结合所有三个图形的定性特性,我们可以确定脉冲输入的PID控制器输出。

PIDCont.jpg图 12.用于脉冲输入的PID控制器输出。

例9.2.39.2.3

在确定PID控制器鲁棒性时,可能会产生不同类型的干扰。这些不同的干扰用于模拟系统内可能发生的变化。对于 CSTR 反应堆,您决定加热系统以应对寒冷的外部天气。输入温度的扰动是斜坡扰动,如图#所示。如果控制器响应输入温度,PID控制器输出将是什么?

amp2.jpg图 13.斜坡输入。

溶液

仅使用仅具有 p 控制器的控制器,我们将看到控制器输出中与输入变量变化相对应的比例变化。请参见下面的图 14

amp2 p.jpg图 14.用于斜坡输入的P控制器输出。

使用仅 I 控制器,我们将看到与图形下方区域对应的控制器,在这种情况下,它似乎随着斜坡几何形状呈指数级增长。

amp2 i.jpg图 15.用于斜坡输入的 I 控制器输出。

使用仅D控制器,我们将看到对斜坡干扰的阶跃响应。这是因为 D 分量对应于导数,并且斜坡输入显示恒定斜率(在本例中为正),该斜率不同于起始条件斜率(通常为零)。参见图 16。

扩音2 d.jpg图 16.用于斜坡输入的D控制器输出。

使用PID控制器,这三个组件都在控制器输出中发挥作用。正如我们所期望的,结果将只是三个独立组件图的简单相加。

amp2 pid.jpg图 17.用于斜坡输入的D控制器输出。

例9.2.69.2.6

以下是过程 A+B–>C 的 P&ID。

eactorSystemPID.jpg图 18.反应过程的P&ID。

V3 上的 PID 控制器表达式将 TK001 中的体积控制到 50 升的设定值是什么?注意:PID 控制器使用 LC1 测量体积。

溶液

PID控制器的一般公式为:

c ( t ) = K c [ e ( t ) + 1 T i ∫ e ( t ) d t + T d d e d t ] + C c(t)=K_{c}\left[e(t)+\frac{1}{T_{i}} \int e(t) d t+T_{d} \frac{d e}{d t}\right]+C \nonumber c(t)=Kc[e(t)+Ti1e(t)dt+Tddtde]+C

哪里

  • c(t)�(�)= 控制器输出
  • Kc��= 控制器增益
  • e(t)�(�)= 错误
  • T我�我= 积分时间
  • Td��= 导数时间常数
  • C�= 控制器的初始值

因此,对于此示例,解决方案是:

F o u t = o f f s e t + K c [ ( V 1 − V s e t ) + 1 T i ∫ ( V 1 − V s e t ) d t + T d d ( V 1 − V v e t ) d t ] . F_{\mathrm{out}}=o f f s e t+K_{c}\left[\left(V_{1}-V_{\mathrm{set}}\right)+\frac{1}{T_{i}} \int\left(V_{1}-V_{\mathrm{set}}\right) d t+T_{d} \frac{d\left(V_{1}-V_{\mathrm{vet}}\right)}{d t}\right]. \nonumber Fout=offset+Kc[(V1Vset)+Ti1(V1Vset)dt+Tddtd(V1Vvet)].

例9.2.69.2.6

在本问题中,将确定描述具有PID控制器的特定一阶系统的微分方程。这旨在展示如何以数学方式对定义良好的系统进行建模或解释。作为此问题的补充,请访问构建框图。请注意,这是使用积分微分运算符而不是拉普拉斯变换的解决方案示例。在这里,我们设置了Kp=1��=1.

考虑一个一般的一阶过程:

τ p Y ′ ( t ) + Y ( t ) = X ( t ) τpY'(t) + Y(t) = X(t) \nonumber τpY(t)+Y(t)=X(t)

其中 Yt) 是系统的输出,Xt) 是输入。将PID控制器添加到系统中,并求解单个简单的微分方程。PID控制器的运算符或公式如下。假设测量中没有死区时间。

G = K c [ 1 + 1 τ I ∫ 0 t d τ + τ D d d t ] G=K_{c}\left[1+\frac{1}{\tau_{I}} \int_{0}^{t} d \tau+\tau_{D} \frac{d}{d t}\right] \nonumber G=Kc[1+τI10tdτ+τDdtd]

解决方案:在解决此问题时,请使用构造框图作为参考。
方程定义系统,

  • 过程:τpY’(t) + Y(t) = Xt)
  • 控制器:Xt) = Gε(t)
  • 比较器: ε(t) = R(t) − Mt)
  • 测量:Mt) = Yt)
  • Process: τpY’(t) + Y(t) = X(t)
  • Controller: X(t) = Gε(t)
  • Comparator: ε(t) = R(t) − M(t)
  • Measurement: M(t) = Y(t)

当这些方程组合成一个方程时,将产生以下公式。这是通过将比较器的测量值添加到控制器的过程方程中来实现的。
τ p Y ′ ( t ) + Y ( t ) = G ( R ( t ) − Y ( t ) ) τ_pY'(t) + Y(t) = G(R(t) − Y(t)) \nonumber τpY(t)+Y(t)=G(R(t)Y(t))

替换控制器操作员,然后评估产量:

τ p Y ′ ( t ) + Y ( t ) = K c [ 1 + 1 τ I ∫ 0 t d τ + τ D d d t ( R ( t ) − Y ( t ) ) ] \tau_{p} Y^{\prime}(t)+Y(t)=K_{c}\left[1+\frac{1}{\tau_{I}} \int_{0}^{t} d \tau+\tau_{D} \frac{d}{d t}(R(t)-Y(t))\right] \nonumber τpY(t)+Y(t)=Kc[1+τI10tdτ+τDdtd(R(t)Y(t))]

tau_p Y'(t) + Y(t) =  K_c\left[R(t) + \frac{1}{\tau_I} \int_{0}^{t}R(t) d\tau\ + \tau_D \frac{d}{dt}R(t)-[Y(t) + \frac{1}{\tau_I} \int_{0}^{t}Y(t) d\tau\ + \tau_D \frac{d}{dt}Y(t)]\right]

因为微分方程中有一个积分,所以有必要取关于时间的导数。

tau_p Y''(t) + Y'(t) = K_c\left[R'(t) + \frac{1}{\tau_I} R(t) + \tau_D R''(t)-[Y'(t) + \frac{1}{\tau_I} Y(t) + \tau_D Y''(t)]\right]
tau_p Y''(t) + Y'(t) =  K_c(R'(t)-Y'(t)) + \frac{K_c}{\tau_I} (R(t)-Y(t)) + K_c \tau_D (R''(t)-Y''(t))

为了将其放入求解二阶微分方程的标准符号中,Y(t)�(�)需要在一侧,并且R(t)�(�)术语需要站在对立面。此外,系数Y(t)�(�)术语需要是一个。

τ I ( τ p − K c τ D ) K c Y ′ ′ ( t ) + τ I ( 1 + K c ) K c Y ′ ( t ) − Y ( t ) = τ I τ D R ′ ′ ( t ) + τ I R ′ ( t ) + R ( t ) \frac{\tau_{I}\left(\tau_{p}-K_{c} \tau_{D}\right)}{K_{c}} Y^{\prime \prime}(t)+\frac{\tau_{I}\left(1 + K_{c}\right)}{K_{c}} Y^{\prime}(t)-Y(t)=\tau_{I} \tau_{D} R^{\prime \prime}(t)+\tau_{I} R^{\prime}(t)+R(t) \nonumber KcτI(τpKcτD)Y′′(t)+KcτI(1+Kc)Y(t)Y(t)=τIτDR′′(t)+τIR(t)+R(t)

然后可以通过手动或使用Mathematica等程序求解上述方程。如果使用计算机程序,则控制参数的不同值Kc, τ, τD可以选择,并且可以以图形方式评估对系统更改的响应。

锻炼9.2.19.2.1

下面的等式显示了什么类型的控制器?

c ( t ) = K c [ e ( t ) + 1 T i ∫ e ( t ) d t ] c(t)=K_{c}\left[e(t)+\frac{1}{T_{i}} \int e(t) d t\right]\nonumber c(t)=Kc[e(t)+Ti1e(t)dt]

  1. 前馈
  2. PID
  3. 导数
  4. 比例积分
锻炼9.2.29.2.2

哪种类型的控制器通过使其保持一致的设置来提高系统的稳定性?

  1. 导数
  2. 比例的
  3. 开关
  4. 完整的
锻炼9.2.39.2.3

哪种类型的控制器可以提高响应速度,以最快速度达到所需的设定点,同时消除偏移?

  1. 开关
  2. 比例的
  3. 完整的
  4. 比例积分

一个微生物实验室在该市的供水中发现了一种致命的新细菌菌株,名为P. Woolfi。为了对水进行消毒,必须在105摄氏度的温度下热杀死细菌。然而,这高于 1 个大气压的水沸点,并且由于在气体或蒸汽中形成孢子,细菌只有在液体中才会受热。为了完成这种灭菌,建议使用高压灭菌器将水保持在液态,方法是在加热5秒时将其保持在30个大气压的压力下。高压釜在爆炸前最多只能处理 7 个大气压的压力,因此为了确保过程以所需的规格运行,必须在 Excel 中创建 PID 控制器模型。有关系统的直观视图,请参见图 18。

IDpic2.jpg图 18.带温度和压力PID控制的自动釜

单击此链接以获取制定的Excel解决方案

解释:

为了模拟系统中压力变化的真实情况,B列调用一个方程来产生压力的随机波动。Pset 只是所需的规范。误差是设定压力和测量信号之间的差异。du/dt 是 P、I 和 D 项的总和。用于计算每个方程的方程可以在文章中找到,这些方程考虑了与每个时间步长相关的误差。dU/dt 是为了校正测量压力和所需压力之间的差异而变化的参数。

引用

  • Astrom,Karl J.,Hagglund,Tore.,“Advanced PID控制”,仪器,系统和自动化协会。
  • 库珀,道格拉斯J.“实用过程控制电子教科书”http://www.controlguru.com
  • Scrcek,William Y.,Mahoney,Donald P.,Young,Brent R.“过程控制的实时方法”,第2版。John Wiley & Sons, Ltd.
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的PID控制的C语言代码示例: ```c /* pid.h */ typedef struct { float Kp; // 比例系数 float Ki; // 积分系数 float Kd; // 微分系数 float pre_error; // 上一次误差 float integral; // 积分误差 } PID; void pid_init(PID *pid, float Kp, float Ki, float Kd); // PID初始化 float pid_update(PID *pid, float setpoint, float pv, float dt); // PID更新 /* pid.c */ #include "pid.h" void pid_init(PID *pid, float Kp, float Ki, float Kd) { pid->Kp = Kp; pid->Ki = Ki; pid->Kd = Kd; pid->pre_error = 0; pid->integral = 0; } float pid_update(PID *pid, float setpoint, float pv, float dt) { // 计算误差 float error = setpoint - pv; // 计算积分误差 pid->integral += error * dt; // 计算微分误差 float derivative = (error - pid->pre_error) / dt; // 计算控制量 float output = pid->Kp * error + pid->Ki * pid->integral + pid->Kd * derivative; // 保存上一次误差 pid->pre_error = error; return output; } ``` 使用方法: 1. 在需要使用PID控制的地方,先定义一个PID结构体变量,如:`PID pid;` 2. 在初始化函数中调用`pid_init`函数进行PID初始化,如:`pid_init(&pid, 1.0, 0.1, 0.5);`,其中参数分别为比例系数、积分系数、微分系数 3. 在每个控制循环中,调用`pid_update`函数进行PID计算,如:`float output = pid_update(&pid, setpoint, pv, dt);`,其中参数分别为期望值、实际值、控制周期 4. 使用计算得到的`output`作为控制量进行控制 需要注意的是,PID控制的效果受到多种因素的影响,如参数的选择、采样周期、系统的非线性等,需要根据实际情况进行调试和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值