设计MPC控制器在金宝app

此示例示出了如何设计模型预测控制器,用于在Simulink连续搅拌釜反应器(CSTR)金宝app®运用MPC设计

此示例要求金宝appSimulink的控制设计™软件通过线性化非线性Simulink模型来定义MPC结构。金宝app

如果你没有金宝appSimulink的控制设计软件,您必须首先创建一个MPC对象在MATLAB®工作区。欲了解更多信息,请参阅设计的控制器可以使用MPC设计设计MPC控制器在命令行

CSTR模型

甲CSTR是在过程工业中通常使用的夹套式非绝热罐式反应器。

试剂的入口流一个送入以恒定的速率坦克。一阶,不可逆的,发生放热反应,以产生产物物流,其离开反应器以相同的速率作为输入流。

该CSTR模型有三个输入:

  • 料液浓度() - 试剂的浓度一个进料流中(公斤·摩尔/米3

  • 进料温度() - 进料流的温度(K)

  • 冷却液温度(TC) - 反应堆冷却剂的温度(K)

这两个模型的输出是:

  • CSTR温度(Ť) - 反应器温度(K)

  • 浓度 (CA) - 试剂的浓度一个在产物流中,也被称为残留浓度(公斤·摩尔/米3

的控制目标是保持的残留浓度,CA在通过调节冷却剂的温度其标称设定点,TC。在进料浓度的变化,和进料温度,在CSTR反应原因干扰。

反应器温度,Ť,通常被控制。然而,对于本实施例中,忽略了反应器温度,并假定残留浓度被直接测量。

打开金宝app模型

open_system('CSTR_ClosedLoop'

连接测量干扰MPC控制器

在Simuli金宝appnk模型窗口,双击MPC控制器块。

在块参数对话框,在一般选项卡,在其他Inports部分中,检查测量的干扰(MD)选项。

请点击应用添加MDINPORT到控制器块。

在Simuli金宝appnk模型窗口,连接进料温度块输出到MD运行轨迹。

打开MPC设计应用

在MPC控制器块参数对话框,点击设计打开MPC设计

注意

这一步需要金宝appSimulink的控制设计软件线性化Simulink模型。金宝app欲了解更多信息,请参阅线性化Simulin金宝appk模型使用MPC设计

如果你没有金宝appSimulink的控制设计软件,您必须首先创建一个MPC对象在MATLAB工作区。

定义MPC结构

MPC设计,在MPC设计选项卡,在结构体部分,点击MPC结构

在定义MPC结构通过线性化对话框,在控制器采样时间部分中,指定的采样时间0.1

在里面MPC结构部分,点击更改I / O大小添加的未测量的干扰和测量的干扰信号的尺寸。

在MPC块信号大小对话框中,指定每种类型的输入/输出通道的数目:

请点击

在定义MPC结构通过线性化对话框,在金宝app植物输入信号的Simulink部分,应用程序增加了一排不可测的扰动(UD)

操纵变量,测量的干扰和测量的输出已分配给它们各自的Simulink信号线,其被连接到所述金宝appMPC控制器块。

在里面金宝app植物输入信号的Simulink部分中,选择不可测的扰动(UD)行,然后单击选择信号

在Simuli金宝appnk模型窗口,请从输出信号进料浓度块。

该信号被突出显示,其块路径添加到选择信号对话框。

在选择信号对话框,点击添加信号(S)

在定义MPC结构通过线性化对话框,在金宝app植物输入信号的Simulink表中,块路径对于未测量的干扰信号被更新。

线性化金宝app模型

线性化Simulink模型在金宝app稳态平衡工作点,其中的残留浓度为2公斤·摩尔/米3。要计算这样一个工作点,加CA信号作为微调输出约束,并指定其目标约束条件值。

在Simuli金宝appnk模型窗口,右键单击连接到信号线CA的外港CSTR块,并选择线性分析要点>修剪输出约束

CA信号现在可以用来定义输出规格,用于计算模型的稳态工作点。

在定义MPC结构通过线性化对话框,在金宝appSimulink的工作点部分中,在下拉列表中,下创建新的工作点,点击修剪模式

在修剪模式对话框,在输出选项卡,检查框已知通道1并指定2

该设置操作点搜索到一个已知的值时限制了输出信号的值。

请点击启动裁剪

在定义MPC结构通过线性化对话框,在金宝appSimulink的工作点部,计算工作点,op_trim1被添加到下拉列表和选定。

在下拉列表中,下查看/编辑,点击编辑op_trim1

在编辑对话框,在选项卡,在实际DX列,近零导数的值指示所计算的工作点是在稳定状态。

请点击初始化模式到Simulink模型的初始状态设定为在所述操作点的值金宝app实际值柱。这样,您以后在计算工作点,而不是在默认模式的初始条件模拟仿真模型。金宝app

在初始化模式对话框中,单击

当设定模型的初始条件,MPC设计出口工作点到MATLAB的工作空间。此外,在Simulink配金宝app置参数对话框,在数据导入/导出部,它选择输入初始状态参数和配置,使它们使用状态和输入在导出的工作点。

要重置模型的初始条件,例如,如果您删除导出工作点,清除输入初始状态参数。

关闭编辑对话框。

在定义MPC结构通过线性化对话框中,单击定义和线性化线性化模型。

线性化的工厂模型被添加到数据浏览器。此外,以下将被添加到数据浏览器

  • 默认MPC控制器使用线性化植物作为内部预测模型创建

  • 默认的模拟场景

定义输入/输出信道属性

MPC设计选项卡,在结构体部分,点击I / O属性

在输入和输出通道规格对话框,在名称列中,指定用于每个输入和输出信道有意义的名称。

在里面单元列中,指定为每个信号合适的单位。

面值每个信号是在所计算的工作点对应的稳态值。

请点击

定义抗扰模拟方案

控制器的主要目的是保持的残留浓度,CA中,在标称值2公斤·摩尔/米3。这样做时,控制器必须拒绝两个测量和未测量的干扰。

在里面脚本部分,点击编辑方案>scenario1

在模拟的场景对话框,在参考信号表中,信号下拉列表中选择不变在其标称值保持输出设定值。

在里面测量的扰动表中,信号下拉列表中,选择

指定步尺寸10以及步骤时间0

请点击

在里面数据浏览器方案,点击scenario1。请点击scenario1第二次,将其重命名MD_reject

在里面脚本部分,点击情节场景>新方案

在模拟的场景对话框,在不可测的扰动表中,信号下拉列表中,选择

指定步尺寸1以及步骤时间0

请点击

在里面数据浏览器方案, 改名NewScenarioUD_reject

排列输出响应曲线

为了查看调谐结果更容易,安排绘图区在同一时间,以显示这两种情况下的输出响应曲线。

视图选项卡,在瓷砖部分,点击顶部/底部

积显示区域改变显示上述输出响应曲线的输入响应曲线。

拖动MD_reject:输出标签到顶部的情节。

调谐器性能

在里面调音选项卡,在地平线部分中,指定一个预测范围20控制范围

输出响应基于新的地平线值地块更新。

使用默认的控制器约束和重配置。

在里面性能优化部分拖动闭环性能滑块向右,这导致输出严格的控制和更积极的控制移动。拖动滑块,直到MD_reject:输出响应在小于2秒达到稳定状态。

拖动状态估计滑块向右,从而导致更积极的不可测干扰抑制。拖动滑块,直到UD_reject:输出响应于小于3秒达到稳定状态。

更新金宝app与调谐器型号

在里面分析部分中,单击更新和模拟箭头

更新和模拟,点击只有更新块。该应用程序出口调谐器,MPC1到MATLAB的工作空间。在Simuli金宝appnk模型中,MPC控制器块被更新到使用导出的控制器。

模拟未测量的干扰抑制

在Simuli金宝appnk模型窗口,改变仿真持续时间秒。

该模型的初始条件被设置为用于线性化的标称工作点。

双击进料浓度块。

在块参数对话框,输入一个常数值11以模拟在零时间单位阶跃。

请点击应用

在Simuli金宝appnk模型窗口,单击

浓度输出响应是类似的UD_reject响应,然而,稳定时间是1秒左右后。不同的结果是由于在所用的线性装置之间的不匹配MPC设计仿真和Simulink模型非线性设备。金宝app

模拟测量的干扰抑制

在块参数:进料浓度对话框中,输入常数值10进料浓度恢复到其标称值。

请点击

在Simuli金宝appnk模型窗口,双击进料温度块。

在块参数:进料温度对话框中,输入常数值310在时间零点,以模拟大小10的阶跃变化。

请点击

在Simuli金宝appnk模型窗口,单击

浓度输出响应是类似的MD_reject从响应MPC设计模拟。

参考

[1] Seborg,D.E。,T. F.埃德加和D. A. Mellichamp,处理动力学与控制,第二版,Wiley,2004年,第34-36和94-95。

也可以看看

|

相关话题