此示例显示了如何在Simulink中为非线性工厂设计一组PID控制器,该设备在各种操作点上运行。金宝app
该植物是一种连续的搅拌釜反应器(CSTR),在各种操作点上运行。单个PID控制器可以有效地使用冷却液温度来调节PID控制器设计的小操作范围内的输出浓度。然而,由于工厂是强烈的非线性系统,因此如果操作点显着变化,控制性能会降低。闭环系统甚至可以变得不稳定。
打开CSTR工厂模型。
mdl ='scdcstrctrlant';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,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工厂是非线性的,线性模型显示不同的特性。例如,具有高和低转换率的工厂模型稳定,而其他工厂则不是。
isstable(植物,“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 / sec。
控制器= 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)
[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年10月):1401-1425。
Pidtune.
|查找
(金宝appSimulink Control Design)|Operspec.
(金宝appSimulink Control Design)