Main Content

使用 PID Controller 模块进行抗饱和控制

此示例说明当作动器饱和时,如何使用抗饱和方案来防止 PID 控制器中的积分饱和。Simulink® 中的 PID Controller 模块提供两种内置的抗饱和方法(back-calculationclamping),还提供一种跟踪模式来处理更复杂的工业场景。PID Controller 模块支持几个功能,这些功能允许它在常见的工业场景下处理控制器饱和问题。

要控制的被控对象是一个具有饱和时间的饱和一阶过程。

在忽略饱和的情况下,已使用 Simulink® Control Design™ PID 调节器对 PID Controller 模块进行了调整。

被控对象是一阶过程,其饱和时间的描述如下

$$P(s)=\frac{1}{10s+1}e^{-2s}$。

被控对象具有已知的输入饱和界限 [-10, 10],这些界限由标签为 Plant Actuator 的 Saturation 模块提供。Simulink 中的 PID Controller 模块有两种内置的抗饱和方法,这两种方法允许提供有关被控对象输入饱和的可用信息。

不使用抗饱和时的性能

首先,检查当 PID Controller 模块不考虑饱和模型时饱和对闭环的影响。仿真模型会生成以下结果。该图显示无抗饱和时设定点与测量输出的关系。

该图显示无抗饱和时的控制器输出与饱和输入。

这些图突出显示了控制具有输入饱和的系统时出现的两个问题:

  1. 当设定点的值为 10 时,PID 控制信号在作动器范围之外的大约值为 36.29 处达到稳定状态。因此,控制器在非线性区域工作,此时增大控制信号对系统输出没有影响,这种情况称为饱和。请注意,被控对象的直流增益是 1。因此,控制器输出不需要在作动器范围之外具有稳态值。

  2. 当设定点的值变为 5 时,在 PID 控制器输出返回作动器范围内之前会有相当长的延迟。

设计考虑饱和影响的 PID 控制器可以让其大部分时间在线性区域中操作并快速从非线性中恢复,从而提高其性能。您可以使用抗饱和机制来实现这一点。

基于反算配置抗饱和模块

当控制器达到指定的饱和界限并进入非线性操作时,反算抗饱和方法使用反馈环来防止 PID Controller 模块内部积分器饱和。要启用抗饱和,请转至模块对话框中的输出饱和选项卡。选择限制输出并输入被控对象的饱和界限。接下来,从抗饱和方法列表中,选择 back-calculation。然后,指定反算系数(Kb)。此增益的倒数是抗饱和环的时间常量。在此示例中,选择的反算增益为 1。有关如何选择此值的详细信息,请参阅 [1]。

一旦启用反算,模块就有一个用于消除 Integrator 输出的内部跟踪环。此图显示带反算的 PID Controller 模块的封装下视图。

注意 PID 控制信号返回线性区域的速度,以及环路从饱和状态恢复的速度。

控制器输出 u(t) 和饱和输入 SAT(u) 彼此吻合,这是因为启用了限制输出

为了更好地可视化抗饱和效果,此图显示具有和没有抗饱和时被控对象的测量输出 y(t)

基于积分器钳位配置抗饱和模块

另一种常用的抗饱和策略是基于条件积分。要启用抗饱和,请在“模块参数”对话框中,选择饱和选项卡。选择限制输出并输入被控对象的饱和界限。然后,从抗饱和方法列表中,选择钳位

此图显示使用钳位时设定值与测量输出的关系。

此图显示控制器输出 u(t) 和饱和输入 SAT(u) 彼此吻合,这是因为启用了限制输出

有关何时使用钳位的详细信息,请参阅 [1]。

使用跟踪模式处理复杂的抗饱和场景

到目前为止讨论的抗饱和策略依赖于内置方法来处理通过对话框提供给模块的饱和信息。要使这些内置方法按预期工作,必须满足两个条件:

  1. 被控对象的饱和界限是已知的,可以输入到模块的对话框中。

  2. PID Controller 模块输出信号是馈送给作动器的唯一信号。

这些条件在处理一般的抗饱和情况时可能是限制性的。PID Controller 模块具有一种跟踪模式,该模式允许您在外部设置反算抗饱和环。接下来的两个示例说明如何将跟踪模式用于抗饱和目的:

  1. 具有级联动态的饱和作动器的抗饱和

  2. 具有前馈的 PID 控制的抗饱和

为具有级联动态的饱和作动器构建抗饱和方案

sldemo_antiwindupactuator 中的作动器具有复杂动态。当作动器有自己的闭环动态时,复杂动态很常见。PID 控制器位于外环,将作动器动态视为内环,它也称为级联饱和动态。

成功的抗饱和策略需要将作动器输出反馈回 PID Controller 模块的跟踪端口。要配置 PID Controller 模块的 tracking mode,请在“模块参数”对话框中,点击初始化选项卡。选择启用跟踪模式并指定增益 Kt。此增益的倒数是跟踪环的时间常量。有关如何选择此增益的详细信息,请参阅 [1]。

被控对象的测量输出 y(t) 和控制器输出 u(t) 几乎立即对设定点的变化作出响应。如果没有抗饱和机制,这些响应会有很长的延迟。

具有前馈的 PID 控制的抗饱和方案

在另一种常见的控制配置中,作动器接收控制信号,该控制信号是 PID 控制信号和前馈控制信号的组合。打开模型 sldemo_antiwindupfeedforward

为了精确地建立反算抗饱和环,跟踪信号应减去前馈信号的贡献。此操作使 PID Controller 模块可以知道其施加到作动器的有效控制信号所占的份额。

此处前馈增益为 1,因为被控对象的直流增益为 1

被控对象的测量输出 y(t) 和控制器输出 u(t) 几乎立即对设定点的变化作出响应。当设定点的值为 10 时,请注意控制器输出 u(t) 如何减小到作动器的范围内。

当设定点的值为 10 时,请注意控制器输出 u(t) 如何减小到作动器的范围内。

此图显示具有抗饱和的 PID 控制器输出和前馈输入。

参考

[1] Åström, Karl J., and Tore Hägglund. Advanced PID Control. Triangle Park, NC: International Society of Automation, 2006.

另请参阅

相关主题