这个例子展示了如何在Simulink中为一个非线性工厂设计一个PID控制器阵列,该控制器运行在广泛的操作点范围内。金宝app
该装置是一个连续搅拌槽式反应器(CSTR),运行范围广泛。单一的PID控制器可以有效地利用冷却液温度来调节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 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 with 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)
Seborg, Dale E., Thomas F. Edgar, and Duncan A. mellicchamp。过程动力学与控制.第二版,John Wiley & Sons, Inc ., 2004,第34-36页。
鲁夫、威尔逊·J和杰夫·s·夏玛。“增益调度研究”。自动化36岁的没有。10(2000年10月):1401-1425。