这个例子展示了如何在Simulink中为一个运行在大范围操作点上的非线性装置设计一组PID控制器。金宝app
该植物是一种连续的搅拌釜反应器(CSTR),在各种操作点上运行。单个PID控制器可以有效地使用冷却液温度来调节PID控制器设计的小操作范围内的输出浓度。然而,由于工厂是强烈的非线性系统,因此如果操作点显着变化,控制性能会降低。闭环系统甚至可以变得不稳定。
打开CSTR工厂模型。
mdl =“scdcstrctrlplant”;Open_System(MDL)
有关此系统的更多信息,请参阅[1]。
解决非线性控制问题的一种常用方法是利用线性控制器的增益调度。一般来说,设计一个增益调度控制系统需要四个步骤。
获得每个操作区域的工厂模型。通常的做法是在几种平衡操作点线性化植物。
为前一步得到的对象模型设计线性控制器,如PID控制器。
实现一种调度机制,使控制器系数,如PID增益,根据调度变量的值而改变。控制器之间需要平滑(无颠簸)传输,以减少对设备运行的干扰。
用仿真评估控制性能。
有关增益调度的更多信息,请参阅[2]。
本实例重点研究了非线性CSTR系统的PID控制器的设计。
输出浓度C
用于识别不同的操作区域。CSTR设备可以在低转换率之间以任何转换速率运行(C
=9
)及高转换率(C
=2
)。在此示例中,将操作范围划分为八个区域C
=2
通过9
.
指定操作区域。
C = [2 3 4 5 6 7 8 9];
创建一个默认操作点规范数组。
op = operspec (mdl元素个数(C));
通过指定输出浓度为已知值并指定输出浓度值来初始化工作点规范。
为ct = 1:numel(C) op(ct).输出。知道= true;op (ct) .Outputs。y = C (ct);结束
计算对应于值的平衡操作点C
.
op, opoint = findop (mdl findopOptions (“DisplayReport”,'离开'));
在这些操作点线性化植物。
植物=线性化(mdl opoint);
由于CSTR装置是非线性的,线性模型表现出不同的特性。例如,高转化率和低转化率的植物模型是稳定的,而其他的不是。
isstable(植物,“elem”)”
Ans = 1 × 8逻辑阵列1 1 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,具有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)
[1] Seborg,Dale E.,Thomas F. Edgar和Duncan A. Mellichamp。过程动力学与控制.2,John Wiley&Sons,Inc,2004,PP。34-36。
[2] Rugh,Wilson J.和Jeff S. Shamma。“研究进度调度”。自动化36岁的没有。10(十月2000):1401-1425。