主要内容

监控优化状态,检测控制器故障

方法的使用qp.status在Simulink®MPC控制器块的输出端口,以实时检测控制器故障。金宝app

运行时控制监视概述

qp.status当控制器通过求解二次规划(QP)问题找到最优控制动作时,MPC控制器块的输出返回一个正整数。整数值对应于优化期间使用的迭代次数。如果在给定的样本区间内制定的QP问题是不可行的,控制器将无法找到一个解决方案。在这种情况下,控制器块的MV输出端口保留最近的值qp.statusOutport返回-1。在极少数情况下,当优化过程中达到最大迭代次数时,将使用qp.statusOutport返回0。

在工业MPC应用中,您可以通过监视的状态来检测您的模型预测控制器是否处于故障模式(0或-1)qp.status外港。如果MPC发生故障,您可以使用此信号切换到备份控制计划。

有关更多信息,请参见车道保持辅助系统优化器的选项。货币政策委员会

这个例子展示了如何在Simulink中设置运行时控制器状态监控。金宝app

定义植物模型

测试装置是单输入、单输出装置,对操纵变量和受控输出都有严格限制。在设备输出端增加负荷扰动。由于MV上的硬限制,扰动由一个斜坡信号组成,使被操纵变量饱和。饱和发生后,你失去了控制自由度,扰动最终迫使输出超出其上限。当这种情况发生时,由模型预测控制器在运行时制定的QP问题变得不可行的。

将工厂模型定义为具有统一静态增益的简单SISO系统。

Plant = tf(1,[2 1]);

定义未测负载扰动。信号从02之间的1而且3.秒,然后从20之间的3.而且5秒。

LoadDist = [0 0;1 0;3 - 2;5 0;7 0];

MPC控制器设计

为创建一个MPC对象植物用一个采样时间0.2秒。

Mpcobj = mpc(植物,0.2);
——>“PredictionHorizon”属性为空。假设默认为10。“ControlHorizon”属性为空。假设默认2。- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。 -->The "Weights.OutputVariables" property is empty. Assuming default 1.00000.

定义植物输入(MV)和输出(OV)的硬约束。默认情况下,所有MV约束都是硬约束,OV约束是软约束。

mpcobj.MV.Min = -1;mpcobj.MV.Max = 1;mpcobo . ov . min = -1;mpcobj.OV.Max = 1;

将OV的上下约束配置为硬边界。

mpcobj.OV.MinECR = 0;mpcobj.OV.MaxECR = 0;

重写默认估计器。这种高增益估计器改进了即将发生的约束违反的检测。

setEstimator (mpcobj [], [0, 1])

使用Simulink进行模拟金宝app

在Simulink模型中构建控制系统,并启用金宝appqp.status从控制器块对话框输出。它的运行时值显示在Simulink作用域块中。金宝app

mdl =“mpc_onlinemonitoring”;open_system (mdl)

模拟闭环并显示响应。

(mdl sim (mdl) open_system (“/控制器状态”(mdl) open_system (“/响应”])
——>转换“模型”。属性到状态空间。——>转换模型到离散时间。假设添加到测量输出通道#1的输出扰动是集成白噪声。——>”模式。“噪音”属性为空。假设每个测量输出都有白噪声。

从响应范围可以看出,斜坡扰动信号使MV在其下界-1处饱和,这是这些情况下的最优解。在plant输出超过上限后,在下一个采样间隔(2.6秒),控制器意识到它不能再将输出保持在界限内(因为它的MV仍然饱和),因此它由于一个不可行的QP问题(在控制器状态范围内为-1)而发出控制器故障信号。当输出回到边界内后,QP问题再次变得可行(3.4秒)。一旦MV不再饱和,正常的控制行为返回。

关闭Simulink金宝app模型。

bdclose (mdl)