开环PID自动调谐

基于开环实验实时估计的频率响应,自动调整PID增益

  • 库:
  • 金宝appSimulink的控制设计

描述

开环PID自动调谐块允许您针对物理设备实时调整PID控制器。该块可以调整PID控制器以达到指定的带宽和相位裕度,而无需参数化的工厂模型或初始控制器设计。如果您有诸如此类的代码生成产品金宝app®编码器™,您可以生成在硬件上实现调优算法的代码,允许您实时调优,使用或不使用Simulink来管理自动调优过程。金宝app

如果你在Simulink中有一个植物模型,你也可以使用这个金宝app模块来获得一个初始的PID设计。这样做可以让你预览植物的响应,并在实时调节控制器之前调整PID自动调节的设置。

为了实现无模型调教下,开环PID自动调谐布洛克:

  1. 在标称工作点向装置注入测试信号,收集装置的输入-输出数据,并实时估计频率响应。该测试信号是正弦信号和阶跃扰动信号的组合,附加在实验开始时测量的标称植物输入信号之上。如果该植物是一个反馈回路的一部分,该模块在实验过程中打开回路。

  2. 实验结束时,根据估计的开环带宽附近的工频响应,对PID控制器参数进行整定。

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

因为该块执行开环估计实验,不与不稳定的植物或具有多个集成工厂使用此块。

要使用该算法,不需要初始PID控制器设计。然而,你必须有办法使工厂到一个名义工作点的频率响应估计实验。如果您有一个初始控制器设计,您可以使用闭环PID自动调谐。有关闭环和开环PID自动调谐的比较,请参阅何时使用PID自动调优

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

有关使用的详细信息开环PID自动调谐块,见:

有关PID自动调优的更多信息,以及闭环和开环方法的比较,请参阅何时使用PID自动调优

港口

输入

全部展开

将该块插入到系统中,使该端口接受来自源的控制信号。通常,该端口接受来自系统中的PID控制器的信号。

数据类型:|

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

数据类型:|

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

  • 负或零到正数,实验开始

  • 正到负或零,实验停止

当实验不运行时,该块通过从不变信号uu +Δu。在这种状态下,块对工厂或控制器的行为没有影响。

通常情况下,你可以使用从0变为1开始实验的信号,以及从1到0来阻止它。几点到配置时需要考虑启动/停止信号包括:

  • 当装置处于期望的平衡工作点时开始试验。使用初始控制器将工厂驱动到操作点。如果没有初始控制器(只有开环调优),可以使用连接到的源块u到工厂开车到工作点。

  • 在试验过程中,应避免负荷对装置的干扰。负荷扰动会使系统输出产生畸变,降低频率响应估计的精度。

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

    • 提前确定实验时间。实验持续时间的保守估计是200/ωc用于闭环调优,或100/ωc用于开环调优,其中ωc是你的目标带宽。

    • 注意那地方的信号% conv输出,当信号稳定在100%左右时停止实验。

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

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

数据类型:|

供应的一个值目标带宽(rad /秒)参数。详情请参阅该参数。

依赖

要启用此端口,请在旁边的Tuning选项卡中执行目标带宽(rad /秒), 选择使用外部源

数据类型:|

供应的一个值目标相位裕度(度)参数。详情请参阅该参数。

依赖

要启用此端口,请在旁边的Tuning选项卡中执行目标相位裕度(度), 选择使用外部源

数据类型:|

供应的一个值正弦振幅参数。详情请参阅该参数。

依赖

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

数据类型:|

供应的一个值一步振幅参数。详情请参阅该参数。

依赖

要启用此端口,请在旁边的实验选项卡中步骤振幅, 选择使用外部源

数据类型:|

输出

全部展开

则插入到你的系统中,使得这个端口反馈的输入信号工厂。

  • 当实验进行时(启动/停止正),则块内喷射在此端口测试信号进入植物。该测试信号是在u对应的值,当实验开始加上实验微扰。如果您有任何饱和或限速保护植物,饲料从信号u +Δu进去。

  • 当实验不运行时(启动/停止为0或负数),则该块不加改变地传递信号uu +Δu

数据类型:|

当实验进行时(启动/停止正),则块内喷射测试信号引入植物中并测量在植物响应y。它使用这些信号来估计在目标带宽附近的几个频率上的频率响应。% conv显示设备频率响应的推测如何接近完成的。通常,这个值迅速上升至约90%的实验开始后,再逐渐收敛到一个更高的值。停止实验,当它成水平接近100%。

数据类型:|

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

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

数据类型:|

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

  • 典型地,所估计的相位裕度是接近目标相位裕量。在一般情况下,值越大,越健壮是调谐系统和更少的过冲有。

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

依赖

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

该端口输出实验估计的频率响应数据。初始值为的朋友是[0,0,0,0]。在实验过程中,信号块以一定的频率注入信号[1/3, 1, 3, 10]ωc,在那里ωc是目标带宽。在实验期间的每个样本时间,块更新的朋友用一个包含在每个频率上的复频率响应的向量。您可以使用响应的进展作为替代% conv检验估计的收敛性。当实验停止时,块更新的朋友最后用估计的频率响应来计算PID增益。

依赖

要启用该端口,在实验选项卡中,选择附近工厂的带宽频率响应

如果您选择利用阶跃信号估计直流增益在实验片,块估计通过在注入扰动步骤信号植物的直流增益。当实验停止时,块更新该端口与所估计的DC增益值。

依赖

要启用该端口,在实验选项卡中,选择植物直流增益

该端口输出包含植物输入向量(u +Δu)及植物产量(y当实验开始时。这些值是设备在标称操作点进行试验时的输入和输出。

依赖

要启用该端口,在实验选项卡中,选择植物标称输入和输出

参数

全部展开

调整标签

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

  • P只有比例 -

  • - 积分只

  • PI- 比例和积分

  • PD-比例和导数

  • PDF- 比例并用微分滤波器衍生物

  • PID- 比例,积分和微分

  • PIDF- 比例,积分和与微分滤波器衍生物

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

可调:

编程使用

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

指定控制器的形式。控制器形式决定PID系数的解释P,,DN

  • 平行- 在平行形式,的一个离散时间PIDF控制器的传递函数:

    C = P + F ( z ) + D N + F d ( z ) ,

    哪里F(z)Fd(z)是积分器和滤波器的公式(见积分器的方法过滤方法)。连续时间并行形式PIDF控制器的传递函数为:

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

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

  • 理想的- 在理想的形式,的一个离散时间PIDF控制器的传递函数:

    C = P ( 1 + F ( z ) + D D / N + F d ( z ) )

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

    C = P ( 1 + 1 年代 + D 年代 D 年代 / N + 1 )

    其他控制器动作相当于设置D到零或设置,。(在理想的形式中,所述控制器必须比例作用。)

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

可调:

编程使用

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

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

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

  • 对于连续时间,您还必须为PID自动调优实验指定一个采样时间实验样本时间(秒)参数。

编程使用

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

指定PID控制器的以秒采样时间。这个值还设置用于由块进行的实验中,样品的时间。

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

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

提示

如果希望在应用程序中以不同的示例时间运行部署的块,请将此参数设置为-1并将该块放在a中触发子系统。然后,在所需的示例时间触发子系统。如果您不打算在部署后更改样本时间,请指定一个固定且有限的样本时间。

依赖

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

编程使用

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

即使在调优连续时间控制器时,也必须为块执行的实验指定一个样本时间。一般情况下,对于针对物理设备的PID自动调优,不建议使用连续时间控制器调优。如果您希望根据工厂的Simulink模型调优连续时间,请使用一个快速的实验样本时间,例如0.02/金宝appωc

依赖

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

编程使用

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

指定在控制器的积分项的离散积分公式。在离散时间,PID控制器的传递函数假定由块是:

C = P + F ( z ) + D N + F d ( z ) ,

并联的形式,或以理想的形式,

C = P ( 1 + F ( z ) + D D / 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 + F d ( z ) ,

并联的形式,或以理想的形式,

C = P ( 1 + F ( z ) + D D / N + F d ( z ) )

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

过滤方法 Fd
向前欧拉

T 年代 z - 1

向后欧拉

T 年代 z z - 1

梯形

T 年代 2 z + 1 z - 1

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

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

可调:

依赖

启用此参数时,时间域离散时间并且,所述控制器包括一个微分滤波器术语。

编程使用

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

目标带宽是调谐开环响应的0-dB增益交叉频率的目标值CP,在那里P是植物响应,并且C为控制器响应。这个交叉频率大致设置了控制带宽。对于一个上升τ,对目标带宽的一个很好的猜测是2/τ

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

为了提供经由输入端口目标带宽,选择使用外部源

编程使用

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

在交叉频率为调谐开环响应指定一个目标最小相位裕度。目标相位裕度反映了系统期望的鲁棒性。通常,选择45°-60°范围内的值。通常,较高的相位裕度可以改善超调,但会限制响应速度。默认值60°趋向于平衡性能和健壮性,根据工厂的特性,会产生大约5-10%的超调。

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

可调:

编程使用

块参数:TargetPM
类型:纯量
价值观:0 - 90
默认值:60

实验标签

在调谐实验中,块注入一个正弦信号到在频率植物[1/3, 1, 3, 10]ωc,在那里ωc是用于调谐的目标带宽。用正弦振幅指定每个这些注入的信号的振幅。指定:

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

  • 长度为4的矢量,以在每一个指定一个不同幅值[1/3, 1, 3, 10]ωc

与典型的目标带宽的典型植物,在实验频率植物响应的幅度没有广泛地变化。在这种情况下,可以使用标值在所有频率适用相同幅度的扰动。但是,如果你知道响应的频率范围内急剧衰减,考虑降低的较低频率输入幅度和增加的高频率输入幅度。这是当所有的植物响应具有相当的幅度估计实验数值较好。

扰动的幅度必须是:

  • 足够大以使得扰动克服了植物的致动器的任何死区,并生成噪声水平以上的应答

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

在实验中,正弦信号叠加(与步骤扰动,如果有的话,在开环调谐的情况下)。因此,扰动可以是至少一样大所有振幅的总和。因此,以获得振幅适当的值,可以考虑:

  • 致动器的限制。确保最大的可能的扰动是在你的工厂执行器的范围内。使执行器饱和会使估计的频率响应产生误差。

  • 多少响应指定的执行器输入在额定工作点调整植物响应变化。例如,假设你正在调谐在发动机转速控制中使用的PID控制器。您已确定在围绕目标带宽的频率,一个1°中的节流阀角度变化导致约200rpm的发动机转速的变化。进一步假设以保持线性性能的速度必须不超过100转从标称工作点偏离。在这种情况下,选择振幅以确保扰动信号是不大于0.5(假设值是致动器的限度内)。

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

可调:

编程使用

块参数:AmpSine
类型:标量,长度为4的向量
默认值:1

当这个选项被选择,实验包括一个估计的植物直流增益。块通过向设备中注入一个阶跃信号来执行这个估计。

谨慎

如果你的工厂只有一个积分器,清除这个选项。对于具有多个积分器或不稳定极点的植物,不要使用开环PID自动调谐块。

可调:

编程使用

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

如果利用阶跃信号估计直流增益块通过向装置中注入一个阶跃信号来估计直流增益。使用这个参数来设置信号的振幅。选择阶跃振幅的注意事项与指定的注意事项相同正弦振幅

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

可调:

依赖

此参数启用时利用阶跃信号估计直流增益被选中。

编程使用

块参数:AmpStep
类型:纯量
默认值:1

块选项卡

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

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

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

谨慎

当您使用此选项,必须对模型进行配置,使得数字块参数在生成的代码可调谐的,而不是内联。要指定可调参数:

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

  • 在命令行:使用set_param(MDL, 'DefaultParameterBehavior', '可调谐')

编程使用

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

如果正在使用,请选择此参数金宝app仿真软件PLC编码器生成autotuner块的代码。清除用于使用任何其他MathWorks生成代码的参数®代码生成的产品。

选择此参数仅影响内部块配置,以便与金宝app仿真软件PLC编码器。该参数对生成的代码没有作用。

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

编程使用

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

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

写入从自动调谐块在模型中的PID控制器的任何地方调谐增益,目标块必须是:

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

  • 一种掩码子系统,其中的PID系数是以掩码参数命名的P,,DN或控制器中存在的这些参数的任何子集。例如,如果使用自定义PI控制器,则只需要掩码参数P

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

写入从自动调谐块在模型中的PID控制器的任何地方调谐增益,目标块必须是:

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

  • 一种掩码子系统,其中的PID系数是以掩码参数命名的P,,DN或控制器中存在的这些参数的任何子集

依赖

此参数启用时点击“更新PID块”写入调谐增益以连接到“U”端口的PID块被选中。

块不自动将调谐的增益设置到目标PID块。如果PID控制器块满足在所述的标准指定PID块路径参数说明,调优后,单击此按钮将调优后的增益传输到块。

您可以在模拟运行时更新PID块,包括在外部模式下运行时。这样做对于立即验证调优的PID增益非常有用。在仿真期间的任何时候,您都可以更改参数,重新开始实验,并将新的调优增益推到PID块。然后您可以继续运行该模型并观察您的工厂的行为。

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

  • P,,D,N-调整PID增益。结构包含这些字段中任何一个对于您正在调优的控制器类型都是必需的。例如,如果您正在调优PI控制器,则该结构包含P,但不DN

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

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

  • EstimatedPhaseMargin-估计相位裕度达到调谐系统。

  • 控制器-调优的PID控制器,作为a返回PID(用于并行形式)或pidstd(对于理想的形式)模型对象。

  • - 估计的工厂,返回一个的朋友模型对象。这的朋友包含在实验获得的频率响应数据[1/3, 1, 3, 10]ωc

  • PlantNominal- 植物的输入和输出在实验开始时,额定工作点,指定为具有结构字段u(输入)和y(输出)。

  • PlantDCGain-系统的直流增益估计值(以绝对单位表示)利用阶跃信号估计直流增益调谐过程中被选中。

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

扩展功能

C / c++代码生成
生成使用的Simulink编码器™C和C ++代码。金宝app

PLC的代码生成
生成使用的Simulink PLC编码器™结构化文本代码。金宝app

介绍了R2017b