这个例子展示了如何在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增益集关联起来。仿真软件金宝app模型PIDGainSchedCSTRExampleModel
包含这样的查找表,配置为为CSTR工厂提供增益计划控制。打开这个模型。
open_system (“PIDGainSchedCSTRExampleModel”)
在这个模型中PID控制器块被配置为具有PID系数的外部输入端口。使用外部输入可以使系数随输出浓度的变化而变化。打开块以检查配置。
设置源参数外部
启用系数的输入端口。
该模型使用一维查找表块的每个PID系数。一般来说,对于增益调度PID控制,使用调度变量作为查找表的输入,相应的控制器系数值作为输出。在本例中,CSTR植物的输出浓度是查找表的输入,输出是与该浓度对应的PID系数。要查看查找表是如何配置的,请打开P查找表
块。
的表数据参数包含每个控制器的比例系数数组,控制器。Kp
.的属性的更多信息pid
模型控制器
数组,看到pid
.)这个数组中的每个条目都对应于数组中的一个条目C
这是在断点1参数。集中值之间的条目C
,P查找表
块执行线性插值来确定比例系数的值。要设置积分和导数系数的查找表,请配置我查找表
和维查找表
块使用控制器。Ki
和控制器。Kd
,分别。对于本例,这个配置已经在模型中完成了。
的pid
模型控制器
数组将导数滤波系数表示为时间常数,控制器。特遣部队
(见pid
更多信息参考页)。然而,PID控制器Block表示导数滤波系数为反常数,N
.因此,N查找表
块必须配置为使用中每个值的逆控制器。特遣部队
.打开N查找表
块以查看配置。
模拟模型。的浓度定位点
块被配置为步进通过跨越操作范围的一系列设定值C = 2
和C = 9
(在示波器上显示为黄色)。仿真表明,增益调度配置在此范围内(范围上的粉红色)实现了良好的设定值跟踪。
如多工作点的PID控制器设计族, CSTR厂在运行区间内不稳定C = 4
和C = 7
.增益调度PID控制器稳定了被控对象,并在整个不稳定区域产生良好的设定值跟踪。为了充分验证针对非线性装置的控制设计,应用各种设定值测试序列,测试在操作范围内不同大小和方向的步骤的跟踪性能。控件中的所有条目也可以将性能与没有增益调度的设计进行比较控制器
数组相等。