此示例显示如何使用模型预测控制器控制热机械制浆(TMP)工厂。
下图显示了用于两个阶段TMP操作的典型过程布置。两个压力的炼油厂按顺序操作以产生适合制作新闻纸的机械纸浆。
控制TMP工厂的主要目的是通过电动机调节施加到纸浆的能量,该电动机驱动每个炼油器,以源于具有良好物理性质的纸浆,而不会产生过量的能量成本。
二次控制目的是调节在每个精磨机的出口处测量的干质量流速与整体质量流速(称为稠度)的比率。
在实践中,这些目标达到了初级和中学炼油机的负载,以及受以下输出约束的主要和中学炼油厂的遗传:
(1)将每个炼油厂的电源保持在最大额定值以下。
(2)将两个炼油厂的振动水平保持在临界水平以下,以防止炼油板冲突。
(3)限制测量的一致性以防止吹线堵塞和纤维损伤。
该植物的操纵变量包括:
用于调节炼油板之间距离的间隙控制器设定值
稀释流量速率为两个炼油厂
螺丝送料器的RPM
还对每个输入的每个输入施加物理限制。
要运行此示例,需要Simulink®。万博1manbetx
如果〜mpcchecktoolboxinstalled('万博1manbetxsimulink')disp('万博1manbetxSimulink(R)需要运行此示例。')返回结尾
以下Simulink®模型代万博1manbetx表了一种用于上述控制目标的TMP工厂和MPC控制器。打开模型,初始化工厂数据:
Open_System('mpc_tmpdemo')MPCTMPINIT;
MPC控制器由工作区中的MPC对象表示。它从先前保存的设计中加载:
加载mpc_tmpdemodata.;mpcobj.
MPC对象(2004年3月30日创建17:20:31):---------------------------------------------采样时间:0.5(秒)预测地平线:20控制地平线:5植物模型:-------------5操纵变量- > |7州||| - > 6测量输出0测量干扰(S) - > |5个输入||| - > 0未测量的输出0未测量干扰(S) - > |6输出| -------------- Disturbance and Noise Models: Output disturbance model: user specified (type "getoutdist(mpcobj)" for details) Measurement noise model: user specified (type "mpcobj.Model.Noise" for details) Weights: ManipulatedVariables: [0 0 0 0 0] ManipulatedVariablesRate: [0.1000 10 0.1000 10 0.1000] OutputVariables: [0 10 0 1 10 1] ECR: 1000000 State Estimation: Default Kalman Filter (type "getEstimator(mpcobj)" for details) Constraints: 0 <= Feed rpm <= 35, -10 <= Feed rpm/rate <= Inf, -Inf <= Pri. vibration <= 1 0 <= Pri. gap set point <= 1, -10 <= Pri. gap set point/rate <= Inf, -Inf <= Pri. consistency <= 0.45 70 <= Pri. dil. flow set point <= 250, -10 <= Pri. dil. flow set point/rate <= Inf, -Inf <= Sec. vibration <= 1 ............... ............... ............... 70 <= Sec. dil flow set point <= 250, -10 <= Sec. dil flow set point/rate <= Inf, -Inf <= Sec. motor load <= 9
控制器使用MPC设计器应用程序设计。
单击MPC控制器块对话框中的“设计”按钮以启动MPC设计器应用程序。
在“调整”选项卡中,单击“权重”以打开“权重”对话框。要更加重视调节初级和次级炼油机负载和遗传,请指定输入和输出权重,如下所示:
在MPC Designer选项卡中,单击“编辑方案”以打开“模拟方案”对话框。为了模拟主要炼油机电动机负载设定值从8到9 MW的情况下,没有模型不匹配,请指定如下模拟场景设置:
在响应图中可以立即观察设计变化的效果。
通过在Simulink®中运行模拟,可以在非线性工厂上测试控制器。万博1manbetx在“调整”选项卡中,在“更新”中的“更新”下拉下拉列表中,选择“更新块”并运行模拟以将当前的控制器设计导出到MATLAB工作区,并在Simulink中运行模拟。万博1manbetx
3范围的输出显示对初始设定值的响应:
主要一致性为0.4
二级电机负载6兆瓦
次级一致性为0.3
bdclose('mpc_tmpdemo')