这个例子展示了如何在Simulink中为一个非线性装置设计一组PID控制器,该控制器在很大范围内工作。金宝app
该装置是一个连续搅拌槽式反应器(CSTR),运行在广泛的工作点。单一的PID控制器可以有效地利用冷却液温度来调节其所设计的小工作范围内的输出浓度。然而,由于工厂是一个强非线性系统,控制性能下降,如果工作点明显变化。闭环系统甚至会变得不稳定。
打开CSTR工厂模型。
mdl =“scdcstrctrlplant”;open_system (mdl)
有关这个系统的更多信息,请参见[1]。
解决非线性控制问题的一种常用方法是利用线性控制器的增益调度。设计增益调度控制系统一般分为四个步骤。
获得每个操作区域的工厂模型。通常的做法是使装置在几个平衡工作点上线性化。
设计一系列线性控制器,如PID控制器,为获得的工厂模型在上一步。
实现一种调度机制,使控制器系数,如PID增益,根据调度变量的值变化。控制器之间的平滑(无颠簸)转移需要最小化对工厂运行的干扰。
通过仿真评估控制性能。
有关增益调度的更多信息,请参见[2]。
这个例子着重于设计一个非线性CSTR装置的PID控制器族。
输出浓度C
用于标识不同的操作区域。CSTR装置可以在低转化率(C
=9
)及高转换率(C
=2
).在本例中,将操作范围划分为由表示的8个区域C
=2
通过9
.
指定操作区域。
C = [2 3 4 5 6 7 8 9];
创建一个默认工作点规范的数组。
op = operspec (mdl元素个数(C));
通过指定输出浓度为已知值和指定输出浓度值来初始化工作点规范。
为ct = 1:numel(C) op(ct). outputs。知道= true;op (ct) .Outputs。y = C (ct);结束
计算的值对应的平衡工作点C
.
op, opoint = findop (mdl findopOptions (“DisplayReport”,“关闭”));
在这些运行点上使工厂线性化。
植物=线性化(mdl opoint);
由于CSTR装置是非线性的,所以线性模型表现出不同的特性。例如,具有高转化率和低转化率的植物模型是稳定的,而其他的则不是。
趋于稳定(植物,“elem”)”
Ans = 1x8逻辑阵列1 1 0 0 0 0 0 1 1
为了批量设计多个PID控制器,使用pidtune
函数。下面的命令以并行的形式生成PID控制器阵列。所要求的开环分频为1
Rad /sec和相位裕度为默认值60
度。
控制器= pidtune(植物,“pidf”1);
显示控制器C
=4
.
控制器(::4)
ans = 1 s Kp + Ki *—+ Kd * -------- s Tf*s+1, Kp = -12.4, Ki = -1.74, Kd = -16, Tf = 0.00875连续时间PIDF控制器并行化。
为了分析步进设定值跟踪的闭环响应,首先构造闭环系统。
clsys =反馈(植物*控制器,1);
绘制闭环响应。
图保存在为ct = 1:长度(C)%从LTI数组中选择系统sys = clsys (:,:, ct);sys。Name = (“C =”num2str (C (ct)));sys。InputName =“参考”;%图阶跃响应stepplot (sys, 20);结束传奇(“显示”,“位置”,“东南”)
所有的闭环都是稳定的,但不稳定植株的回路的超调(C
=4
,通过7
)太大了。为了改善不稳定对象模型的结果,将目标开环带宽增加到10
rad /秒。
控制器= pidtune(植物,“pidf”10);
显示控制器C
=4
.
控制器(::4)
ans = 1 s Kp + Ki *—+ Kd * -------- s Tf*s+1 with Kp = -283, Ki = -151, Kd = -128, Tf = 0.0183连续时间PIDF控制器并行化。
构造闭环系统,并绘制新控制器的闭环阶跃响应。
clsys =反馈(植物*控制器,1);图保存在为ct = 1:长度(C)%从LTI数组中选择系统。sys = clsys (:,:, ct);集(sys,“名字”,[“C =”num2str (C (ct))),“InputName”,“参考”);%绘制阶跃响应。stepplot (sys, 20)结束传奇(“显示”,“位置”,“东南”)
所有闭环响应现在都是令人满意的。为了进行比较,请检查在所有操作点使用相同控制器时的响应。创建另一组闭环系统,每个系统都使用C
=2
控制者,并绘制他们的反应。
clsys_flat =反馈(植物*控制器(:,:1),1);图stepplot (clsys clsys_flat 20)传说(“C-dependent控制器”,“单一控制器”)
为每个浓度单独设计的PID控制器阵列比单一控制器的性能要好得多。
然而,上面显示的闭环响应是基于全非线性系统的线性逼近计算的。为了验证设计,使用PID Controller块在模型中实现调度机制,如图所示实现增益调度PID控制器.
关闭模式。
bdclose (mdl)
斯堡,戴尔E.,托马斯F.埃德加,和邓肯A.梅利坎。过程动力学与控制.第二版,John Wiley & Sons, Inc, 2004,第34-36页。
Wilson J.和Jeff S. Shamma。“增益调度研究”。自动化36岁的没有。10(2000年10月):1401-1425