主要内容

使用MPC设计器测试MPC控制器的鲁棒性

这个例子展示了如何使用模拟测试模型预测控制器对预测误差的灵敏度MPC设计师

测试控制器对预测误差的鲁棒性是一个很好的实践。经典相位裕度和增益裕度是量化SISO应用的鲁棒性的一种方法。鲁棒控制工具箱™软件为MIMO系统提供了更复杂的方法。它还可以帮助评估鲁棒性运行模拟与选定的模型不匹配和干扰。

定义植物模型

对于本例,使用中描述的CSTR模型装运箱模型并用于使用MPC设计器设计控制器

在这个模型中,前两个状态变量是试剂的浓度(这里称为C一个单位是kmol/m3.)和反应堆温度(这里称为T,单位为K),而前两个输入是冷却剂温度(Tc,单位为K,用于控制装置),流入饲料试剂浓度C一个f测量单位为kmol/m3.,(通常被认为是不可测量的干扰)。

创建CSTR系统的状态空间模型。

A = [-5 -0.3427;47.68 - 2.785);B = [0 1 0.3 0];C =翻转(眼(2));D = 0 (2);CSTR = ss(A,B,C,D);

指定信号名称和类型

假设进料流试剂浓度C一个f是一个不可测量的干扰和试剂浓度C一个是一个未测量的输出。

装运箱。在putName = {“T_c”,“C_A_f”};装运箱。OutputName = {“T”,“C_A”};装运箱。StateName = {“C_A”,“T”};CSTR = setmpcsignals(CSTR,“MV”, 1“UD”2,“莫”, 1“UO”2);

开放MPC设计师,并导入植物模型。

mpcDesigner(装运箱)

应用程序导入植物模型并将其添加到数据浏览器.它还创建了一个默认控制器和一个默认模拟场景。

设计控制器

通常,您可以通过指定缩放因子、定义约束和调整调优权重来设计控制器。本例中,只需修改控制器采样时间,其他控制器保持默认值即可。

MPC设计师,在调优选项卡,在地平线部分,指定样品时间0.25秒。

MPC设计器窗口,显示闭环阶跃响应。植物输入在左手边,操纵变量的响应在左上方,未测量的扰动响应在左下方。工厂的输出在右手边,测量的输出响应在右上方,未测量的输出响应在右下方。

输入响应而且输出响应绘图更新以反映新的采样时间。

配置仿真场景

为了测试控制器设定值跟踪和不可测扰动抑制,修改默认仿真场景。

场景部分在左下部分MPC设计师,右键单击scenario1,并选择编辑

在“模拟场景”对话框中保持仿真时间10秒。

参考信号表,保持默认值T的参考值设定值配置,模拟反应器温度的单位步长变化。

将浓度设定值保持在标称值,在第二行,在信号下拉列表,选择常数

在5秒的时间内模拟一个单位步长未测量的扰动。在无边无际的干扰表,在信号下拉列表,选择一步,并指定时间5

模拟场景对话框的上部部分,显示指定的步进扰动。

点击好吧

MPC设计器窗口,分别在测量输入和未测量输入中显示1秒和5秒对输入步骤的更新闭环响应。

该应用程序运行模拟场景,并更新响应图以反映新的模拟设置,因此在测量和未测量输入中显示对输入步骤的闭环响应。对于这种场景,在仿真中使用控制器的内部模型。因此,仿真结果代表了不存在预测误差时控制器的性能。

定义扰动植物模型

假设你想测试你的控制器对电站变化的敏感性,这些变化改变了冷却剂温度对反应堆温度的影响。你可以通过扰动元素来模拟这种变化B (2, 1)的CSTR输入到状态矩阵。的标称值的66%B (2, 1)

在MATLAB中®命令窗口,指定摄动矩阵。

dB = [0 0;0.2 0];

创建两个扰动植物模型。

perturbUp = CSTR;perturbUp。B = perturbUp。B + dB;微扰向下= CSTR;perturbDown。B =微扰向下。B - dB;

检查受扰植物的阶跃反应

为了检验植物扰动的影响,绘制植物阶跃响应图。

步骤(装运箱,perturbUp perturbDown)传说(“装运箱”,“peturbUp”,“perturbDown”

设置垂直轴的限制01.5对于上面的图和-0.10对于底部的图,右键单击轴,选择属性……,并在Y-Limits面积限制选项卡。

MATLAB阶跃响应窗口,显示了标称和扰动植物的阶跃响应。

微扰元素B (2, 1)CSTR装置的温度会改变冷却剂温度的响应幅度,Tc对反应堆温度,T,反应器试剂浓度,C一个输出。

进口受干扰植物

MPC设计师,在MPC设计师选项卡,在进口部分中,点击进口植物

在“导入工厂模型”对话框中,选择perturbUp而且perturbDown模型。

导入植物模型对话框,显示MATLAB工作区中的三种植物。植物“摄动down”和“摄动bup”被选中。

点击进口

应用程序导入模型并将它们添加到数据浏览器

定义扰动植物模拟场景

创建两个使用扰动植物模型的模拟场景。

场景部分在左下部分MPC设计师,点击scenario1,并重命名准确的

右键单击准确的,并单击复制.重命名accurate_CopyerrorUp

右键单击errorUp,并选择编辑

在“模拟场景”对话框中,单击模拟中使用的植物下拉列表,选择perturbUp

仿真场景对话框。植物“perturbUp”被选中。

点击好吧

对第二株受干扰的植物重复此过程。

复制准确的场景并将其重命名为errorDown

编辑errorDown,选择perturbDown工厂。

仿真场景对话框。植物“摄动down”被选中。

检查errorUp模拟反应

MPC设计师选项卡,在场景部分中,点击情节场景>errorUp

MPC设计器窗口,显示了由“perturbUp”植物形成的闭环的阶跃响应,由为非扰动植物设计的MPC控制器控制。

应用程序创建errorUp:输入而且errorUp:输出选项卡,并显示模拟响应。

浏览准确的而且errorUp响应并排,拖动准确:输出标签到左边的绘图面板。

MPC设计器窗口,显示了“accurate:”和“perturbUp”植物的阶跃响应,由为非扰动(精确)植物设计的MPC控制器控制。

这种扰动产生了植物,perturbUp,它对被操纵变量变化的响应速度略快于控制器的预测。在errorUp:输出选项卡,在输出响应情节,T设定值阶跃响应在稳定之前振荡更多。尽管这一反应不出所料,比中国的反应更糟糕准确的模拟,还是可以接受的。植物响应越快,对不可测扰动的响应峰值误差越小。总的来说,控制器是能够控制的perturbUp尽管内部模型预测错误,但成功种植。

检查errorDown模拟反应

MPC设计师选项卡,在场景部分中,点击情节场景>errorDown

应用程序创建errorDown:输入而且errorDown:输出选项卡,并显示模拟响应。

浏览准确的而且errorDown并排的响应,单击准确:输出选项卡在左侧显示面板。

MPC设计器窗口,显示了“精确:”和“扰动down”植物的阶跃响应,由为非扰动(精确)植物设计的MPC控制器控制。

这种扰动产生了植物,perturbDown,它对被操纵变量变化的响应慢于控制器的预测。在errorDown:输出选项卡,在输出响应在小区中,设定值跟踪和干扰抑制比未受干扰的植物差。

根据应用需求和现实世界这种植物变化的潜力,退化的响应为perturbDown工厂可能需要修改控制器设计。

另请参阅

|

相关的话题