这个例子展示了如何在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,numel(c));
通过指定输出浓度是已知值并指定输出浓度值来初始化操作点规范。
为了ct = 1:numel(c)op(ct).outputs.known = true;OP(CT).outputs.y = C(CT);结尾
计算平衡工作点对应的值C
.
OPOINT = SINDOP(MDL,OP,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带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取依赖控制器'那'单控制器')
针对每种浓度分别设计的PID控制器阵列比单个控制器的性能要好得多。
然而,基于全非线性系统的线性近似来计算上面所示的闭环响应。要验证设计,请使用PID控制器块在模型中实现调度机制,如图所示实现增益调度PID控制器(金宝appSimulink Control Design).
关闭模型。
bdclose (mdl)
戴尔·E,托马斯·f·埃德加,邓肯·a·梅利尚。过程动态和控制.第二版,John Wiley & Sons, Inc ., 2004,第34-36页。
拉夫,威尔逊J.和杰夫S.沙玛。“增益调度研究”。自动36,不。10(2000年10月):1401-1425。
operspec
(金宝appSimulink Control Design)|findop
(金宝appSimulink Control Design)|pidtune