这个例子展示了如何设计一个混合的MPC控制器过程使用自定义输入/输出混合约束。
连续混合过程结合了三个饲料混合容器生产混合所需的属性。的无量纲控制方程是:
在哪里
是混合库存(容器)。
饲料的犁率吗。
是混合的速率从库存,这是需求。
成分的浓度吗在饲料。
成分的浓度吗在混合。
是时间。
在这个例子中,有两个重要的成分,= 1和2。
控制目标是目标中的两个组分浓度的混合和混合库存。的挑战是需求,和饲料成分,,有所不同。混合成分,库存和需求,但饲料成分是无限的。
在名义操作条件:
1,(主要成分1)流入总额的80%。
饲料2,(主要成分2)为20%。
饲料3,不使用,(纯组分1)。
流程设计允许操作总数的饲料进入混合室,,2和3个人的提要。换句话说,饲料1的速度是:
每个提要已经有限的可用性:
方程是规范化的,名义上的稳定状态,在混合容器的平均停留时间。
约束是由一个上游的过程,限制吗是由物理限制。
混合过程温和非线性,然而你可以推出一个名义稳态线性模型。这种方法是相当准确的,除非无边无际的饲料成分的变化。如果变化足够大,非线性过程的稳态增益变化的信号,和闭环系统会变得不稳定。
指定源的数量,倪
选民的数量,数控
。
倪= 3;数控= 2;
指定的名义流量三个输入流和输出流,或需求。在名义操作条件,输出流量等于输入流量的总和。
Fin_nom = (1.6, 0.4, 0);F_nom =总和(Fin_nom);
定义输入提要的名义组成成分,在那里cin_nom (i, j)
代表组成的成分我
在饲料j
。
cin_nom = (0.7 0.2 0.8; 0.3 - 0.8 0);
定义输出的名义组成成分的饲料。
cout_nom = cin_nom * Fin_nom ' / F_nom;
规范化的线性模型,目标需求1
和产品组成1
。
fin_nom = fin_nom / F_nom;:gij = [cin_nom (1) / cout_nom (1);cin_nom (2) / cout_nom (2)];
创建一个与饲料流状态空间模型F1
,F2
,F3
MVs:
一个=[0(1、数控+ 1);0(数控,1)黑眼圈(nc)];Bu = [(ni);gij-1];
改变MV定义(英国《金融时报》,F2、F3) F1 =英尺- F2 - F3
布鲁里溃疡Bu =[(: 1),但(:,2)布鲁里溃疡(:1),但(:,3)布鲁里溃疡(:1)];
添加测量干扰,融合需求,作为第四模型输入。
Bv = [1;0(数控,1)];B = (Bu Bv);
所有的州定义为可衡量的。美国由库存和混合组分的浓度。
C =眼(数控+ 1);
指定没有直接通孔从输入到输出。
D = 0(倪数控+ 1,+ 1);
构造线性植物模型。
模型= ss (A, B, C, D);模型。InputName = {“F_T”,“₂”,“F_3”,“F”};Model.InputGroup。MV = 1:3;Model.InputGroup。MD = 4;模型。OutputName = {“V”,“c₁”,“c₂”};
指定样品时间,预测地平线,地平线和控制的控制器。
t = 0.1;p = 10;m = 3;
创建一个控制器。
mpcobj = mpc(模型、t、p、m);
- - >“权重。ManipulatedVariables”属性的“mpc”对象是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”属性的“mpc”对象是空的。假设默认的0.10000。- - >“权重。OutputVariables”属性的“mpc”对象是空的。假设默认的1.00000。
输出是库存,y (1)
组分浓度,y (2)
和y (3)
。指定名义值统一规范化后的输出。
mpcobj.Model.Nominal。Y = (1 1 1);
名义值指定规范化操纵变量,u (1)
,u (2)
和你(3)
测量的干扰,u (4)
。
mpcobj.Model.Nominal。U = [1 fin_nom (2) fin_nom (3) 1];
指定输出调整权重。更加关注控制库存和第一个成分的组成,用更大的权重前两个输出。
mpcobj.Weights。OV = (1 1 0.5);
指定硬边界(物理限制)的操纵变量。
umin = (0 0 0);umax = 0.6 - 0.6 [2];为i = 1:3 mpcobj.MV(我)。Min = umin(我);mpcobj.MV(我)。Max = umax(我);mpcobj.MV(我)。杀鼠灵= -0.1;mpcobj.MV(我)。RateMax = 0.1;结束
利率的总进给速率和饲料2和饲料3有上界。饲料1也有一个上限,由上游单位提供。
给指定的上界在进食2和3(0.6),有可能是他们的总和可以高达1.2。由于名义总饲料率是1.0,控制器可以请求一个物理上不可能的条件下,饲料2和3的总和超过总进给速率,这意味着-饲料1。
以下约束阻止控制器请求一个不切实际的价值。
指定该约束形式。
E = [1 1 1;1 1 1];g = (0, 0.8);
因为没有指定输出的混合约束,设置它们的系数为零。
F = 0 (2、3);
指定这两个约束是硬(ECR = 0)。
v = 0 (2, 1);
指定零系数对测量的干扰。
h = 0 (2, 1);
设置自定义约束MPC控制器。
setconstraint (mpcobj, E, F, g, v, h)
仿真软件金宝app模型包括一个混合过程的非线性模型和一个无边无际的干扰成分1饲料成分。
的需求
,建模为测量的干扰。操作员可以改变价值的需求,以及由此产生的信号过程和控制器。
该模型模拟了下面的场景:
在,这个过程是在稳态操作。
在,总需求
减少从来。
在,有一个大步骤组成1饲料的浓度增加,从1.17到2.17。
开放和模拟仿真软件模型。金宝app
mdl =“mpc_blendingprocess”;open_system (mdl) sim (mdl)
- - >将模型转换为离散时间。假设没有干扰测量输出通道# 1。- - >输出假设扰动添加到测量输出通道# 2是集成的白噪声。- - >输出假设扰动添加到测量输出通道# 3是集成的白噪声。- - >”模型。噪音”属性的“mpc”对象是空的。假设白噪声在每个测量输出通道。
在仿真:
0时刻,核电站运营稳步的名义条件。
1时,需求减少了10%,控制器保持库存接近其定位点。
2时,有一个大的无边无际的成分的浓度增加1包含在提要1。这个扰动会导致预测误差和大扰动混合组成。
干扰是一种非线性效应,但线性MPC控制器恢复得很好,驱动混合组成的定位点
情节提要速度信号。
图绘制(MVs.time [MVs.signals (1) . values (:, 2),…(MVs.signals (2)。值+ MVs.signals (3) . values),…(MVs.signals (1) . values (:, 2) -MVs.signals (2) .values-MVs.signals (3) . values)])网格传奇(“金融时报”,“F2 + F3 ',“F1”)
无边无际的扰动发生在时间2,要求控制器减少F1。在过渡期间,F1变成零。如果混合输入/输出约束没有包括,F1是负的。控制器要求英尺、F2和F3满足是不可能的,这将导致性能下降。约束条件包括,控制器的系统的物理限制。
bdclose (mdl)