主要内容

多个明确MPC控制器

多个明确MPC控制器

  • 多个明确MPC控制器

库:
模型预测控制工具箱

描述

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

  • 测量装置输出()

  • 参考或定位点(裁判)

  • 测量植物干扰(医学博士),如果任何

  • 开关信号(开关)

多个明确MPC控制器块之间可以转换多个明确MPC控制器实时的基于当前的操作条件。通常,您设计每个控制器为特定区域的操作空间。使用可用的测量,你发现当前操作区域和选择适当的主动控制器使用开关轮廓尺寸。

选择开关信号活跃的控制器的两个或两个以上的候选人名单,明确MPC控制器。这些控制器在线计算努力减少使用一览表控制律在每个控制区间而不是解决一个二次规划问题。有关更多信息,请参见明确的MPC控制器

提高效率,不活跃的控制器不评估他们的控制律。然而,提供无扰控制器之间的转移,不活跃的控制器继续执行状态估计。

像的多个MPC控制器块,你不能禁用的评价多个明确MPC控制器块。一个控制器必须始终活跃。

就像明确的MPC控制器块,多个明确MPC控制器块只支持可选金宝app的MPC特性的一个子集,为下面的表中列出。

金宝app支持的功能 不支金宝app持的功能
  • 内置(卡尔曼滤波)和自定义状态估计

  • 外港的状态估计结果

  • 外部轮廓尺寸被控变量的反馈信号

  • 单精度数据块(缺省为双精度)

  • 继承采样时间

  • 在线优化(点球体重调整)

  • 在线约束调整

  • 在线目标调整被控变量

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

港口

输入

全部展开

需要输入

使用开关输入端口选择主动控制器。的开关输入信号必须是一个标量整数1Nc,在那里Nc是指定的候选人的数量控制器。在每个控制即时,这个信号控制器指定活跃。一个开关的值1对应于第一项候选单元阵列的控制器,一个值2对应于第二个控制器,等等。

如果开关信号1以外的范围Nc块保留之前的控制器输出。

测量输出信号,指定为一个矢量信号。候选人控制器使用测量装置输出改善状态估计。

所有候选人控制器必须使用相同的状态估计选项,默认或自定义。如果你的候选人控制器使用默认状态估计,你必须测量装置输出连接到输入端口。如果你的候选人控制器使用自定义状态估计,你必须连接估计植物状态信号x (k | k)输入端口。

依赖关系

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

自定义状态估计,指定为一个矢量信号。候选人控制器使用连接的状态估计,而不是估计美国使用内置的估计量。另一种评估时使用自定义状态估计技术被认为是优于内置的估计或状态完全可测。

所有候选人控制器必须使用相同的状态估计选项,默认或自定义。如果你的候选人控制器使用自定义状态估计,你必须连接到当前状态估计x (k | k)输入端口。如果你的候选人控制器使用默认状态估计,你必须连接测量输出输入端口。

当您使用自定义状态估计,所有候选人控制器必须具有相同的尺寸。所有候选人控制器必须使用相同的国家定义(数量和订单的状态)各自的工厂,干扰和测量噪声模型。

依赖关系

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

在每个控制即时,裁判信号必须包含当前引用值(目标或定位点)ny输出变量,ny输出的总数,包括测量和不可测量的输出。因为这个块不支持引用预览,金宝app裁判必须是一个矢量信号。

额外的输入

如果你的控制器预测模型测量干扰,您必须启用这个端口和连接到它包含一个行向量信号N医学博士元素,N医学博士是测量扰动的数量。

因为这个块不支持预览测量干扰,金宝app医学博士必须是一个矢量信号。

依赖关系

要启用这个端口,选择测量的干扰参数。

控制信号用于工厂前面的控制区间,指定为一个向量长度的信号Nmv,在那里Nmv是操纵变量的数量。所有候选人控制器使用这个信号更新控制器状态估计在每个时间间隔的控制。这有助于减少无扰驱动控制器切换时转移。使用这个输入还提高状态估计的精度时操纵变量(MV)向量用于植物不同于MV向量计算,例如,由于信号饱和或一个覆盖条件。

控制器状态估计假设MV向量是分段常数。因此,在时间tk,ext.mv值必须是有效的MV向量之间的时间tk - 1tk。例如,如果MVs实际上是在这个区间不同,你可能提供价值评估在定时间tk

请注意

  • 连接ext.mvMV信号实际应用于植物在前面的控制区间。通常,这些MV信号驱动控制器所产生的价值,尽管这并非总是如此。如果控制器块不是开工厂,然后给实际控制信号ext.mv还可以帮助实现无扰传输控制器切换时重新上线。

  • 使用这个选项,当控制器驱动的植物可能会导致一个代数循环模型金宝app®模型中,由于直接的引线ext.mv的输入mv外港。防止此类代数循环,插入一个内存块或单位延迟块。

例如使用外部操纵变量的输入端口无扰转移,明白了与无扰转移开关控制器在线和离线

依赖关系

要启用这个端口,选择外部操纵变量参数。

输出

全部展开

要求输出

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

多个明确MPC控制器块主动控制器的输出mv输出。因此,主动控制器更新mv输出在每个控制即时使用的控制律包含显式的MPC控制器对象。如果控制律评估失败,这个信号是不变的;也就是说,它是在之前的成功的结果。

额外的输出

该输出显示最新的显式的MPC控制律评价是否成功。外港提供了一个标量信号,有下列值之一:

  • 1 -成功的明确的控制律的评估

  • 0 -失败由于一个或多个控制律参数的范围

  • 1 -控制律参数在有效的范围内,而是一个推断是必要的

如果状态要么是0或1,mv外港仍在最后已知良好的价值。

依赖关系

要启用这个端口,选择分段仿射函数的状态评估参数。

这个输出提供了多面区域的索引用于最新的显式控制律的评估。如果控制律评估失败,这个外港的信号为零。

依赖关系

要启用这个端口,选择地区评估分段仿射函数的数量参数。

估计控制器控制在每一个瞬间,作为一个矢量信号返回。估计状态包括植物、干扰和噪声模型。如果使用自定义状态估计,这个输出信号有相同的值x (k | k)输入信号。

依赖关系

要启用这个端口,选择估计控制器状态参数。

参数

全部展开

候选人控制器,指定为以下之一:

  • 单元阵列的explicitMPC对象

  • 的字符串或一个单元阵列单元阵列特征向量,其中每个元素的名称explicitMPCMATLAB的对象®工作空间

指定的数组必须包含至少两个候选人控制器。单元阵列中的第一个条目是对应于一个开关的控制器输入的值为1,第二个输入值对应于一个开关2,等等。

编程使用

块参数:empcobjs
类型:字符串的字符串,特征向量,单元阵列,单元阵列的特征向量
默认值:”“

初始状态为候选人控制器,指定为以下之一:

  • 单元阵列的mpcstate对象。

  • 的字符串或一个单元阵列单元阵列特征向量,其中每个元素的名称mpcstateMATLAB的工作区中对象。

  • {[],[],…},{“[]”,“[]”,…},或{“[]”,“[]”,…}——使用名义条件中定义Model.Nominal每个候选人控制器作为其初始状态的属性。

如果你离开这个参数空白,块中定义使用名义值Model.Nominal财产的explicitMPC对象。您可以使用这个参数,使控制器状态反映了真正的植物环境的模拟最好的你的知识。

如果启用了自定义状态估计,忽略了控制器单元阵列的初始状态参数。

编程使用

块参数:x0
类型:字符串的字符串,特征向量,单元阵列,单元阵列的特征向量
默认值:”“
General选项卡

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

编程使用

块参数:md_inport_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“上”

选择要添加这个参数ext.mv输入端口。

编程使用

块参数:mv_inport_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”

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

编程使用

块参数:return_status_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”

选择要添加这个参数地区输出端口的块。

编程使用

块参数:return_region_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”

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

编程使用

块参数:return_state_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”

选择删除该参数输入端口和添加x (k | k)输入端口。

编程使用

块参数:state_inport_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”
其他选项卡

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

  • ——双精度浮点

  • ——单精度浮点

    如果你是单精度目标、实现块指定输出数据类型

  • 数据类型的表达式——一个表达式计算。更多信息见控制信号的数据类型(金宝app模型)

编程使用

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

选择该参数继承父子系统的样品时间块样品时间。这样做可以有条件地执行这个块函数调用子系统(金宝app模型)触发子系统(金宝app模型)块。例如,看到的使用MPC控制器块内部函数调用和触发子系统

请注意

你必须执行函数调用子系统触发子系统块的采样率控制器。否则,你可以看到意想不到的结果有两个原因。

  • MV速度向量的第一个元素(这是当前的最后一个值之间的差别的操纵变量)通常是加权和约束假设最后一个MV值发生在过去在样本时间MPC中指定对象,当块执行不同的采样率,这种假设不再成立。

  • 内置的卡尔曼滤波估计使用样本时间MPC中指定对象提供一个当前状态估计MPC优化问题,所以当块执行不同的样品时间,估计国家不再是正确的。

如果你清楚这个参数(默认),样品时间块继承的控制器对象。

查看样本块的时候,在仿真软件模型窗口,金宝app调试选项卡,在信息覆盖,选择颜色文本。有关更多信息,请参见查看样品的时间信息(金宝app模型)

编程使用

块参数:SampleTimeInherited_multiple
类型:字符串,特征向量
价值观:“关闭”,“上”
默认值:“关闭”

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app

版本历史

介绍了R2016b