要在独立应用程序中使用PID自动调优算法对物理工厂进行实时调优,必须将PID自动调优器块部署到您自己的系统中。为此,您需要创建一个Simulink万博1manbetx®部署模型。您可以使用实验和调整参数配置此模型。或者,您可以将其配置为从系统中的其他位置外部提供此类参数。一旦部署到您自己的系统中,自动调谐模型将信号注入到您的设备中并接收设备响应,而无需使用Simulink来控制调谐过程。部署PID自动调谐算法需要代码生成产品,如万博1manbetx万博1manbetx仿真软件编码器™。
作为一种替代方法,您可以使用Simulink控制实验,同时针对您的物理植物进行实时调优。万博1manbetx有关更多信息,请参见在Simulink中控制实时PID自整定万博1manbetx。
综上所述,部署用于实时调整的PID自动调整算法的工作流程如下:
创建一个Simul万博1manbetxink模型用于将PID自动调谐块部署到系统中。
配置启动/停止信号控制调谐实验开始和结束的时间。部署之后,您可以使用此信号在任何时候启动PID自动调优过程。
指定控制器参数例如控制器类型和用于调整的目标带宽。
配置实验参数例如在频响实验中注入的扰动振幅。
将模型部署到系统中,然后启动自动调谐过程对抗你的物理植物。您可以实时验证闭环性能。
实际上,对于实时调优,您可能希望在运行时指定一些参数,例如目标带宽或扰动振幅。有关在部署的应用程序中指定参数的信息,请参阅访问部署后自动调优参数。
使用PID自动调谐块进行实时调谐需要创建用于部署的Simulink模型。有几种方法可以做到这一点。万博1manbetx
在最基本的形式中,部署实时PID自动调谐的模型类似于下图,使用闭环PID自动调谐或者是开环PID自动调谐块这种方法的一个优点是,它允许您在运行时在不同的PID控制器之间切换和调整。
在这里,连接到PID自动调谐块的输入和输出的块表示为系统读取或写入实时数据的硬件接口。例如读PID控制器输出
块可以是用于接收串行数据的接口UDP接收或通过无线网络接收其他信号的接口。类似地,用于写入数据的块,例如写入设备输入
,可以是串行接口、UDP接口或用于将数据写入硬件的其他接口。
自动调谐块的默认端口为:
U
—接收控制信号。
Y
-接收工厂输出。
启动/停止
-接收开始和结束调谐过程的信号。
u+Δu
-输出信号馈给植物输入。当实验不进行时,u+Δu
将控制信号作为输入输出到U
。当实验运行时,块和注入测试信号在u+Δu
。仅对于开循环调优,块中断之间的循环U
和u+Δu
在实验期间。当实验结束时,块将恢复U
和u+Δu
。
% conv
-输出频率响应估计实验进展的数值指示器。
pid增益
-当调整过程停止时,输出调整后的PID增益。
在这个配置中,PID控制器本身存在于系统的另一个模块中。完成调优后,使用自己的逻辑从pid增益
PID控制器的自动调谐块端口。
或者,您可以部署一个包含PID控制器和PID自动调整算法的模块,如下图所示。这种方法的一个优点是,它有助于在单个系统中重新调整特定控制器。
在这个例子中,PID控制器是用Simulink实现的万博1manbetxPID控制器块因为该块的PID增益是可调的,所以您可以配置您的系统以将调整后的增益写入已部署的控制器。或者,您也可以在部署的模型中使用自己的自定义PID控制器子系统。
您可以实现适用于您的应用程序的任何逻辑,以确定是否以及如何使用调整后的增益更新PID控制器PID更新逻辑
子系统代表这样一个模块。这个外部数据
块表示逻辑决定是否更新控制器所需的任何其他信息。
当您使用闭环PID自动调谐块,为pid增益
直接输入到PID控制器增益输入的输出会引入代数回路,从而阻止代码生成。为了避免这个问题,您可以在PID更新逻辑中引入一个打破代数循环的状态。例如,您可以尝试以下方法之一:
使用单位延迟
阻塞以保持控制器输出比控制器输入提前一个时间步长。
使用数据存储内存块,如图所示使用闭环PID自动调谐模块实时调整PID控制器。
当你使用开环PID自动调谐如果你的控制器包括积分器作用,考虑在调谐实验期间实现信号跟踪以避免积分器饱和。信号跟踪使PID控制器能够在实际设备输入超出回路时继续跟踪。如果没有它,当控制回路在调整过程结束时关闭时,系统可能会发生颠簸。
如果PID控制器是Simulink万博1manbetxPID控制器块,你可以使用启用跟踪模式参数的控制器块,以避免这个碰撞。下面的图表演示了一个包含开环PID自动调谐块和一个PID控制器配置跟踪模式的模块。设备输入输入输入控制器模块的跟踪输入。
要启动和停止自动调谐过程,请在启动/停止
港口城市当实验未运行时,模块将不改变地从U
到u+Δu
. 在此状态下,块对设备或控制器行为没有影响。
频率响应估计实验开始和结束时,会出现一个上升或下降的信号启动/停止
港口。因此,在展开后,要开始自动调谐过程,请在顶部使用上升信号启动/停止
港口城市在适当的时间之后,或在% conv
信号接近100时,用下降信号结束实验。当实验结束时,算法产生调谐PID增益,并在pid增益
港口城市保守估计实验时间为200分钟/ωC用于闭环调谐或100/ωC对于开环调优,其中ωC是您的目标带宽。详细的启停信号配置方法请参见闭环PID自动调谐或开环PID自动调谐块引用页面。
要指定系统中PID控制器的配置,请使用自动调谐块的以下参数:
类型
类型
时域
控制器采样时间(秒)
积分法
过滤法
然后,指定目标带宽和相位裕度,以便使用目标带宽(rad /秒)和目标相位裕度(度)参数,分别。
目标带宽是调谐开环响应的0-dB增益交叉频率的目标值人物配对关系哪里P是植物的反应,以及C是控制器的响应。该交叉频率大致设置控制带宽。上升时间τ,很好地猜测目标带宽为2/τ。
目标相位裕度设置调谐系统的鲁棒性。通常,选择约45°–60°范围内的值。通常,较高的相位裕度可改善超调,但可限制响应速度。默认值60°可平衡性能和鲁棒性,产生约5-10%的超调,具体取决于系统的特性你的植物。
您可以在部署后在自己的应用程序中设置大多数调整参数,而不是在部署前在PID自动调谐程序块中固定这些参数。请参阅访问部署后自动调优参数。
频率响应估计实验在目标带宽周围的频率处注入正弦信号ωC:
[1/3, 1, 3, 10]ωC为开环PID自动调谐块
[1/10,1/3, 1, 3, 10]ωC为闭环PID自动调谐块
使用正弦振幅用于指定这些信号振幅的块的参数。
如果您的设备是渐近稳定的,则开环PID自动调谐块可以用阶跃摄动估计被控对象的直流增益。指定这个扰动的振幅一步振幅参数。如果你的工厂只有一个积分器,清除用阶跃信号估计直流增益参数。
不要对不稳定的设备使用闭环或开环PID自动调谐。
不要对具有多个积分器的设备使用开环PID自动整定。您可以使用闭环PID自动整定与多积分器装置。
所有扰动振幅必须为:
大到足以使摄动克服装置执行器中的任何死区,并产生高于噪声水平的响应。
小到足以保持电站在接近标称工作点的近似线性区域内运行,并避免使电站的输入或输出饱和。
将自动调谐模块部署到系统后,请使用上升按钮启动/停止
开始自动调谐过程的信号。部署的模块将测试信号实时地注入到您的物理工厂中。过了适当的时候,还是当% conv
信号稳定在100%附近,使用下跌启动/停止
结束实验的信号。保守估计实验时间为200/ωC用于闭环调谐或100/ωC对于开环调优,其中ωCc是您的目标带宽。当实验停止时,模块根据系统的估计频率响应和指定的调谐目标计算新的PID增益。您可以使用pid增益
信号
当您检查这些增益并将其传输到您自己的控制器时,请注意PID自动调谐块中这些增益的含义。在离散时间内,这些块采用以下PID控制器传输函数:
以平行形式,或理想形式,
F我(Z)及FD(Z)的值取决于您指定的积分法和过滤法公式,分别。有关详细信息,请参见闭环PID自动调谐或开环PID自动调谐块引用页面。
在您将调谐增益转移到PID控制器后,您可以观察并验证系统的持续性能与新增益。
为配置自动调谐而设置的某些参数是可调的,因此您可以在生成的代码中访问它们。对于不可调的参数,必须在部署前在块中配置它们。
PID autotuner块的以下参数在部署后是可调的。有关所有这些参数的更多信息,请参见闭环PID自动调谐或开环PID自动调谐块引用页面。
参数 | 描述 |
---|---|
目标带宽(rad /秒) | 开环响应的目标交叉频率 |
目标相位裕度(度) | 开环响应的目标最小相位裕度 |
正弦振幅 | 正弦扰动的振幅 |
用阶跃信号估计直流增益 | 向工厂注入阶跃信号 |
一步振幅 | 阶跃扰动幅度 |
类型 | PID控制器类型(如PI、PD或PID) |
类型 | PID控制器形式 |
积分法 | 积分项的离散积分公式 |
过滤法 | 导数滤波项的离散积分公式 |
PID autotuner块的以下参数在部署后不可调。必须在代码生成之前在代码块中指定它们,它们的值在应用程序中保持不变。有关所有这些参数的更多信息,请参见闭环PID自动调谐或开环PID自动调谐块引用页面。
参数 | 描述 |
---|---|
时域 | 时域PID控制器 |
控制器采样时间(秒) | PID控制器的采样时间(参见在部署后修改示例时间) |
减少内存并避免任务溢出(仅限外部模式) | 仅部署优化算法 |
数据类型 | 浮点精度 |
这个控制器采样时间(秒)参数不可调。因此,部署块时无法在生成的代码中直接访问它。要在运行时更改部署块中的控制器采样时间,请执行以下操作:
设置控制器采样时间(秒)到–1。
将自动调谐块置于一个适当的位置触发子系统。
在所需采样时间触发子系统。