默认情况下,当您使用该对象创建控制器对象时MPC
命令,不存在约束。要包含约束,请设置相应的控制器属性。下表总结了用于定义大多数MPC约束的控制器属性。(MV =工厂操纵变量; OV =植物输出变量; MV递增=你(K.) -你(K.- 1)。
约束 | 控制器属性 | 约束软化 |
---|---|---|
下界我th | MV(I).Min> -Inf |
MV(I).MinECR> 0 |
上限我th | MV(I)。最大 |
MV(i).maxecr> 0 |
下界我日OV | OV(ⅰ).Min> -Inf |
OV(ⅰ).MinECR> 0 |
上限我日OV | ov(i).max |
OV(ⅰ).MaxECR> 0 |
下界我个MV增量 | MV(I).RateMin> -Inf |
MV(I).RateMinECR> 0 |
上限我个MV增量 | mv(i).ratemax |
MV(I).RateMaxECR> 0 |
使用该设置控制器约束属性MPC设计师应用程序,在调整选项卡,单击约束。在约束对话框中指定的约束值。
看约束对于描述相应约束的等式。
对于mv边界:
包括对植物的MV硬MV界已知的物理极限。
包括MV增量界限时,有对变化率的已知的物理限制,或者您的应用程序需要你以防止大的增量某些其他原因。
不包括在同一MV硬MV界和硬MV增量界限,因为它们可能会发生冲突。如果这两种类型的界限是很重要的,软化之一。
对于OV界限:
不包括OV界限,除非他们是你的应用是必不可少的。作为一种替代设置的OV束缚,你可以定义一个OV参考,并设定其成本函数的重量保持OV接近其设定值。
所有OV约束应该软化。
考虑将OV因某些预测的地平线延伸而定。看时间变化的权重和约束。
考虑一个时变的OV约束,易于满足地平线的早期,逐渐逐渐减少到更严格的约束。看时间变化的权重和约束。
不包括OV限制,这是不可能满足的。即使软,此类约束也会导致意外的控制器行为。例如,考虑一个具有五个采样期的SISO工厂。在第六预测地平线步骤之前的OV约束通常是不可能满足的。你可以使用审查
命令检查此类不可能的约束,并使用时间变化的OV绑定。看时间变化的权重和约束。
hard约束是约束,即二次编程(QP)解决方案必须满足。如果在数学上不可能满足给定的控制间隔的硬约束,K.,QP是不可行。在这种情况下,控制器返回错误状态,并将操纵变量(MVS)设置为你(K.)=你(K.-1),也就是没有任何变化。如果导致不可行的情况得不到解决,可不可行无限期地继续下去,导致失控。
在实践中,扰动和预测错误是不可避免的。因此,即使控制器预测,也可以在工厂中发生约束违规。可行的QP解决方案不保证在工厂使用最佳MV时将满足所有硬约束。
如果您的应用程序的唯一限制是对MV的边界,在边界MV可以硬约束,因为它们在默认情况下。MV界定本身并不能导致不可行。当唯一的限制是对MV的增量也是如此。
然而,硬MV用硬MV增量约束势必会导致不可行性。例如,手动控制下镦锻或操作可能导致实际MV在植物中使用超过期间间隔指定的约束K.-1。如果控制器处于自动间隔期间K.,它必须将MV返回到硬界内的值。如果MV超过过分界限,则硬增量约束可以在不可能的下一个间隔中纠正绑定的违规行为。
如果植物是受到干扰和有或者硬输出约束或硬混合输入输出的限制,那么QP不可行性是一个明显的可能性。
所有型号预测控制工具箱™约束(除了Slack变量非网络除外)可以是柔软。当约束柔软时,即使它预测该约束,控制器也可以认为MV最佳。如果所有工厂输出,MV增量和自定义约束都是软的(因为它们是默认值),则不会发生QP不可释放性。但是,控制器性能可以是不合标准的。
软化的约束,设置松弛(ECR)值为正值对应等于关注(零意味着硬约束)。较大的ECR值,越有可能控制器会认为它最佳的侵犯,以满足您的其他性能目标的约束。该模型预测控制工具箱软件提供的默认值ECR,但作为成本函数的权重,则可能需要调整ECR值,以达到可接受的性能。
要了解约束软化作品,假设您的成本函数使用 在成本函数给两个MV和MV增量为零重量。只有输出参考跟踪和约束违反而言是非零。在这种情况下,成本函数为:
假设你还指定硬MV界与 和 。然后,这些约束简化为:
因此,松弛变量,ε.K.,不再出现在上述等式中。您还在工厂输出上指定了软限制 和 。
现在,假设干扰推动了上方的植物输出,但具有硬输出约束的QP是可行的,即,可以在QP解决方案中避免所有约束违规。QP涉及输出参考跟踪和约束违规之间的权衡。松弛变量,ε.K.,必须是非负面的。它在成本函数中的外观不鼓励,但不阻止,最佳ε.K.> 0。更大的ρε.然而,重量增加了最佳的可能性ε.K.将很小或零。
如果是最佳的ε.K.> 0,结合的不等式中的至少一个必须是活性的(在平等)。相对较大 更容易满足一个小的约束ε.K.。在那种情况下,
可以更大,不超过
注意 不设置约束违规的上限。相反,它是一个调谐因子确定一个软约束是否容易或难以满足。
使用无量纲变量简化了约束调整。为每个工厂输入和输出变量定义适当的比例因子。看指定比例因子。
以指示可容忍的违反的相对幅度,使用与每个约束关联的ECR参数。粗糙的指引如下:
0 - 不允许违规(硬约束)
0.05 - 允许非常小的违规行为(差不多)
0.2 - 小违反允许的(很困难)
1 - 平均柔软度
5 - 允许大于平均平均违规(相当柔软)
20 - 允许大规模的违规(非常柔软)
使用控制器的总约束软化参数(控制器对象属性:Weights.ECR
)惩罚相对于其他成本函数术语的可容忍的软限制违规。设定Weights.ECR
性能,使得相应的惩罚是幅度大于其它三个成本函数项的典型总和的1-2个数量级。如果违反约束在模拟测试似乎过大,请尝试增加Weights.ECR
一个倍数2-5。
然而,请注意,这是一个过大的Weights.ECR
扭曲MV优化,从而导致不恰当的MV调整时约束冲突发生。要检查此,显示在模拟期间的成本函数值。如果超过2个数量级的它的大小增加时限制冲突发生时,可以考虑减少Weights.ECR
。
干扰和预测错误可能导致真实系统中的意外限制违规。试图通过制造限制更难地防止这些违规通常会降低控制器性能。