这个例子说明如何使用比较多控制器响应MPC设计。特别地,具有不同的输出约束结构控制器进行比较。
创建工厂的状态空间模型,并指定MPC信号类型。
A = [-0.0285 -0.0014;-0.0371 -0.1476];B = [-0.0850 0.0238;0.0802 0.4462];C = [0 1;1 0];d =零(2,2);植物= SS(A,B,C,d);植物= setmpcsignals(植物,'MV'1,'UD',2,'MO'1,'UO',2);
打开MPC设计,并导入植物模型。
mpcDesigner(厂)
该应用程序指定的工厂增加了数据浏览器伴随着一个默认的控制器,MPC1
和默认的模拟场景,scenario1
。
配置抗干扰模拟场景。
在MPC设计,在MPC设计选项卡,单击编辑方案>scenario1。
在模拟的场景对话框,指定仿真时间的40秒。
在里面参考信号表中,信号下拉列表中,选择不变
在它们的标称值保持两个输出的设定值。
在里面不可测的扰动表中,信号下拉列表中,选择步
。使用默认时间和步值。
这种情况下模拟中未测量输入干扰以1秒的时间单位阶跃变化。
请点击好。
该应用程序运行更新的模拟场景,并更新控制器的响应曲线。在里面输出响应图,默认控制器返回所测量的输出,MO1,到其标称值,但是该控制动作使得在未测量的输出的增加,UO1。
假设控制规范表明,这种增加在未测量的干扰是不希望的。为了限制未测量干扰的影响,创建具有硬约束的输出控制器。
在实践中,不推荐使用硬输出限制。这样的约束可以创建一个不可行的优化问题当约束范围之外的输出变量移动由于干扰。
在里面数据浏览器, 在里面控制器部分中,右键点击MPC1
,并选择复制。
该应用程序创建默认控制器的副本,并将其添加到数据浏览器。
双击每个控制器并重新命名如下。
右键单击mpcHard
控制器,并选择调(MAKE电流)。该应用程序添加mpcHard
控制器响应于所述输入响应和输出响应地块。
在调音选项卡,在调节器部分,mpcHard
被选择作为当前MPC控制器被调整。
在里面设计部分,点击约束。
在约束对话框,在输出限制部分中,在马克斯列中,指定的最大输出限制3
对于未测量的输出(UO)。
缺省情况下,所有的输出限制是软的,即计算最优控制移动时,控制器可以允许违反的约束。
为了使不可测输出的制约条件艰苦,单击约束软化设置,并输入MaxECR的价值0
为UO。此设置放在控制器的输出不能违反了严格的限制。
请点击好。
响应曲线更新,以反映新mpcHard
组态。在里面输出响应绘制,在UO1情节,mpcHard
响应被限制为最大的3
。作为一个权衡,控制器不能返回MO1响应到其标称值。
如果情节的传说被阻断响应信号,你可以拖动传说到不同的位置。
假设的偏差MO1从它的标称值过大。你可以软化两个控制目标之间的妥协输出的制约:MO1输出跟踪和UO1约束的满意度。
在调音选项卡,在分析部分,点击存储控制器保存副本mpcHard
在里面数据浏览器。
在里面数据浏览器, 在里面控制器节,重命名mpcHard_Copy
至mpcSoft
。
在调音选项卡,在调节器部分中,在MPC控制器下拉列表中,选择mpcSoft
作为电流控制器。
该应用程序添加mpcSoft
控制器响应于所述输入响应和输出响应地块。
在里面设计部分,点击约束。
在约束对话框,在输出限制部分,输入MaxECR的价值100
为UO软化约束。
请点击好。
响应曲线更新,以反映新mpcSoft
组态。在里面输出响应情节,mpcSoft
显示前一个控制器响应之间的妥协。
如果只比较这两个约束控制器,您可以从输入和输出响应曲线默认约束控制器。
在MPC设计选项卡,在结果部分,点击比较控制器>mpcNone。
该应用程序删除mpcNone
从反应输入响应和输出响应地块。
您可以切换在任何控制器的显示数据浏览器除了当前被调谐控制器。下比较控制器,并显示响应的控制器以表示复选标记。