主要内容

明确的MPC控制器

显式模型预测控制器

  • 图书馆:
  • 模型预测控制工具箱

  • 显式MPC控制器块

描述

明确的MPC控制器块使用以下输入信号:

  • 测量的植物产量()或定制状态估计值(x (k | k)

  • 参考或设定点(裁判

  • 测量设备的干扰(医学博士),如果任何

明确的MPC控制器block使用查找表存储预先计算的分段仿射最优控制律,而不是在每个控制间隔的运行时解决二次规划优化问题,如MPC控制器堵塞。鉴于同样的MPC的问题,这两个区块返回相同的解决方案。显式MPC控制器块需要更少的在线计算工作量,这对于需要很短的控制间隔应用。它有,然而,一个更重的离线计算工作量和更大的内存占用。实际上,显式MPC的组合性质限制了它的使用,以相对较少的输入,输出,和状态变量,短预测范围,并且很少输出限制的应用。

明确的MPC控制器万博1manbetx仅支持可选的MPC功能的子集,如下表所示。

万博1manbetx支持的功能 不支万博1manbetx持的特征
  • 内置(卡尔曼滤波器)和自定义状态估计

  • 状态估计结果的输出端口

  • 外部操纵变量反馈信号输入

  • 单精度块数据(默认为双精度)

  • 继承采样时间

  • 在线调整(罚重调整)

  • 在线约束调整

  • 在线操纵可变目标调整

  • 参考和/或测量的干扰预览

港口

输入

全部展开

所需的输入

测量输出,指定为矢量信号。块使用测量的植物输出来改进它的状态估计。如果控制器使用默认状态估计,则必须将测量的设备输出连接到输入端口。如果控制器使用自定义状态估计,则必须将估计的植物状态连接到x (k | k)输入端口。

依赖关系

要启用该端口,清除使用而不是使用自定义的状态估计内置卡尔曼滤波参数

自定义状态估计,指定为矢量信号。该块使用连接状态估计,而不是使用内置估计器估计状态。如果控制器使用自定义状态估计,则必须将当前状态估计连接到x (k | k)输入端口。如果控制器使用默认状态估计,则必须将测量的输出连接到输入端口。

即使噪声模型状态(如果有的话)没有在MPC优化使用,自定义状态向量必须包含定义的所有状态mpcstate控制器的对象包括被控对象、扰动和噪声模型的状态。

当替代估计技术被认为优于内置估计器或状态完全可测量时,使用自定义状态估计。

依赖关系

要启用此端口,请选择使用而不是使用自定义的状态估计内置卡尔曼滤波参数

在每个控制瞬间裁判信号必须包含当前的参考值(目标或设定值)Ny输出变量,Ny是输出的总数,包括测量和未测量的输出。由于此块不支持参照预览,万博1manbetx裁判必须是矢量信号。

其他输入

如果您的控制器预测模型已经测量到扰动,您必须启用这个端口,并将包含行向量信号的端口连接到它N医学博士元素,N医学博士为被测扰动的个数。

由于这个块不支持测量干扰预览,万博1manbetx医学博士必须是矢量信号。

依赖关系

要启用此端口,请选择实测扰动参数

在前次控制周期中的设备中使用的控制信号,指定为长度的矢量信号Nmv哪里Nmv是操纵变量的数量。使用该输入端口,以提高状态估计的精度时:

  • 你知道你的控制器并不总是在控制工厂。

  • 应用于电厂的实际MV信号可能与控制器产生的值不同,例如控制信号饱和。

控制器状态估计假设的MV是分段常数。因此,在时间T.K., 这分机值必须包含时间之间的有效mvT.K-1T.K..例如,如果的MV实际上是改变了这个区间,你可能会提供在时间评估的时间平均值T.K.

笔记

  • 连接分机在上一个控制间隔内实际应用于电厂的MV信号。通常,这些MV信号是控制器生成的值,但情况并非总是如此。例如,如果控制器处于脱机状态且在跟踪模式下运行(即,控制器输出不驱动电厂),然后将实际控制信号馈送至分机可以帮助实现无缝转换时,控制器切换回联机。

  • 当控制器正在驱动植物,插入一个记忆块或单位延迟块来反馈MV信号施用到植物在先前控制时间间隔。这也避免了从直接馈通分机运行轨迹的mv输出端口,从而防止Simulink中的代数循环万博1manbetx®模型。

有关使用外部操纵变量输入端口进行无扰动传输的示例,请参见切换控制器在线和离线与无颠簸转移

依赖关系

要启用此端口,请选择外部操纵变量参数

要关闭控制器评估,请连接开关一个非零信号。

禁用控制器评价减少计算工作量,不需要控制器的输出时,例如当系统被手动操作或作为另一个控制器接管。然而,控制器继续以常规的方式来更新其内部状态的估计。因此,准备恢复评估每当开关信号返回到零。当控制器评估处于关闭状态时,块会传递当前值分机控制器输出的信号。如果分机如果未启用导入,则控制器输出将保持在禁用评估时的值。

有关使用外部操纵变量输入端口进行无扰动传输的示例,请参见切换控制器在线和离线与无颠簸转移

依赖关系

要启用此端口,请选择使用外部信号,以使控制器评测参数

输出

全部展开

所需的输出

最优操纵变量控制动作,返回为长度的列向量信号Nmv哪里Nmv是操纵变量的数量。

控制器更新它的mv使用显式MPC控制器对象中包含的控制律在每个控制时刻的输出。如果控制律评估不成功,mv保持不变(即,在上一个成功结果中保持不变),并且状态输出(如果存在)变为0或–1。

额外产出

该输出表明最新的显式MPC控制律评估是否成功。输出端口提供一个标量信号,该信号具有以下值之一:

  • 成功的显式控制律评估

  • 0 - 失败由于一个或多个控制参数法超出范围

  • –1-控制律参数在有效范围内,但有必要进行外推

如果状态为0或–1,则mv外港遗体在最后一个已知良好的价值。

依赖关系

要启用此端口,请选择分段仿射功能评价的现状参数

该输出提供了最新的明确的控制律评估中使用的多面体区域的索引。如果控制法评估失败,在这个外港的信号为零。

依赖关系

要启用此端口,请选择分段仿射函数的区域数参数

估计控制器在每个控制时刻的状态,作为矢量信号返回。估计的状态包括对象状态、扰动状态和噪声模型状态。如果使用自定义状态估计,输出信号的值与x (k | k)输入信号。

依赖关系

要启用此端口,请选择估计控制器状态参数

参数

全部展开

一个明确的包含要使用的控制律的对象。它必须存在于MATLAB中®工作空间。使用generateExplicitMPC命令创建此对象。

程序中使用

块参数:empcobj
类型:字符串,字符向量
默认:

可选mpcstate指定初始控制器状态的对象。如果将此参数保留为空,则块将使用中定义的标称值Model.Nominal财产明确的对象要覆盖默认值,请创建mpcstate对象在工作区,并在字段中输入其名称。您可以使用此参数,使控制器的状态反映在你的模拟你所知的开始真正的工厂环境。

如果自定义状态估计被启用,块忽略控制器初始状态参数

程序中使用

块参数:x0
类型:字符串,字符向量
默认:
常规选项卡

如果你的控制器已经测量到扰动,你必须选择这个参数来添加医学博士输出端口到块。

程序中使用

块参数:md_inport
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关于”

选择这个参数来添加分机输入端口,用于该块。

程序中使用

块参数:mv_输入端口
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”

选择这个参数来添加状态输出端口到块。

程序中使用

块参数:返回\u状态
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关于”

选择这个参数来添加区域输出端口到块。

程序中使用

块参数:返回区
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”

选择这个参数来添加est.state输出端口到块。

程序中使用

块参数:return_state
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”

选择这个参数来去除输入端口并添加x (k | k)输入端口。

程序中使用

块参数:国家港口
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”
其他选项卡

将操纵变量的块数据类型指定为以下类型之一:

  • 双重的—双精度浮点数

  • -单精度浮点

    如果在单精度目标上实现块,则指定输出数据类型为

  • 数据类型的表达- 一个表达式计算结果为双重的.有关更多信息,请参见信号的控制数据类型(万博1manbetxSimulink的)

程序中使用

块参数:块数据类型
类型:字符串,字符向量
价值观:“替身”“单身”数据类型的表达
默认:“替身”

选择此参数将继承父子系统的样本时间作为块样本时间。这样做允许您在内部有条件地执行这个块函数调用子系统(万博1manbetxSimulink的)触发子系统(万博1manbetxSimulink的)块。对于一个示例,请参见在函数调用和被触发的子系统中使用MPC控制器块

笔记

你必须执行函数调用子系统触发子系统以控制器的采样率阻塞。否则,您将看到意想不到的结果。

如果清除此参数,块的采样时间从控制器对象继承。

要查看的块的采样时间,在Simulink模型窗口,在万博1manbetx调试选项卡,在信息覆盖,选择其中一个颜色文本.有关更多信息,请参见查看样本时间信息(万博1manbetxSimulink的)

程序中使用

块参数:SampleTimeInherited
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”

选择这个参数来添加开关块的输入端口。每当向交换机输入端口馈送非零信号时,控制器评估将关闭。见开关输入端口以了解更多细节。

程序中使用

块参数:开关输入端口
类型:字符串,字符向量
价值观:“关闭”“关于”
默认:“关闭”

扩展能力

C/C++代码生成
使用Simulink®编码器生成C和C++代码™.万博1manbetx

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。万博1manbetx

介绍了R2014b