比较多个控制器响应使用MPC设计师
这个例子展示了如何使用多个控制器响应进行比较MPC设计师。特别是,控制器与不同的输出约束的配置进行了比较。
定义植物模型
创建一个你的植物状态空间模型,并指定MPC信号类型。
= (-0.0285 - -0.0014;-0.0371 - -0.1476);B = [-0.0850 - 0.0238;0.0802 - 0.4462);C = [0 1;1 0];D = 0 (2, 2);工厂= ss (A, B, C, D);植物= setmpcsignals(植物,“MV”,1“UD”2,“莫”,1“UO”2);
开放MPC设计师,并导入植物模型。
mpcDesigner(植物)
应用程序添加指定的工厂数据浏览器随着一个默认的控制器,mpc1
,和一个默认的仿真场景,scenario1
。
定义仿真场景
配置一个扰动抑制仿真场景。
在MPC设计师,在MPC设计师选项卡上,单击编辑场景>scenario1。
在模拟场景对话框中,指定一个仿真时间40秒。
在参考信号表,信号下拉列表中,选择常数
持有的选点输出标称值。
在无边无际的干扰表,信号下拉列表中,选择一步
。使用默认的时间和一步值。
这个场景模拟单位阶跃变化在无边无际的输入扰动的1秒。
点击好吧。
应用程序运行更新仿真场景和更新控制器响应图。在输出响应情节,默认控制器返回测量输出,MO1其名义价值,然而,控制作用导致无节制的增加输出,UO1。
创建控制器输出约束
假设控制规范表明这种无节制的增加扰动是不可取的。限制无限的扰动的影响,努力创建一个控制器和一个输出约束。
请注意
在实践中,不推荐使用硬输出约束。这样的约束可以创建一个不可行的优化问题时,输出变量约束范围外的移动由于扰动。
在数据浏览器,在控制器节中,右键单击mpc1
,并选择复制。
这个应用程序创建一个副本,并将其添加到默认的控制器数据浏览器。
双击每个控制器和重命名如下。
右键单击mpcHard
控制器,并选择调整(当前)。应用程序添加了mpcHard
控制器响应输入响应和输出响应情节。
在调优选项卡,控制器节中,mpcHard
选为当前MPC控制器被调整。
在设计部分中,点击约束。
在约束对话框输出约束的部分,马克斯列,指定一个约束的最大输出3
无边无际的输出(UO)。
默认情况下,所有输出约束是柔软,控制器可以允许违反约束时计算最优控制动作。
努力使无边无际的输出约束,点击约束软化的设置,输入一个MaxECR的价值0
UO。这个设置的地方严格限制控制器的输出不能违反。
点击好吧。
响应图更新以反映新的mpcHard
配置。在输出响应的情节,UO1情节,mpcHard
反应是有限的最多3
。作为一个权衡,控制器不能返回MO1应对其名义价值。
提示
如果情节传说阻断响应信号,你可以拖动不同位置的传说。
创建控制器输出软约束
假设的偏差MO1从其标称值太大。可以软化输出约束妥协之间的两个控制目标:MO1输出跟踪和UO1约束的满意度。
在调优选项卡,分析部分中,点击存储控制器保存一份mpcHard
在数据浏览器。
在数据浏览器,在控制器节中,重命名mpcHard_Copy
来mpcSoft
。
在调优选项卡,控制器的部分,MPC控制器下拉列表中,选择mpcSoft
电流控制器。
应用程序添加了mpcSoft
控制器响应输入响应和输出响应情节。
在设计部分中,点击约束。
在约束对话框输出约束节中,输入一个MaxECR的价值One hundred.
UO软化的约束。
点击好吧。
响应图更新以反映新的mpcSoft
配置。在输出响应情节,mpcSoft
显示了一个之前的控制器响应之间的妥协。
删除默认的控制器响应图
比较两个约束控制器,您可以删除默认的无约束控制器的输入和输出响应的阴谋。
在MPC设计师选项卡,结果部分中,点击比较控制器>mpcNone。
应用程序删除mpcNone
反应的输入响应和输出响应情节。
你可以切换显示的控制器数据浏览器除了控制器目前调谐。下比较控制器,显示的控制器响应与勾表示。