蒸馏塔的解耦控制器
这个例子展示了如何使用looptune
在蒸馏分离两个主要反馈循环列。
蒸馏塔模型
这个例子使用一个简单的模型,如下所示的蒸馏塔。
图1:蒸馏塔
在所谓的LV配置中,浓度的控制变量码
和yB
的化学物质D
(上衣)和B
(底部),回流的操纵变量l
和boilupV
。这个过程表现出强耦合和大型稳态增益变化对一些组合L和诉的更多细节,参见Skogestad见,多变量反馈控制。
植物建模为一阶传递函数与输入L, V
和输出码,yB
:
时间的单位是分钟(所有的情节都在几分钟内,不是秒)。
s =特遣部队(“年代”);G = (87.8 - -86.4;108.2 - -109.6)/ (75 * s + 1);G。InputName = {“L”,“V”};G。OutputName = {“码”,“yB”};
控制体系结构
控制目标如下:
独立控制的顶部和底部浓度通过确保顶部定位点的变化
Dsp
对底部浓度没有影响B
,反之亦然响应时间约为4分钟不到超过15%
快的拒绝输入扰动影响有效的回流
l
和boilupV
实现这些目标,我们使用如下所示的控制体系结构。此体系结构由一个静态解耦矩阵DM
串联的两个PI控制器反胃l
和boilupV
。
open_system (“rct_distillation”)
控制器调优与LOOPTUNE仿真软件金宝app
的looptune
命令提供了一种快速的方法来优化天线系统反馈循环。当控制系统建模仿真软件,你只要指定调整块,控制和测量信号,和所需的带宽金宝applooptune
自动设置问题,曲调控制器参数。looptune
形状的开环响应提供积分作用,转出,和足够的米姆稳定利润。
使用slTuner
接口指定调整块,控制器I / Os,和感兴趣的信号闭环验证。
ST0 = slTuner (“rct_distillation”,{“PI_L”,“PI_V”,“糖尿病”});%感兴趣的信号addPoint (ST0, {“r”,“dL”,“dV”,“L”,“V”,“y”})
设置控制带宽通过指定的开环增益交叉频率响应。响应时间为4分钟,交叉频率应该大约2/4 = 0.5 rad /分钟。
wc = 0.5;
使用TuningGoal
对象指定剩下的控制目标。对步骤命令的响应应该不到超过15%。对步骤核电站扰动输入的响应应该阻尼,解决在不到20分钟,在振幅和不超过4。
操作系统= TuningGoal.Overshoot (“r”,“y”15);= TuningGoal.StepRejection博士({“dL”,“dV”},“y”4、20);
下一个使用looptune
调整控制器模块PI_L
,PI_V
,DM
抗干扰性要求。
控制= {“L”,“V”};测量=“y”;(圣、联欢、信息)= looptune (ST0、控制测量,wc,操作系统,博士);
最后:峰值增益= 0.998、迭代TargetGain = 1 = 63实现目标获得价值。
最后的值接近1,表明所有的需求得到满足。使用loopview
检查结果设计。应该呆在阴影区域的响应。
图(“位置”,[0,0,1000,1200])loopview (ST,信息)
使用getIOTransfer
访问和情节的闭环响应从引用和扰动顶部和底部的浓度。调谐响应表现出良好的跟踪和干扰抑制之间的妥协。
图Ttrack = getIOTransfer(圣,“r”,“y”);步骤(Ttrack 40)、网格、标题(“定位点跟踪”)
Treject = getIOTransfer (ST, {“dV”,“dL”},“y”);步骤(Treject 40)、网格、标题(“抗干扰”)
比较开放和闭环抗干扰性特征在频域里显示了明显改善控制带宽。
Treject clf,σ(G)、网格标题(“本金收益输入干扰输出”)传说(“开环”,“闭环”)
添加约束优化变量
检查控制器获得上面显示第二个PI控制器负收益。
getBlockValue(圣“PI_V”)
ans = 1 + Ki *——年代Kp = -4.12, Ki = -0.57名称:PI_V连续时间比例积分控制器并联形式。
这是由于第二个输入通道的负号。此外,可调元素over-parameterized因为相乘DM
由两个π的收益除以两个不会改变整个控制器。为了解决这些问题,解决的(1,1)条目DM
1和1(2,2)条目。
DM = getBlockParam (ST0,“糖尿病”);DM.Gain。Value = diag([1 -1]); DM.Gain.Free = [false true;true false]; setBlockParam(ST0,“糖尿病”DM)
调节肌体控制器可调参数的设置。
(圣、联欢、信息)= looptune (ST0、控制测量,wc,操作系统,博士);
最后:峰值增益= 0.997、迭代TargetGain = 1 = 95实现目标获得价值。
一步反应类似但的值DM
和π收益更适合实现。
图(“位置”,0700350年,[0])次要情节(121)Ttrack = getIOTransfer(圣,“r”,“y”);步骤(Ttrack 40)、网格、标题(“定位点跟踪”)次要情节(122)Treject = getIOTransfer (ST, {“dV”,“dL”},“y”);步骤(Treject 40)、网格、标题(“抗干扰”)
showTunable (ST)
块1:rct_distillation / PI_L = 1 + Ki *——年代Kp = 16.4, Ki = 2.18名称:PI_L连续时间比例积分控制器并联形式。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -块2:rct_distillation / PI_V = 1 + Ki *——年代Kp = 12.9, Ki = 1.71名称:PI_V连续时间比例积分控制器并联形式。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -块3:rct_distillation / DM y2 = D = u1, u2 y1 1 -0.7706 1.255 - 1名称:DM静态增益。
在MATLAB等价的工作流
如果你没有一个仿真软件模型的控制系统,您可金宝app以使用线性时不变对象和控制设计块创建一个MATLAB表示下面的框图。
图2:控制系统的框图
第一个参数可调的元素使用控制设计。使用tunableGain
对象参数化DM
和修复DM (1,1) = 1
和DM (2, 2) = 1
。这将创建一个与非对角的条目2 x2静态增益可调参数。
DM = tunableGain (“脱钩”诊断接头([1]));DM.Gain。自由=(假的真的,真的假的);
同样,使用tunablePID
对象参数化两个PI控制器:
PI_L = tunablePID (“PI_L”,“π”);PI_V = tunablePID (“PI_V”,“π”);
下构建一个模型C0
控制器的如图2所示。
C0 = blkdiag (PI_L PI_V) * DM *[眼(2)黑眼圈(2)];%注意:I / O名称应该与G的数据一致C0。InputName = {“Dsp”,Bsp的,“码”,“yB”};C0。OutputName = {“L”,“V”};
现在调整控制器参数looptune
是之前完成的。
%交叉频率wc = 0.5;%过度和抗干扰性的要求操作系统= TuningGoal.Overshoot ({“Dsp”,Bsp的},{“码”,“yB”},15);= TuningGoal.StepRejection博士({“L”,“V”},{“码”,“yB”}4 20);%调控制器增益[~ C] = looptune (G, C0, wc,操作系统,博士);
最后:峰值增益= 1,迭代TargetGain = 1 = 91实现目标获得价值。
验证设计,关闭循环调整补偿器C
和模拟选点跟踪和干扰抑制的一步反应。
Tcl =连接(G、C {“Dsp”,Bsp的,“L”,“V”},{“码”,“yB”});图(“位置”,0700350年,[0])次要情节(121)Ttrack = Tcl (:, (1 2));步骤(Ttrack 40)、网格、标题(“定位点跟踪”)次要情节(122)Treject = Tcl (:, [3 - 4]);Treject。InputName = {“dL”,“dV”};步骤(Treject 40)、网格、标题(“抗干扰”)
在模型获得的结果是类似的。金宝app
另请参阅
looptune
|looptune (slTuner)
(金宝app仿真软件控制设计)