主要内容

Gain-Scheduled化学反应器的控制

这个例子展示了如何设计和优化gain-scheduled控制器为化学反应器过渡从低到高转化率。背景,请参阅Seborg, D.E. et al .,“过程动力学和控制”,第二版,2004年,威利,34-36页。

连续搅拌釜反应器

这里的过程被认为是连续搅拌釜反应器(装运箱)从低到高转化率(高到低残留浓度)。因为化学反应放热(产生热量),反应堆温度必须控制以防止热失控。控制任务复杂动力学是非线性过程,从稳定的和不稳定的过渡到稳定的随着转化率的增加。核反应堆动力学建模仿真软件。金宝app控制变量是剩余浓度Cr和反应堆的温度Tr,被控变量是温度Tc反应堆冷却剂循环的冷却夹克。

open_system (“rct_CSTR_OL”)

我们想要转型的残余浓度8.57 kmol / m ^ 3最初2 kmol / m ^ 3。了解动态演化过程的残余浓度Cr为5的值,找到平衡条件Cr8.57到2和线性化动力学过程在每个平衡。日志在每个平衡点反应堆和冷却剂的温度。

CrEQ = linspace (8.57, 2、5)”;%浓度TrEQ = 0 (5、1);%反应堆温度TcEQ = 0 (5、1);%冷却剂的温度%指定修剪条件opspec = operspec (“rct_CSTR_OL”5);k = 1:5%设置所需的残余浓度opspec (k) .Outputs (1)。y = CrEQ (k);opspec (k) .Outputs (1)。知道= true;结束%计算平衡条件并记录相应的温度(op、报告)= findop (“rct_CSTR_OL”opspec,findopOptions (“DisplayReport”,“关闭”));k = 1:5 TrEQ (k) =报告(k) .Outputs (2) .y;TcEQ (k) = op (k) .Inputs.u;结束%线性化在修剪过程动力学条件G =线性化(“rct_CSTR_OL”,“rct_CSTR_OL /装运箱”,op);G。InputName = {Cf的,“助教”,“Tc”};G。OutputName = {“Cr”,“Tr”};

情节的反应堆和冷却剂的温度平衡浓度的函数。

次要情节(311),情节(CrEQ“b - *”)、网格、标题(的残余浓度),ylabel (“CrEQ”)次要情节(312)、情节(TrEQ“b - *”)、网格、标题(“反应堆温度”),ylabel (“TrEQ”)次要情节(313)、情节(TcEQ“b - *”)、网格、标题(冷却液温度的),ylabel (“TcEQ”)

一个开环控制策略由冷却后温度曲线之间的平稳过渡Cr= 8.57,Cr= 2平衡。然而,这种策略是注定的事实反应不稳定在中期范围内,必须适当地冷却,以避免热失控。这是通过检查确诊5平衡的线性化模型的两极点考虑以上(三个五个模型是不稳定的)。

极(G)
ans(:,: 1) -0.8952 + 0.0000 = -0.5225 + 0.0000我ans(:,: 2) -0.8866 + 0.0000 = 0.1733 + 0.0000我ans(:,:, 3) -0.8229 + 0.0000 = 0.5114 + 0.0000我ans(:,:, 4) -0.4991 + 0.0000 = 0.0453 + 0.0000我ans(:,:, 5)我-1.1077 - 1.0901 = -1.1077 + 1.0901

波德图进一步强调了重要的植物动力学的变化而转变Cr= 8.57Cr= 2。

波德(G (clf:,“Tc”),{0.01,10})

反馈控制策略

为了防止热失控而增加残留浓度,使用反馈控制来调整冷却剂的温度Tc基于测量的残余浓度Cr和反应堆温度Tr。对于这个应用程序,我们使用一个串级控制结构,内循环调节反应器温度和外循环跟踪选点浓度。两个反馈回路数字采样周期为0.5分钟。

open_system (“rct_CSTR”)

目标浓度Cref坡道从8.57 kmol / m ^ 3 t = 10 - 2 kmol / m ^ 3 t = 36(过渡持续26分钟)。相应的配置文件不可食用的反应堆的温度是通过插值得到的平衡值TrEQ从分析。控制器计算冷却液温度的调整直接转矩相对于初始平衡值TcEQ (1)= 297.98Cr= 8.57。注意,模型建立,最初,输出TrSP“集中控制器”的块匹配的反应堆温度,调整直接转矩是零,冷却剂的温度Tc在其平衡值吗TcEQ (1)

clf t =[0北京45];C = interp1 ([0 10 36 45], [8.57 - 8.57 2 2], t);次要情节(211),情节(t、C),网格,集(gca),“ylim”,10[0])标题(“目标剩余浓度”),ylabel (“Cref”)次要情节(212)、图(t, interp1 (CrEQ TrEQ C))标题(“相应的反应堆温度平衡”),ylabel (“不洁净的”)、网格

控制目标

使用TuningGoal对象捕捉设计要求。首先,Cr应该遵循定位点Cref响应时间约5分钟。

R1 = TuningGoal.Tracking (“Cref”,“Cr”5);

内循环(温度)应该稳定足够的阻尼和足够快的反应动力学衰减。

MinDecay = 0.2;MinDamping = 0.5;%约束闭环极点的内循环与外循环开放R2 = TuningGoal.Poles (“Tc”、MinDecay MinDamping);R2。机会=“TrSP”;

控制器输出指定的速率限制块冷却剂的温度Tc不同速度不能超过每分钟10度。这是一个严重的限制控制器权威,忽视时,可以导致表现不佳或不稳定。考虑这个速率限制,观察Cref变化的速度0.25 kmol / m ^ 3 /分钟。以确保Tc不超过10度/分钟不同,获得的CrefTc应小于10/0.25 = 40。

R3 = TuningGoal.Gain (“Cref”,“Tc”,40);

最后,需要至少7 dB的增益裕度和45度的阶段核电站的输入Tc

R4 = TuningGoal.Margins (“Tc”7、45);

Gain-Scheduled控制器

为了实现这些需求,我们使用一个比例积分控制器的外循环,该补偿器内循环。由于采样率缓慢,导致补偿器需要充分稳定在中等浓度的化学反应Cr= 5.28 kmol / m ^ 3 /分钟。因为反应动力学变化明显的浓度,我们进一步安排控制器获得浓度的函数。这是建模仿真软件使用查找表块如图1和图金宝app2所示。

图1:Gain-scheduled PI控制器集中循环。

图2:Gain-scheduled铅补偿器温度循环。

调优这个gain-scheduled控制器调查表的数据量浓度的范围值。而不是调优单个查表条目,参数化控制器增益Kp, Ki, Kt, a, b作为二次多项式Cr例如,

$ $ K_p (C_r) = K_ {p0} + K_ {p1} C_r + K_ {p2} C_r ^ 2。$ $

除了减少变量的数量调整,这种方法可以确保顺利获得转换Cr各不相同。使用systune,您可以自动调整系数美元K_ {p0}, K_ {p1}, K_ {p2}, K_ {i0}, \ ldots $以满足需求R1-R4在上述五个平衡点计算。这相当于调优gain-scheduled控制器在五个设计点Cref轨迹。使用tunableSurface对象参数化每个获得的二次函数Cr。“优化电网”设置为五个浓度CrEQ和二次参数化的基函数C_r美元,C_r ^ 2美元。大部分涨幅都初始化是等于零。

TuningGrid =结构(“Cr”,CrEQ);ShapeFcn = @ (Cr) [Cr、Cr ^ 2];Kp = tunableSurface (“金伯利进程”0 TuningGrid ShapeFcn);Ki = tunableSurface (“吻”2 TuningGrid ShapeFcn);Kt = tunableSurface (“Kt”0 TuningGrid ShapeFcn);一个= tunableSurface (“一个”0 TuningGrid ShapeFcn);b = tunableSurface (“b”0 TuningGrid ShapeFcn);

控制器调优

因为目标带宽是奈奎斯特频率的十年之内,更容易调整直接在离散域控制器。离散化的线性化过程动力学样品时间为0.5分钟。使用ZOH方法反映了数字控制器与连续时间工厂。

t = 0.5;Gd =汇集(G, Ts);

创建一个slTuner界面优化上面介绍的二次获得时间表。使用块替换来替代非线性植物模型的五个离散线性模型Gd在设计点CrEQ。使用setBlockParam将可调增益函数Kp,Ki,Kt,一个,b的查找表块相同的名称。

BlockSubs =结构(“名字”,“rct_CSTR /装运箱”,“价值”、Gd);ST0 = slTuner (“rct_CSTR”,{“金伯利进程”,“吻”,“Kt”,“一个”,“b”},BlockSubs);ST0。Ts = Ts;%样本时间调优%的兴趣点ST0.addPoint ({“Cref”,“Cr”,“Tr”,“TrSP”,“Tc”})%参数化查表块ST0.setBlockParam (“金伯利进程”Kp);ST0.setBlockParam (“吻”、Ki);ST0.setBlockParam (“Kt”、Kt);ST0.setBlockParam (“一个”,);ST0.setBlockParam (“b”,b);

您现在可以使用systune根据需求调整控制器系数R1-R4。使稳定保证金要求硬约束和优化的要求。

圣= systune (ST0 (R1, R2 R3) R4);
最后:迭代软= 1.23,= 0.99997,= 193

由此产生的设计满足硬约束(硬< 1),几乎满足剩余的需求(接近于1),来验证此设计,模拟斜坡的反应浓度与相同的斜率Cref。每个图显示了五个设计点的线性响应CrEQ

t = 0: Ts: 20;加州大学= interp1 ([0 2 5 20], (-0.25) * (3 0 0 3), t);次要情节(211),lsim (getIOTransfer(圣,“Cref”,“Cr”甘氨胆酸)、加州大学)网格,集(,“ylim”[-1.5 - 0.5])、标题(的残余浓度)次要情节(212),lsim (getIOTransfer(圣,“Cref”,“Tc”)、加州大学)网格,标题(冷却剂温度变化的)

注意,冷却液温度的变化率仍在生理范围内(10度每分钟或5度/样本)。

控制器验证

检查每个增益随如何Cr在过渡。

%访问调整时间表TGS = getBlockParam (ST);%的阴谋获得资料clf次要情节(321),viewSurf (TGS.Kp) ylabel (“金伯利进程”)次要情节(322),viewSurf (TGS.Ki) ylabel (“吻”)次要情节(323),viewSurf (TGS.Kt) ylabel (“Kt”)次要情节(324),viewSurf (TGS.a) ylabel (“一个”)次要情节(325),viewSurf (TGS.b) ylabel (“b”)

在仿真软件验证gain-scheduled控制器,首先使用金宝appwriteBlockValue将优化结果应用到仿真软件模型。金宝app对于每一个查找表块,这个评估相应的二次增益公式在餐桌上断点,并相应地更新表数据。

writeBlockValue (ST)

下按下播放按钮来模拟的反应调整时间表。仿真结果显示在图3。gain-scheduled控制器成功地驱动反应通过与适当的响应时间和过渡不饱和速度限制(控制器输出匹配有效温度变化直接转矩)。反应堆温度保持接近其平衡值不可食用的附近,表明控制器使反应平衡,防止热失控。

图3:转型与gain-scheduled级联控制器。

控制器在MATLAB优化

或者,您可以调整获得直接在MATLAB不使用时间表slTuner接口。第一个参数化所得的二次函数Cr正如上面做的。

TuningGrid =结构(“Cr”,CrEQ);ShapeFcn = @ (Cr) [Cr、Cr ^ 2];Kp = tunableSurface (“金伯利进程”0 TuningGrid ShapeFcn);Ki = tunableSurface (“吻”2 TuningGrid ShapeFcn);Kt = tunableSurface (“Kt”0 TuningGrid ShapeFcn);一个= tunableSurface (“一个”0 TuningGrid ShapeFcn);b = tunableSurface (“b”0 TuningGrid ShapeFcn);

使用这些收益来构建π和铅控制器。

π= pid (Kp,吻,“t”Ts,“TimeUnit”,“最小值”);π。u =ECr的;π。y =“TrSP”;铅= Kt *特遣部队([1 - a], [1 - b], Ts,“TimeUnit”,“最小值”);领先。u =“ETr”;领先。y =“Tc”;

使用连接建立一个闭环模型整体控制系统的五个设计点。马克控制器输出TrSPTc“分析点”,这样循环可以打开和稳定利润评估在这些位置。闭环模型T05-by-1阵列的线性模型根据可调系数Kp, Ki, Kt, a, b。每个模型是离散和采样每半分钟。

Gd。TimeUnit =“最小值”;S1 = sumblk (“ECr = Cref - Cr”);S2 = sumblk (“ETr = TrSP - Tr”);T0 =连接(Gd (:,“Tc”)、铅、π,S1, S2,“Cref”,“Cr”,{“TrSP”,“Tc”});

最后,使用systune调整增益调度系数。

T = systune (T0, R1, R2 R3, R4);
最后:迭代软= 1.23,= 0.9999,= 198

类似于上面得到的结果。确认通过绘制的函数Cr使用调整系数T

clf次要情节(321),viewSurf (setBlockValue (Kp, T)), ylabel (“金伯利进程”)次要情节(322)、viewSurf (setBlockValue (Ki, T)), ylabel (“吻”)次要情节(323)、viewSurf (setBlockValue (Kt, T)), ylabel (“Kt”)次要情节(324)、viewSurf (setBlockValue (T),), ylabel (“一个”)次要情节(325)、viewSurf (setBlockValue (b、T)), ylabel (“b”)

你可以进一步验证设计通过模拟在每个设计点的线性响应。然而,您需要返回到仿真软件来模拟的非线性响应gain-sche金宝appduled控制器。

另请参阅

(金宝app仿真软件控制设计)||(金宝app仿真软件控制设计)

相关的例子

更多关于