主要内容

使用MPC设计器设计控制器

该示例显示了如何使用搅拌罐电抗器(CSTR)设计模型预测控制器MPC设计师

装运箱模型

连续搅拌槽式反应器(CSTR)的线性化模型如下图所示装运箱模型.在模型中,前两个状态变量是试剂的浓度(这里称为C一种并在Kmol / m中测量3.)和反应器的温度(这里称为在k中测量的T),而前两个输入是冷却剂温度(T.C,测量K,用于控制工厂),和进料试剂浓度C一种在kmol / m中测量3.(常被认为是不可测量的扰动)。

在这个例子中,冷却剂温度与其标称值的变化范围为±10度,变化速率为±2度/秒。

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

A = [-5 -0.3427;47.68 - 2.785);B = [0 1 0.3 0];C = flipud(眼(2));D = 0 (2);装运箱= ss (A, B, C, D);

进口厂房,定义MPC结构

mpcDesigner

在这方面MPC设计师选项卡,结构部分,点击MPC结构

通过导入对话框定义MPC结构,在从MATLAB工作空间中选择一个植物模型或MPC控制器表,选择装运箱模型。

装运箱是一个稳定的连续时间LTI系统,MPC设计师设置控制器采样时间0.1T.R.,在那里T.R.平均上升时间是装运箱.对于这个例子,在指定MPC控制器采样时间字段,输入示例时间0.5秒。

默认情况下,所有设备的输入都被定义为操作变量,所有设备的输出都被定义为测量输出。在里面分配设备输入输出通道部分,分配输入和输出通道索引,使得:

  • 第一个输入,冷却剂温度是操纵变量。

  • 第二种输入,饲料浓度是未训练的干扰。

  • 第一个输出,反应器温度是测量的输出。

  • 第二输出反应物浓度是未测量的输出。

点击进口

该应用程序导入装运箱植物的数据浏览器.下面还添加到数据浏览器

  • mpc1—使用创建的默认MPC控制器装运箱作为其内部模式。

  • 场景1.- 默认的仿真方案。

应用程序运行默认的模拟场景并更新输入响应输出响应情节。闭环系统能够成功地跟踪期望的被测输出,而对于未被测输出则不是这样。这种行为是预期的,因为植物只有一个被操纵的变量。

一旦定义了MPC结构,就不能在当前范围内更改它MPC设计师会议。要使用不同的频道配置,请启动应用程序的新会话。

定义输入和输出通道属性

在这方面MPC设计师选项卡上,选择I / O属性

在“输入和输出通道规格”对话框中姓名列时,为每个输入和输出通道指定有意义的名称。

在里面单位列,可选地指定每个通道的单位。

由于使用与标称操作点的偏差定义了状态空间模型,因此保持名义价值为每个输入和输出通道0.

保持比例因子为每个通道的默认值1

点击好吧

输入响应输出响应绘图标签更新以反映新的信号名称和单元。

配置模拟方案

在这方面MPC设计师选项卡,设想部分,点击编辑场景>场景1.

在“模拟方案”对话框中,设置模拟持续时间20秒。

在里面参考信号表,在第一行中,指定一个步骤尺寸2和一个时间5.

在里面信号列,在第二行中,选择常数参考将浓度设定值保持在其标称值,该标称值在输入和输出通道规格对话框中定义(在本例中,标称值为零)。

默认场景被配置为模拟的步骤更改2高度kelvin在参考反应器温度下,T.,一次5.秒。

点击好吧

响应图更新以反映新的模拟场景配置。的参考值C一种不再是一步,但常数等于零。

在里面数据浏览器,在场景部分,点击场景1..点击场景1.第二次,并将场景重命名为stepT

配置控制器视野

在这方面调优选项卡,视野节中,指定一个预测地平线15.和一个控制层3.

响应绘图更新以反映新的视野。这输入响应绘图表明,控制动作违反了冷却液温度的变化率的所需约束。

定义输入约束

在里面设计部分,点击约束

在“约束”对话框中,在输入和输出约束部分,在输入列,在列中输入冷却液温度的上下限马克斯分别列。

中指定更改限制的速率杀鼠灵RateMax列。

点击好吧

输入响应绘图显示受约束的操纵变量控制动作。

指定控制器调优权重

在这方面调优选项卡,设计部分,点击重量

在里面输入重量表,增加操纵变量(MV)率的重量0.3.增加MV率权重会惩罚控制器优化成本函数中MV的较大变化。

在里面输出权值表,保持默认值重量价值观。默认情况下,所有未测量的输出都具有零权重。

由于只有一个操纵变量,如果控制器试图将两个输出保持在特定的设定值,其中一个或两个输出将在响应中显示稳态误差。由于控制器忽略零重量输出的设定值,设置浓度输出重量为零允许反应器温度设定值跟踪零稳态误差。

点击好吧

输入响应绘图显示更保守的控制行动,这导致速度较慢输出响应

消除产出过冲

假设应用程序在输出响应中需要零过冲。在这方面性能调整标签,拖动闭环性能滑块向左直到输出响应没有过度。将这个滑块向左移动,同时增加了控制器的操纵变量权值,并降低了输出变量权值,从而产生了更鲁棒的控制器。

使用控制器调优权重闭环性能滑块,MPC设计师不会更改在权重对话框中指定的权重。相反,滑块控制调整因子,其与用户指定的权重一起使用以定义实际控制器权重。

这个因素是1当滑块居中时;它的值随着滑块向左移动而减小,随着滑块向右移动而增大。权重因子将被操纵变量和输出变量的权重相乘,并从权重对话框中将被操纵的可变率权重除以。

为了查看控制器的实际权值,将控制器导出到MATLAB中®工作区,并查看重量导出控制器对象的属性。

测试控制器干扰抑制

在过程控制应用中,干扰抑制往往比设定值跟踪更重要。模拟控制器对进料浓度阶跃变化的响应,未经测量的扰动。

在这方面MPC设计师选项卡,设想部分,点击情节场景>新场景

在“模拟方案”对话框中,设置模拟持续时间20秒。

在里面参考信号表,在第一行,在信号下拉列表,选择,然后指定步骤尺寸2和A.时间5..在里面信号列,在第二行中,保持一个常数参考以标称值保持浓度设定值。

在里面无边无际的干扰行,在信号下拉列表,选择.然后指定一个步骤尺寸0.2和一个时间5.

点击好吧

该应用程序为此添加了新的方案数据浏览器并创造新的相应输入响应输出响应情节。

在里面数据浏览器,在场景节中,重命名NewScenariodistreject.

正如你从输出响应图中,闭环系统仍能达到期望的反应堆温度。在这种情况下,所需的控制动作,加上输入干扰,导致输出浓度的稳态下降,C一种0.1 kmol / m3.

指定浓度输出约束

以前,您定义了控制器调谐权重,以实现跟踪电抗器温度设定点的主要控制目标,零稳态误差。这样做使得未测量的反应器浓度可以自由变化。假设一旦反应器浓度下降低于0.05 kmol / m,就会发生不需要的反应3.它的名义价值。要约束反应器浓度,请指定一个输出约束。

在这方面调优选项卡,设计部分,点击约束

在“约束”对话框中,在输入和输出约束section,在第二行产出表,指定一个的未测量输出(UO)值-0.05.

默认情况下,所有的输出约束都是软的,这意味着它们的MinECRMaxECR值大于零。为了进一步软化未测输出(UO)的约束,增加它MaxECR价值。

点击好吧

在里面输出响应图,反应堆浓度,C一种,稳定在-0.05 kmol/m3.10秒后。由于只有一个操纵变量,控制器在两个竞争控制目标之间产生了折衷:温度跟踪和约束满足。更柔软的输出约束使控制器能够牺牲更多以提高温度跟踪来牺牲约束要求。

由于输出约束是软的,控制器通过允许少量浓度约束违反来保持一定程度的温度控制。通常,根据您的应用程序需求,您可以试验不同的约束设置,以达到可接受的控制目标折衷。

出口控制器

在里面调优选项卡,分析部分,点击出口控制器保存调谐控制器,mpc1,到MATLAB工作空间。

删除植物、控制器和场景

删除工厂,控制器或场景数据浏览器,右键单击要删除的项目,并选择删除

不能删除当前控制器。此外,如果一个植物或方案是唯一列出的植物或方案,则不能删除该植物或方案。

如果任何控制器或场景使用工厂,则无法删除工厂。

删除多个工厂,控制器或场景,保持转移然后单击要删除的每个项目。

参考文献

塞堡,埃德加和梅利尚,过程动态和控制,第二版,Wiley, 2004,第34-36和94-95页。

也可以看看

相关的话题