实现增益调度PID控制器
这个例子展示了如何在Simulink中实现增益计划控制金宝app®模型使用一系列PID控制器。PID控制器是针对工厂的一系列稳态工作点进行调优的,这是高度非线性的。
这个例子建立在多工作点PID控制器设计族.在该示例中,连续搅拌釜反应器(CSTR)装置模型在具有输出浓度的稳态工作点上线性化C= 2,3,…, 8,9。CSTR装置的非线性在不同的输出浓度下产生不同的线性化动态。该示例使用pidtune
命令为每个输出浓度生成和调优单独的PID控制器。
您可以期望每个控制器在其相应输出浓度附近的小工作范围内表现良好。方法的使用PID控制器块在增益调度配置中实现所有这些控制器。在这样的配置中,PID增益随着输出浓度的变化而变化。这种配置确保了良好的PID控制在任何输出浓度在控制系统的工作范围内。
从中生成的控制器开始多工作点PID控制器设计族.如果这些控制器不在MATLAB中®工作区,从数据文件中加载它们PIDGainSchedExample.mat
.
负载PIDGainSchedExample
这个操作在MATLAB工作区中放入了两个变量,控制器
而且C
.模型数组控制器
包含八个pid
模型,每个模型都对矢量中的一个输出浓度进行了调整C
.
要在增益计划配置中实现这些控制器,请创建查找表,将每个输出浓度与相应的PID增益集关联起来。Simu金宝applink模型PIDGainSchedCSTRExampleModel
包含这样的查找表,配置为CSTR工厂提供增益计划控制。打开这个模型。
open_system (“PIDGainSchedCSTRExampleModel”)
在这个模型中,PID控制器块被配置为PID系数的外部输入端口。使用外部输入允许系数随着输出浓度的变化而变化。打开块以检查配置。
设置源参数外部
为系数启用输入端口。
该模型使用一维查找表块为每个PID系数。一般来说,对于增益调度PID控制,使用调度变量作为查找表的输入,相应的控制器系数值作为输出。在本例中,CSTR工厂输出浓度是查找表输入,输出是与该浓度对应的PID系数。要查看查找表的配置方式,请打开P查阅表
块。
的表数据参数包含每个控制器的比例系数数组,控制器。Kp
.属性的属性的详细信息pid
模型控制器
数组,看到pid
)。该数组中的每个条目都对应于数组中的一个条目C
输入断点1参数。的分项之间的浓度值C
,P查阅表
Block执行线性插值来确定比例系数的值。要设置积分和导数系数的查找表,请配置I查阅表
而且D查找表
块使用控制器。Ki
而且控制器。Kd
,分别。对于这个例子,这个配置已经在模型中完成了。
的pid
模型控制器
数组将导数滤波器系数表示为时间常数,控制器。特遣部队
(见pid
有关更多信息的参考页)。然而,PID控制器Block将导数滤波系数表示为逆常数,N
.因此,N查找表
块必须配置为使用中每个值的倒数控制器。特遣部队
.打开N查找表
块查看配置。
模拟模型。的浓度定位点
Block被配置为步进一系列设定值,这些设定值跨越之间的操作范围C = 2
而且C = 9
(在瞄准镜上以黄色显示)。仿真表明,增益调度配置在该范围内(范围上的粉红色)实现了良好的设定值跟踪。
如图所示多工作点PID控制器设计族时,CSTR装置在运行范围之间不稳定C = 4
而且C = 7
.增益调度PID控制器稳定了整个不稳定区域,并产生良好的设定值跟踪。为了充分验证针对非线性装置的控制设计,应用各种设定值测试序列,在操作范围内测试不同大小和方向的步长的跟踪性能。属性中的所有项,也可以将性能与没有增益调度的设计进行比较控制器
数组相等。