主要内容

闭环PID自动调谐

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

  • 库:
  • 金宝app仿真软件控制设计

  • 闭环PID自动调谐块

描述

闭环PID自动调谐块让你实时调整一个PID控制器对一个物理工厂,你有一个初始PID控制器产生一个稳定的循环。在整个自动整定过程中,被控对象始终处于初始PID控制器的闭环控制之下。该块可以调整PID控制器,以达到指定的带宽和相位裕度,而无需参数化对象模型。如果您有一个代码生成产品,例如金宝app®编码员™,您可以生成在硬件上实现调整算法的代码,以便在使用或不使用Simulink管理自动调整过程的情况下实时调整。金宝app

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

为了实现无模型的调优,闭环PID自动调谐布洛克:

  1. 将测试信号注入到设备中,以收集设备的输入-输出数据并实时估计频率响应。测试信号是将正弦扰动信号加到被测对象输入信号上的组合。

  2. 在实验的最后,根据估计的目标带宽附近的被控对象频率响应,对PID控制器参数进行调整。

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

不像的开环PID自动调谐在整个试验过程中,回路保持闭合。保持回路闭合有助于在估算试验期间维持电厂的安全运行。

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

  • 任何稳定的工厂

  • 具有一个或多个积分器的连续时间设备(极点在年代= 0)或虚轴上的一对或多对复杂极点

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

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

块支持用金宝app金宝app仿真软件编码器,嵌入式编码器®,金宝appSimulink PLC编码器™.它不支持使用HDL Co金宝appder™生成代码。

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

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

港口

输入

全部展开

将这个块插入到你的系统中,这样这个端口就可以接受来自一个源的控制信号。通常,这个端口接受来自系统中的PID控制器的信号。

数据类型:|

连接这个端口到工厂的输出。

数据类型:|

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

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

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

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

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

  • 当设备处于所需的平衡工作点时,开始试验。使用初始控制器将设备驱动至工作点。如果没有初始控制器(仅限开环调谐),则可以使用连接到的源块u驱动工厂到操作点。

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

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

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

    • 观察发动机上的信号% conv输出,当信号稳定到接近100%时停止实验。

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

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

数据类型:|

的值目标带宽(rad /秒)参数。有关详细信息,请参见该参数。

依赖关系

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

数据类型:|

的值目标相位裕度(度)参数。有关详细信息,请参见该参数。

依赖关系

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

数据类型:|

的值正弦振幅参数。有关详细信息,请参见该参数。

依赖关系

要启用该端口,请在Experiment选项卡中正弦振幅中,选择使用外部源

数据类型:|

输出

全部展开

将这个模块插入到你的系统中,这样这个端口就可以将输入信号提供给你的工厂。

  • 实验进行时(启动/停止正),阻塞在此端口将测试信号注入电站。如果你有任何饱和或速率限制保护植物,从u +Δ我喜欢它。

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

依赖关系

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

数据类型:|

块在这个端口产生一个扰动信号。通常,您可以通过一个sum块从该端口注入扰动,如下图所示。

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

  • 当实验不进行时(启动/停止零或负),此端口的信号为零。在此状态下,块对设备没有影响。

依赖关系

要启用该端口,请输入输出信号的配置中,选择仅扰动

数据类型:|

实验进行时(启动/停止正),块将测试信号注入植物并测量植物的反应在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增益。

依赖关系

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

该端口输出包含植物输入的载体(u +Δ)及植物产量(y)实验开始时。这些值是在模块执行实验的标称工作点处的设备输入和输出。

依赖关系

要启用该端口,请在Experiment选项卡中选择工厂标称输入和输出

参数

全部展开

优化选项卡

请指定系统中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

    在哪里FzFdz是积分器和滤波器公式(参见积分器的方法过滤法).连续时间并联式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控制器,并调整参数值,确保控制器形式匹配。

可调:是的

编程使用

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

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

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

  • 对于连续时间,还必须使用实验采样时间(秒)参数。

编程使用

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

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

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

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

提示

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

依赖关系

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

编程使用

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

启用此参数,以不同于您正在调谐的PID控制器的采样率和块执行的频率响应估计实验的采样率来运行调谐。PID增益调整算法是计算密集型的,当你想将块部署到硬件并以快速的采样时间调整控制器时,一些硬件可能不会在单个时间步长内完成PID增益的计算。要减少硬件吞吐量需求,可以使用调优采样时间(秒)参数。

依赖关系

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

编程使用

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

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

如果您打算将块部署在处理能力有限的硬件上,并希望以较快的采样时间对控制器进行调优,则指定一个采样时间,使调优算法的运行速度低于您正在调优的PID控制器。

依赖关系

要启用此参数,请设置时间域离散时间并选择在不同的采样时间调整

编程使用

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

即使当你调整一个连续时间控制器,你必须指定一个样本时间的实验所执行的块。一般来说,不推荐连续时间控制器整定用于针对物理设备的PID自动整定。如果您想根据工厂的Simulink模型调整连续时间,请使用快速的实验样本时间,例如0.02/金宝appω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-在这种模式下,块在每个频率分别施加扰动。有关估计正弦流信号的更多信息,请参见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增益。当您在外部模拟模式中运行包含该金宝app模块的Simulink模型时,默认情况下会部署两个模块。你可以通过部署评估模块在目标硬件上节省内存(见在Simulink中控制实时PID自整定金宝app).在本例中,调优算法运行在Simulink主机上,而不是目标硬件上。金宝app当选择此选项时,部署的算法使用的内存大约是清除该选项时的三分之一。

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

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

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

谨慎

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

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

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

编程使用

块参数:部署调整模块
类型:特征向量
价值观:“关闭”|“开”
默认值:“关闭”

如果正在使用,请选择此参数金宝appSimulink PLC编码器为自动调谐器块生成代码。清除参数,以便使用任何其他MathWorks生成代码®代码生成的产品。

选择此参数仅影响内部块配置,以兼容金宝appSimulink 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,但不DN

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

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

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

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

  • 植物-估计的植物,返回作为联邦德国模型对象联邦德国包含在实验频率下得到的响应数据[1/10, 1/3, 1, 3, 10]ωc

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

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

扩展功能

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

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

介绍了R2018a