主要内容

非线性模型预测控制的放热化学反应堆

这个例子展示了如何使用一个非线性MPC控制器控制一个非线性连续搅拌釜反应器(装运箱)转换从一个低转化率高转化率。

连续搅拌釜反应器

连续搅拌釜反应器(装运箱)是一种常见的化学系统过程中产业。装运箱系统的原理是:

这个系统是一个夹套非绝热的釜式反应器广泛描述[1]。这艘船被认为是完全混合,和一个一阶放热、不可逆的反应,——> B,发生。进口试剂是美联储的流槽以恒定容积率。产品流出口连续在同一容积率,和液体密度是常数。因此,反应液在反应器的体积是恒定的。

装运箱模型的输入:

数组$ $ \开始{}{你}& # xA; u_1 = CA_i \;& # 38;\ textnormal{浓度的进口饲料# xA;流}[kgmol / m ^ 3] \ \ & # xA; u_2 = T_i \;& # 38;\ textnormal{进口原料流温度}[K] \ \ & # xA; u_3 = T_c \;& # 38;\ textnormal{夹克冷却剂温度}[K] \ \ & # xA; \{数组}$ $

输出(y (t)),这也是美国的模型(x (t)),有:

数组$ $ \开始{}{你}
y_1 = x_1 = T \; & \textnormal{Reactor temperature} [K] \\
y_2 = x_2 = CA \; & \textnormal{Concentration of A in reactor tank} [kgmol/m^3] \\
\end{array} $$

控制目标是保持试剂的浓度在退出流,CA美元时,其所需的定位点,从而改变反应堆转换从一个低转化率高转化率。冷却液温度T_c美元是使用的操纵变量控制器跟踪参考。提要中的流的浓度和原料流温度测量的干扰。

金宝app仿真软件模型

这个例子中,运行仿真软件®是必需的。金宝app

如果~ mpcchecktoolboxinstalled (“金宝app模型”)disp (仿金宝app真软件需要运行这个例子。)返回结束

打开仿真软金宝app件模型。

mdl =“mpc_cstr_nonlinear”;open_system (mdl)

非线性预测模型

非线性MPC需要一个预测模型,描述你的植物最好的非线性行为的知识。故意挑战控制器,这个例子介绍了建模错误,随着温度的增加,反应速率的预测模型超过真正的植物。预测模型的状态函数的详细信息,请参见exocstrStateFcnCT.m

此外,拒绝一个随机状无边无际的扰动发生在出口处流浓度,增强植物模型与一个积分器的输入是假定为零均值白噪声。增大后,预测模型有四个州(T, CA和距离)和四个输入(CA_i、T_i、T_c WN)。

因为你只是感兴趣离开反应堆控制浓度,输出函数返回标量值,第二个状态(CA) +第三状态(经销)。预测模型的输出函数的详细信息,请参见exocstrOutputFcn.m

非线性MPC

控制目标是将植物从最初的操作点较低转化率(CA = 8.5698 kgmol / m ^ 3)最终转化率高的操作点(CA = 2 kgmol / m ^ 3)。在最终的稳定状态,核电站是开环不稳定,因为冷却不再是自动调节的。因此,倾向于反应堆温度跑了从操作点。

在MATLAB®创建一个非线性MPC控制器对象。如前所述,预测模型有三个州,一个输出,和四个输入。在输入中,前两个输入(饲料成分和饲料温度)测量干扰,第三个输入(冷却液温度)是被操纵的变量。第四个输入白噪声增强集成器,代表了一个无边无际的输出扰动。

nlobj = nlmpc (3、1、“MV”3,“医学博士”(1 - 2),“UD”4);

预测模型的样本是一样的控制器样品时间。

t = 0.5;nlobj。Ts = t;

减少计算工作量,使用短预测地平线3秒(6步骤)。同时,提高鲁棒性,在控制层使用块移动。

nlobj。PredictionHorizon = 6;nlobj。ControlHorizon = (2 2 2);

自300 MV的订单的大小和OV订单1,MV规模使其兼容,这样可以使用默认调优权重。

nlobj.MV (1)。ScaleFactor = 300;

限制冷却剂温度调整利率,这只会增加或减少5度之间的连续两个间隔。

nlobj.MV (1)。杀鼠灵= 5;nlobj.MV (1)。RateMax = 5;

是一种很好的做法规模国家单位的订单。这样做对控制策略没有影响,但能改善数值行为。

nlobj.States (1)。ScaleFactor = 300;nlobj.States (2)。ScaleFactor = 10;

指定的非线性状态和输出功能。

nlobj.Model。StateFcn =“exocstrStateFcnCT”;nlobj.Model。OutputFcn =“exocstrOutputFcn”;

测试你的预测模型是最佳实践和任何其他定制函数之前使用它们在一个模拟世界中。为此,使用validateFcns命令。在这种情况下,使用初始操作点作为名义条件测试,设置无节制的扰动状态0

x0 = (311.2639;8.5698;0);情况= [10;298.15;298.15);validateFcns (x0, nlobj情况(3),情况(1:2)');
模型。StateFcn就可以了。模型。OutputFcn就可以了。用户提供的模型分析、成本和约束函数完成。

非线性状态估计

非线性MPC控制器需要估计的三个州(包括无节制的扰动状态)在每一个样品的时间。提供这种估计,利用扩展卡尔曼滤波器(EKF)块。这个块使用相同的模型非线性MPC控制器除了模型是离散时间。有关详细信息,请参见exocstrStateFcnDT.m

卡尔曼滤波器措施当前浓度和用它来正确的预测从先前的间隔。在这个例子中,假设测量相对准确、使用小协方差扩展卡尔曼滤波块。

闭环仿真

在仿真,提高目标浓度而不是使一个突然的阶跃变化。您可以使用更快的斜坡率,因为所使用的非线性预测模型。

操作点过渡期间,一步两个测量扰动的变化发生在渠道1020.秒,分别。在时间40一个无边无际的输出扰动(一步反应堆出口)的浓度变化发生。

(mdl open_system (,' /浓度(OV) '(mdl) open_system (,' /冷却剂温度(MV) '])sim (mdl)

浓度出口流跟踪参考准确和收敛于期望的最终值。同时,控制器拒绝干扰测量和不可测量的干扰。

最初的控制器动作受限于最大冷却液温度的变化率。这可以改善通过提供控制器MPC与先行的参考信号,通知控制器的预期参考变化预测地平线。

引用

[1]Seborg, d, E。,t·f·埃德加·d·a . Mellichamp。过程动力学和控制2004年,第二版,威利,34-36和94 - 95页。

bdclose (mdl)

另请参阅

|

相关的话题