主要内容

闭环PID自动调谐器

根据实时闭环实验估计的植物频率响应自动调整PID增益

  • 库:
  • Simulink控制设计

  • 闭环PID自动调谐块

描述

闭环PID自动调谐器块允许您根据物理工厂实时调整PID控制器,其中您有一个产生稳定循环的初始PID控制器。在整个自整定过程中,系统始终处于初始PID控制器的闭环控制下。该块可以调优PID控制器,以达到指定的带宽和相位裕度,而无需参数植物模型。如果你有一个代码生成产品,比如动态仿真模块®编码器™,您可以生成在硬件上实现调优算法的代码,允许您在使用或不使用Simulink来管理自动调优过程的情况下进行实时调优。

如果你有一个在Simulink中建模的植物和一个初始PID控制器,你可以对建模的植物执行闭环PID自动整定。这样做可以让您预览工厂响应,并在实时调整控制器之前调整PID自动整定的设置。

要实现无模型调优,可以使用闭环PID自动调谐器布洛克:

  1. 向装置内注入测试信号,采集装置输入输出数据,实时估计频率响应。测试信号是附加在植物输入上的正弦扰动信号的组合。

  2. 在实验结束时,根据在目标带宽附近估计的植物频率响应对PID控制器参数进行整定。

  3. 更新PID控制器块或自定义PID控制器的调优参数,允许您实时验证闭环性能。

不像开环PID自动调谐器在整个实验过程中,环保持关闭状态。在估算实验过程中,保持回路闭合有助于维持装置的安全运行。

您可以使用闭环PID自动调谐器块调整PID控制器:

  • 任何稳定的植物

  • 任何具有一个或多个积分器(极点在年代= 0)或虚轴上的一对或多对复极

  • 任何具有一个或多个积分器(极点在z= 1)或单位圆上的复极对|z| = 1

如果您没有初始PID控制器,您可以使用开环PID自动调谐器块获取一个。然后,您可以切换到闭环PID自动整定进行细化或重新整定。

块支持代码生成仿真软件编码器,嵌入式编码器®,Simulink PLC Coder™.它不支持代码生成与HDL Coder™。

的详细信息闭环PID自动调谐器块,见:

有关PID自动整定和闭环和开环方法的比较的更多一般信息,请参见何时使用PID自动整定

港口

输入

全部展开

将该块插入您的系统中,以便该端口接受来自源的控制信号。通常,这个端口接受来自系统中PID控制器的信号。

数据类型:|

将此端口连接到工厂输出。

数据类型:|

要启动和停止自动调优过程,请在启动/停止端口。当信号的值从:

  • 从负到正,实验开始

  • 从正到负或零,实验停止

当实验不运行时,块传递信号不变uu +Δ.在这种状态下,块对设备或控制器的行为没有影响。

通常,您可以使用从0到1的变化信号来开始实验,从1到0的变化信号来停止实验。配置时要考虑的一些要点启动/停止信号包括:

  • 当装置处于所需的平衡工作点时开始实验。使用初始控制器驱动装置到达工作点。如果您没有初始控制器(仅开环调优),您可以使用连接到的源块u驱动装置到达工作点。

  • 在实验过程中避免任何负荷对设备的干扰。负荷扰动会使机组输出失真,降低频响估计的精度。

  • 让实验运行足够长的时间,让算法收集足够的数据,在它探测的所有频率上进行良好的估计。有两种方法可以决定何时停止实验:

    • 提前确定实验时间。保守估计实验持续时间为200/小时ωc在叠加实验模式或550/ωc在实流实验模式下,其中ωc是您的目标带宽。

    • 观察信号在% conv输出,当信号稳定在100%附近时停止实验。

  • 当你停止实验,块计算调谐PID增益和更新信号在pid增益端口。

您可以配置任何适合您的应用程序的逻辑来控制实验的开始和停止时间。

数据类型:|

属性的值目标带宽(rad/sec)参数。详细信息请参阅该参数。

依赖关系

要启用此端口,请在“调优”选项卡中目标带宽(rad/sec)中,选择使用外部资源

数据类型:|

属性的值目标相位裕度(度)参数。详细信息请参阅该参数。

依赖关系

要启用此端口,请在“调优”选项卡中目标相位裕度(度)中,选择使用外部资源

数据类型:|

属性的值正弦振幅参数。详细信息请参阅该参数。

依赖关系

要启用此端口,请在“实验”选项卡中正弦振幅中,选择使用外部资源

数据类型:|

输出

全部展开

插入块到您的系统,这样这个端口馈送输入信号到您的工厂。

  • 实验进行时(启动/停止正),块将测试信号注入该端口的装置。如果你有任何饱和或速率限制保护植物,从u +Δ进去。

  • 当实验停止时(启动/停止0或负),块传递信号不变uu +Δ

依赖关系

要启用该端口,请在输出信号配置中,选择控制+扰动

数据类型:|

该块在该端口产生扰动信号。通常,通过和块从该端口注入扰动,如下图所示。

  • 实验进行时(启动/停止正),块在此端口产生扰动信号。

  • 当实验停止时(启动/停止0或负),该端口的信号为零。在这种状态下,阻塞对植物没有影响。

依赖关系

要启用该端口,请在输出信号配置中,选择扰动只

数据类型:|

实验进行时(启动/停止正),块注入测试信号到工厂和测量工厂的反应y.它使用这些信号来估计在目标带宽附近的几个频率上的频率响应,以便进行调谐。% conv表示离完成装置频率响应的估计还有多远。通常,这个值在实验开始后迅速上升到90%左右,然后逐渐收敛到更高的值。当它接近100%时停止实验。

数据类型:|

这个4元总线信号包含调谐PID增益PD,为滤波系数N.这些值对应于PD,N中的表达式中的参数形式参数。初始值分别为0、0、0和100。该块在实验结束时更新值。这个总线信号总是有四个元素,即使您没有调优PIDF控制器。

如果你有一个与块相关联的PID控制器,你可以在实验结束后用这些值更新控制器。为此,在Block选项卡中单击更新PID块

数据类型:|

该端口输出调优控制器获得的估计相位裕度,以度为单位。当调优实验结束时,块更新此值。从的角度计算估计相位裕度GcCc),G是估计的植物,C是调优控制器,和ωc是交叉频率(带宽)。方法指定的目标相位裕量可能与估计的相位裕量不同目标相位裕度(度)参数。这是一个指标的鲁棒性和稳定性所实现的调谐系统。

  • 通常,估计相位裕度接近目标相位裕度。一般来说,该值越大,调优后的系统越健壮,超调越少。

  • 负相位裕度表明闭环系统可能不稳定。

依赖关系

要启用此端口,请在Tuning选项卡中选择输出估计相位裕度由调谐控制器实现

该端口输出实验估计的频响数据。初始值为的朋友是[0,0,0,0]。在实验过程中,该块以不同频率注入信号[1/ 10,1 / 3,1,3,10]ωc,在那里ωc目标带宽。在实验过程中的每个采样时间,块都会更新的朋友用一个矢量分别包含这些频率上的复频率响应。您可以使用响应的进度作为% conv检验估计的收敛性。当实验停止时,块更新的朋友最终估计的频率响应用于计算PID增益。

依赖关系

要启用此端口,请在“实验”选项卡中选择植物频率响应接近带宽

该端口输出一个包含植物输入(u +Δ)和植物产量(y)当实验开始时。这些值是装置在标称工作点上的输入和输出,在该块执行实验。

依赖关系

要启用此端口,请在“实验”选项卡中选择工厂名义投入和产出

参数

全部展开

优化选项卡

请指定系统中PID控制器的类型。控制器类型表示控制器中存在哪些动作。以下控制器类型可用于PID自动整定:

  • P-仅按比例

  • -仅限积分

  • π-比例和积分

  • PD-比例和导数

  • PDF-比例和导数与导数滤波器

  • PID-比例,积分和导数

  • PIDF-比例,积分,导数与导数滤波器

当你更新PID控制器块或自定义PID控制器与调谐参数值,确保控制器类型匹配。

可调:是的

编程使用

块参数:PIDType
类型:特征向量
价值观:“P”|“我”|“π”|“PD”|“PDF”|“PID”|“PIDF”
默认值:“π”

指定控制器形式。控制器的形式决定了PID系数的解释PD,N

  • 平行——在平行式中,离散时间PIDF控制器的传递函数为:

    C P + F z + D N 1 + N F d z

    在哪里Fz而且Fdz积分器和滤波器公式(见积分器的方法而且过滤方法).连续时间并行形式PIDF控制器的传递函数为:

    C P + 1 年代 + D N 年代 年代 + N

    其他控制器动作相当于设置P,或D为零。

  • 理想的——在理想的式中,离散时间PIDF控制器的传递函数为:

    C P 1 + F z + D N 1 + N F d z

    连续时间理想形式PIDF控制器的传递函数为:

    C P 1 + 1 年代 + D N 年代 年代 + N

    其他控制器动作相当于设置D到零或设定,.(在理想状态下,控制器必须具有比例作用。)

当你更新PID控制器块或自定义PID控制器与调谐参数值,确保控制器形式匹配。

可调:是的

编程使用

块参数:PIDForm
类型:特征向量
价值观:“平行”|“理想”
默认值:“平行”

指定PID控制器是离散时间控制器还是连续时间控制器。

  • 对于离散时间,必须指定PID控制器的采样时间控制器采样时间(秒)参数。

  • 对于连续时间,还必须使用参数为PID自动整定实验指定采样时间实验采样时间(秒)参数。

编程使用

块参数:TimeDomain
类型:特征向量
价值观:“离散”|连续时间的
默认值:“离散”

以秒为单位指定PID控制器的采样时间。该值还设置了该块执行实验的采样时间。

为了执行PID整定,块测量频率响应信息的频率为目标带宽的10倍。为了确保该频率小于奈奎斯特频率,即目标带宽,ωc必须满足ωcT年代≤0.3,在哪里T年代ωc控制器的采样时间是你用控制器采样时间(秒)参数。

当你更新PID控制器块或自定义PID控制器与调谐参数值,确保控制器采样时间匹配。

提示

如果您希望在应用程序中以不同的采样时间运行已部署的块,请将此参数设置为-1,并将该块放入触发子系统.然后,在所需的采样时间触发子系统。如果部署后不打算改变采样时间,请指定固定和有限的采样时间。

依赖关系

若要启用该参数,请设置时间域离散时间

编程使用

块参数:DiscreteTs
类型:标量
价值正标量| -1
默认值:0.1

使能此参数以不同于正在整定的PID控制器的采样率和块执行的频响估计实验的采样率的采样率运行整定。PID增益整定算法是计算密集型的,当您希望将块部署到硬件并以快速采样时间调优控制器时,一些硬件可能无法在单个时间步内完成PID增益计算。属性指定调优采样时间,以降低硬件吞吐量要求调优采样时间(秒)参数。

依赖关系

若要启用该参数,请设置时间域离散时间

编程使用

块参数:UseTuningTs
类型:特征向量
价值“关闭”|“上”
默认值:“关闭”

指定调优算法的采样时间,单位为秒。

如果您打算将块部署在处理能力有限的硬件上,并且希望用快速采样时间调优控制器,请指定一个采样时间,以便调优算法以比您正在调优的PID控制器更慢的速度运行。

依赖关系

若要启用该参数,请设置时间域离散时间并选择在不同的采样时间进行调谐

编程使用

块参数:TuningTs
类型:标量
价值积极的标量
默认值:0.2

即使在调优连续时间控制器时,也必须为块执行的实验指定采样时间。一般来说,不建议对物理设备的PID自动整定使用连续时间控制器整定。如果您想针对工厂的Simulink模型调整连续时间,请使用快速的实验采样时间,例如0.02/ωc

依赖关系

启用此参数时时间域连续时间

编程使用

块参数:ContinuousTs
类型:积极的标量
默认值:0.02

指定控制器中积分器项的离散积分公式。离散时间下,块假设PID控制器传递函数为:

C P + F z + D N 1 + N F d z

在平行形式中,或者在理想形式中,

C P 1 + F z + D N 1 + N F d z

对于控制器采样时间T年代,积分器的方法参数决定公式F如下:

积分器的方法 F
向前欧拉

T 年代 z 1

向后欧拉

T 年代 z z 1

梯形

T 年代 2 z + 1 z 1

有关每种方法的相对优势的更多信息,请参见离散PID控制器块引用页。

当你更新PID控制器块或自定义PID控制器与调谐参数值,确保积分器方法匹配。

可调:是的

依赖关系

启用此参数时时间域离散时间控制器包含积分动作。

编程使用

块参数:IntegratorFormula
类型:特征向量
价值观:“向前欧拉”|“向后欧拉”|“梯形”
默认值:“向前欧拉”

指定控制器中导数滤波器项的离散积分公式。离散时间下,块假设PID控制器传递函数为:

C P + F z + D N 1 + N F d z

在平行形式中,或者在理想形式中,

C P 1 + F z + D N 1 + N F d z

对于控制器采样时间T年代,过滤方法参数决定公式Fd如下:

过滤方法 Fd
向前欧拉

T 年代 z 1

向后欧拉

T 年代 z z 1

梯形

T 年代 2 z + 1 z 1

有关每种方法的相对优势的更多信息,请参见离散PID控制器块引用页。

当你更新PID控制器块或自定义PID控制器与调谐参数值,确保过滤方法匹配。

可调:是的

依赖关系

启用此参数时时间域离散时间控制器包含一个导数滤波器项。

编程使用

块参数:FilterFormula
类型:特征向量
价值观:“向前欧拉”|“向后欧拉”|“梯形”
默认值:“向前欧拉”

目标带宽,以rad/sec为单位指定,是调谐开环响应的0-dB增益交叉频率的目标值CP,在那里P是植物的反应,和C控制器响应。这个交叉频率大致设置了控制带宽。为了一个上升的时间τ秒,目标带宽的一个很好的猜测是2/τrad /秒。

为了执行PID整定,自动调谐器块测量频率响应信息,频率为目标带宽的10倍。为了确保该频率小于奈奎斯特频率,即目标带宽,ωc必须满足ωcT年代≤0.3,在哪里T年代控制器的采样时间是你用控制器采样时间(秒)参数。由于这种情况,您可以强制进行调优的最快上升时间约为6.67T年代.如果这个上升时间不符合你的设计目标,考虑减少T年代

为了获得闭环调优的最佳结果,使用的目标带宽大约是初始PID控制器带宽的10倍。要调优控制器以适应更大的带宽变化,请使用较小的变化进行增量调优。

若要通过输入端口提供目标带宽,请选择使用外部资源

编程使用

块参数:带宽
类型:积极的标量
默认值:1

指定在交叉频率处调优开环响应的目标最小相位裕度。目标相位裕度反映了所期望的调谐系统的鲁棒性。通常,选择45°-60°范围内的值。一般来说,较高的相位裕度可以改善超调,但会限制响应速度。默认值,60°,倾向于平衡性能和健壮性,产生大约5-10%的超调,这取决于您的设备的特性。

若要通过输入端口提供目标相位裕度,请选择使用外部资源

可调:是的

编程使用

块参数:TargetPM
类型:标量
价值观:0 - 90
默认值:60
实验选项卡

指定每个频率上的扰动是否按顺序施加(Sinestream)或同时(叠加).

  • Sinestream-在这种模式下,块分别在每个频率上施加扰动。有关用于估计的正流信号的更多信息,请参见输入信号

  • 叠加-在这种模式下,扰动信号一次包括所有指定的频率。用于频率向量上的频响估计ω= (ω1,…,ωN]在振幅上一个= (一个1,…,一个N],则扰动信号为:

    Δ u 一个 ω t

Sinestream模式可以更准确,也可以更少干扰,因为扰动的总大小永远不会大于指定的值正弦振幅参数。然而,由于正弦流扰动的顺序性质,您添加的每一个频率点都会增加推荐的实验时间(参见启动/停止详细信息输入端口)。因此,估计实验通常在叠加模式与满意的结果。

与叠加输入信号相比,单流信号减少了执行时间,但也需要更长的时间来估计频率响应。当处理能力有限且希望减少执行时间时,使用正流信号的频率响应估计非常有用。

编程使用

块参数:ExperimentMode
类型:特征向量
价值观:“叠加”|“Sinestream”
默认值:“叠加”

指定工厂是稳定的还是一体化的。如果工厂有一个或多个集成器,请选择集成

编程使用

块参数:PlantType
类型:特征向量
价值观:“稳定”|“整合”
默认值:“稳定”

指定植物是正的还是负的。如果在标称工作点上的设备输入的正变化导致设备输出的正变化,则指定积极的.否则,指定负数。对于稳定的植物,植物的标志是植物直流增益的标志。

编程使用

块参数:PlantSign
类型:特征向量
价值观:“积极”|“负面”
默认值:“积极”

在实验过程中,该块以一定频率向植物注入正弦信号[1/ 10,1 / 3,1,3,10]ωc,在那里ωc调优的目标带宽。使用正弦振幅来指定每个注入信号的振幅。指定一个:

  • 标量值在每个频率注入相同的振幅

  • 长度为5的矢量,以指定每个点的不同振幅[1/ 10,1 / 3,1,3,10]ωc

在具有典型目标带宽的典型植物中,植物在实验频率上的响应幅度变化不大。在这种情况下,可以使用一个标量值在所有频率上应用相同的幅度扰动。然而,如果你知道响应在频率范围内急剧衰减,可以考虑降低低频输入的振幅,增加高频输入的振幅。当所有的植物响应都具有相当的幅度时,在数值上对估计实验有较好的效果。

摄动振幅必须为:

  • 大到足以使扰动克服植物驱动器中的任何死区,并产生高于噪声水平的响应

  • 足够小,以保持装置在接近标称工作点的近似线性区域内运行,并避免装置输入或输出饱和

实验模式叠加时,正弦信号叠加。因此,扰动至少可以与所有振幅之和一样大。确保最大的扰动在装置执行器的范围内。使执行器饱和会在估计的频率响应中引入误差。

要通过输入端口提供正弦振幅,请选择使用外部资源

可调:是的

编程使用

块参数:AmpSine
类型:标量,长度为5的向量
默认值:1
块选项卡

该块包含两个模块,一个执行实时频率响应估计,另一个使用得到的估计响应来调整PID增益。当您在外部仿真模式下运行包含块的Simulink模型时,默认情况下将部署两个模块。您可以通过只部署评估模块来节省目标硬件上的内存在Simulink中控制实时PID自动整定).在这种情况下,调优算法运行在Simulink主机上,而不是目标硬件上。当选择此选项时,部署的算法使用的内存大约是清除该选项时的三分之一。

PID增益计算比频响估计需要更大的计算量。为了加快控制器采样时间,一些硬件可能无法在一个执行周期内完成增益计算。因此,当使用计算能力有限的硬件时,选择此选项可以让您用快速采样时间调优PID控制器。

此外,当您启用此选项时,在调优实验结束和新的PID增益到达初始值之间可能会有几个采样周期的延迟pid增益输出端口。在将增益推至控制器之前,首先确认控制器的变化pid增益输出端口而不是使用启动/停止信号作为更新的触发器。

如果您打算在不使用外部模拟模式的情况下部署块并执行PID整定,请不要选择此选项。

谨慎

使用此选项时,必须对模型进行配置,以便在生成的代码中可调数值块参数,而不是内联的。指定可调参数:

  • 在模型编辑器中:在配置参数,在代码生成>优化,设置默认参数行为可调

  • 在命令行:使用set_param (mdl DefaultParameterBehavior,可调)

编程使用

块参数:DeployTuningModule
类型:特征向量
价值观:“关闭”|“上”
默认值:“关闭”

如果您正在使用Simulink PLC编码器为自动调谐器块生成代码。清除用于使用任何其他MathWorks生成代码的参数®代码生成的产品。

选择此参数仅影响内部块配置,以便与Simulink PLC编码器.参数对生成的代码没有操作作用。

在默认情况下,该块以控制信号作为输入,并在端口处提供控制信号加上实验扰动u +Δ.然后将此信号输入到植物输入中,如下图所示。

这种默认配置要求在控制器和设备之间插入块。如果您想自己将扰动信号添加到控制信号中,请选择扰动只.在这种配置中,块输出只在端口处包含扰动信号Δu.你将这个扰动信号注入到装置中,例如,一个和块,如下图所示。

在此配置中,可以选择性地注释掉闭环PID自动调谐器在不中断模型的情况下阻塞。

根据仿真环境或硬件要求指定浮点精度。

编程使用

块参数:BlockDataType
类型:特征向量
价值观:“双”|“单一”
默认值:“双”

在某些情况下,自动调谐器块可以将调谐增益写入标准或自定义PID控制器块。表示目标PID控制器是连接到的块u自动调谐器块的端口,选择此选项。指定一个未连接的PID控制器u,清除该选项。

要将自调谐块中的调谐增益写入模型中的任意位置的PID控制器,目标块必须是:

  • 一个PID控制器离散PID控制器块。

  • 一种掩模子系统,其中PID系数为掩模参数PD,N,或控制器中存在的这些参数的任何子集。例如,如果使用自定义PI控制器,则只需要掩码参数P而且

在某些情况下,自动调谐器块可以将调谐增益写入标准或自定义PID控制器块。使用该参数指定目标PID控制器的路径。

要将自调谐块中的调谐增益写入模型中的任意位置的PID控制器,目标块必须是:

  • 一个PID控制器离散PID控制器块。

  • 一种掩模子系统,其中PID系数为掩模参数PD,N,或控制器中存在的这些参数的任何子集

依赖关系

点击“更新PID块”,将调谐增益写入连接“u”端口的PID块被选中。

该块不会自动将调谐增益推到目标PID块。如果您的PID控制器块符合中描述的标准指定PID块路径参数说明调优后,点击此按钮将调优后的增益传输到块中。

您可以在模拟运行时更新PID块,包括在外部模式下运行时。这样做有助于立即验证调谐PID增益。在模拟过程中的任何时候,您都可以更改参数,重新开始实验,并将新的调谐增益推到PID块。然后,您可以继续运行模型并观察您的工厂的行为。

当您单击此按钮时,该块将在MATLAB中创建一个结构®包含实验和调优结果的工作区。这个结构,OnlinePIDTuningResult,包含以下字段:

  • PDN-调谐PID增益。该结构包含要调优的控制器类型所必需的这些字段。例如,如果您正在调优PI控制器,则结构包含P而且,但不是D而且N

  • TargetBandwidth参数中指定的值目标带宽(rad/sec)块参数。

  • TargetPhaseMargin参数中指定的值目标相位裕度(度)块参数。

  • EstimatedPhaseMargin-由调谐系统实现的估计相位裕度。

  • 控制器-调整后的PID控制器,返回为pid(为平行形式)或pidstd(理想形式)模型对象。

  • 植物-估计的植物,作为的朋友模型对象。这的朋友包含在实验频率下获得的响应数据[1/ 10,1 / 3,1,3,10]ωc

  • PlantNominal-当实验开始时,设备在标称工作点的输入和输出,指定为具有场的结构u(输入)和y(输出)。

在运行仿真时,包括在外部模式下运行时,可以导出到MATLAB工作区。

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。

版本历史

在R2018a中引入

Baidu
map