主要内容

MPC控制器

模拟模型预测控制器

  • 库:
  • 模型预测控制工具箱

  • 控制器块

描述

MPC控制器块接收当前测量输出信号(),参考信号(裁判),以及可选的实测扰动信号(医学博士).该块计算最优操作变量(mv)通过使用默认的KWIK求解器或自定义QP求解器来解决二次规划问题。有关更多信息,请参见QP解决者

若要在模拟和代码生成中使用该块,必须指定货币政策委员会对象,它定义了一个模型预测控制器。这个控制器必须已经为它所控制的工厂设计过。

因为MPC控制器块使用MATLAB函数每次你改变MPC对象和块时,它都需要编译。同时,因为MATLAB®不允许编译的代码驻留在任何MATLAB产品文件夹中,您必须使用非MATLAB文件夹才能在Simulink上工作万博1manbetx®模型,当你使用MPC块。

港口

输入

全部展开

需要输入

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

依赖关系

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

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

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

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

依赖关系

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

工厂输出参考值,指定为行矢量信号或矩阵信号。

要在整个预测范围内使用相同的参考值,请连接裁判到一个行向量信号NY元素,Ny是输出变量的个数。每个元素指定一个输出变量的引用。

在预测范围(预览)上随时间改变参考k+1到时间k+p,连接裁判到一个矩阵信号用Ny列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测范围步骤的引用。如果你指定小于p行,最后的引用用于预测范围的其余步骤。

额外的输入

如果您的控制器预测模型已测量扰动,则必须启用此端口并将行向量或矩阵信号连接到该端口。

若要在整个预测范围内使用相同的测量扰动值,请连接医学博士到一个行向量信号N医学博士元素,N医学博士是被操纵变量的数量。每个元素指定测量扰动的值。

从时间上改变预测视界(预览)上的扰动k时间k+p,连接医学博士到一个矩阵信号用N医学博士列和至p+ 1行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的扰动。如果你指定小于p+1行,最终扰动用于预测视界的剩余步骤。

依赖关系

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

在以前的控制区间内使用的控制信号,指定为长度的矢量信号Nmv,在那里Nmv是被操纵变量的数量。使用此输入端口可在以下情况下提高状态估计精度:

  • 你知道你的控制员并不总是在控制整个工厂。

  • 应用到装置的实际MV信号可能与控制器产生的值存在潜在差异,例如控制信号饱和度。

控制器状态估计假设mv是分段常数。因此,在时间tk,ext.mv值必须包含时间之间的有效mvtk - 1而且tk.例如,如果mv在这个区间内实际上是变化的,那么您可以提供在某一时刻评估的时间平均值tk

请注意

  • 连接ext.mv到前一个控制区间内实际应用于植物的MV信号。通常,这些MV信号是由控制器产生的值,尽管情况并非总是如此。例如,如果您的控制器离线并在跟踪模式下运行(即控制器输出没有驱动工厂),则将实际控制信号馈送到ext.mv可以帮助实现无颠簸传输时,控制器切换回在线。

  • 控制器驱动设备时,插入a内存块或单位延迟块,以反馈在前一个控制间隔应用到装置的MV信号。这也避免了直接馈通从ext.mv导入到mv输出端口,因此防止了Simulink模型中的代数循环。万博1manbetx

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

依赖关系

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

要关闭控制器优化计算,请连接开关到非零信号。

当不需要控制器输出时,例如当系统手动操作或另一个控制器接管时,禁用优化计算可以减少计算工作量。然而,控制器继续以通常的方式更新其内部状态估计。因此,它可以随时恢复优化计算开关信号归零。当控制器优化关闭时,块通过当前ext.mv信号到控制器输出。如果ext.mv如果未启用import,则控制器输出将保持在禁用优化时的值。

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

依赖关系

要启用此端口,请选择使用外部信号来启用或禁用优化参数。

若要指定操作变量目标,请启用此输入端口,并连接行向量或矩阵信号。要使给定的操纵变量跟踪其指定的目标值,还必须为该操纵变量指定非零的调优权重。

要在整个预测范围内使用相同的操纵变量目标,请连接mv.target到一个行向量信号Nmv元素,Nmv是被操纵变量的数量。每个元素指定一个被操纵变量的目标。

在预测范围内(预览)随时间变化目标k时间k+p1,连接mv.target到一个矩阵信号用Nmv列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测范围步骤的目标。如果你指定小于p行,最终目标用于预测范围的其余步骤。

依赖关系

要启用此端口,请选择被操纵变量的目标参数。

网络限制

若要指定运行时最小输出变量约束,请启用此输入端口。方法中指定的下界OutputVariables。最小值其属性货币政策委员会控制器对象。如果输出变量没有在控制器对象中指定下限,则在运行时块忽略相应的连接信号。

从时间上改变预测视界的边界k+1到时间k+p,连接ymin到一个矩阵信号用Ny列和至p行。在这里,Ny是工厂产出的数量,k是当前时间,和p是预测视界。每行包含一个预测水平步的边界。如果你指定小于p行,最后一行的边界适用于预测范围的其余部分。如果只有一个输出变量,和一个矢量信号用不超过p条目是连接的,然后在整个预测范围内使用这些条目。

的第Th列ymin信号对应于该厂产量,并取代OutputVariables(我)。马克斯的属性货币政策委员会对象。替换行为取决于两个变量的维度。

标量OutputVariables(我)。最小值货币政策委员会对象的常量边界植物产量应用于所有预测步骤)

ymin 替换行为
标量ymin(单输出,常数界) ymin中定义的常量边界OutputVariables(我)。最小值
列向量ymin(单输出,时变界) ymin中定义的常量边界OutputVariables(我)。最小值有一个时变的边界。
行向量ymin(多输出,常量边界) 的第Th元素ymin中定义的常量边界OutputVariables(我)。最小值
矩阵ymin(多输出,时变边界) 的第Th列ymin中定义的常量边界OutputVariables(我)。最小值有一个时变的边界。

向量OutputVariables(我)。最小值货币政策委员会对象的时变边界不同预测步骤下不同值的植株产量)

ymin 替换行为
标量ymin(单输出,常数界) ymin替换第一个有限项OutputVariables。最小值剩下的元素OutputVariables。最小值以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓OutputVariables。最小值向量。
列向量ymin(单输出,时变界) ymin中定义的时变边界OutputVariables(我)。最小值,原始绑定配置文件将被丢弃。
行向量ymin(多输出,常量边界) 的第Th元素ymin替换第一个有限项OutputVariables(我)。最小值剩下的元素OutputVariables(我)。最小值以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓OutputVariables(我)。最小值向量。
矩阵ymin(多输出,时变边界)。 的第Th列ymin中定义的时变边界OutputVariables(我)。最小值,原始绑定配置文件将被丢弃。

依赖关系

要启用此端口,请选择OV下限参数。

若要指定运行时最大输出变量约束,请启用此输入端口。方法中指定的上界OutputVariables。马克斯其属性货币政策委员会控制器对象。如果输出变量在控制器对象中没有指定上限,则在运行时块忽略相应的连接信号。

从时间上改变预测视界的边界k+1到时间k+p,连接ymax到一个矩阵信号用Ny列和至p行。在这里,Ny是工厂产出的数量,k是当前时间,和p是预测视界。每行包含一个预测水平步的边界。如果你指定小于p行,最后一行的边界适用于预测范围的其余部分。如果只有一个输出变量,和一个矢量信号用不超过p条目是连接的,然后在整个预测范围内使用这些条目。

的第Th列ymax信号对应于该厂产量,并取代OutputVariables(我)。马克斯的属性货币政策委员会对象。替换行为取决于两个变量的维度。

标量OutputVariables(我)。马克斯货币政策委员会对象的常量边界植物产量应用于所有预测步骤)

ymax 替换行为
标量ymax(单输出,常数界) ymax中定义的常量边界OutputVariables(我)。马克斯
列向量ymax(单输出,时变界) ymax中定义的常量边界OutputVariables(我)。马克斯有一个时变的边界。
行向量ymax(多输出,常量边界) 的第Th元素ymax中定义的常量边界OutputVariables(我)。马克斯
矩阵ymax(多输出,时变边界) 的第Th列ymax中定义的常量边界OutputVariables(我)。马克斯有一个时变的边界。

向量OutputVariables(我)。马克斯货币政策委员会对象的时变边界不同预测步骤下不同值的植株产量)

ymax 替换行为
标量ymax(单输出,常数界) ymax替换第一个有限项OutputVariables。马克斯剩下的元素OutputVariables。马克斯以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓OutputVariables。马克斯向量。
列向量ymax(单输出,时变界) ymax中定义的时变边界OutputVariables(我)。马克斯,原始绑定配置文件将被丢弃。
行向量ymax(多输出,常量边界) 的第Th元素ymax替换第一个有限项OutputVariables(我)。马克斯剩下的元素OutputVariables(我)。马克斯以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓OutputVariables(我)。马克斯向量。
矩阵ymax(多输出,时变边界)。 的第Th列ymax中定义的时变边界OutputVariables(我)。马克斯,原始绑定配置文件将被丢弃。

依赖关系

要启用此端口,请选择OV上限参数。

若要指定运行时最小操作变量约束,请启用此输入端口。方法中指定的下界ManipulatedVariables。最小值其属性货币政策委员会控制器对象。如果一个被操纵的变量没有在控制器对象中指定下界,那么在运行时块忽略相应的连接信号。

从时间上改变预测视界的边界k时间k+p1,连接umin到一个矩阵信号用Nmv列和至p行。在这里,Nmv是被操纵变量的数量,k是当前时间,和p是预测视界。每行包含一个预测水平步的边界。如果你指定小于p行,最后一行的边界适用于预测范围的其余部分。如果只有一个被操纵的变量,和一个矢量信号没有超过p条目是连接的,然后在整个预测范围内使用这些条目。

的第Th列umin信号对应于Th操作变量,并替换ManipulatedVariables(我)。马克斯的属性货币政策委员会对象。替换行为取决于两个变量的维度。

标量ManipulatedVariables(我)。最小值货币政策委员会对象的常量边界应用于所有预测步骤的被操纵变量)

umin 替换行为
标量umin(单输出,常数界) umin中定义的常量边界ManipulatedVariables(我)。最小值
列向量umin(单输出,时变界) umin中定义的常量边界ManipulatedVariables(我)。最小值有一个时变的边界。
行向量umin(多输出,常量边界) 的第Th元素umin中定义的常量边界ManipulatedVariables(我)。最小值
矩阵umin(多输出,时变边界) 的第Th列umin中定义的常量边界ManipulatedVariables(我)。最小值有一个时变的边界。

向量ManipulatedVariables(我)。最小值货币政策委员会对象的时变边界在不同的预测步骤中有不同值的操纵变量)

umin 替换行为
标量umin(单输出,常数界) umin替换第一个有限项ManipulatedVariables。最小值剩下的元素ManipulatedVariables。最小值以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓ManipulatedVariables。最小值向量。
列向量umin(单输出,时变界) umin中定义的时变边界ManipulatedVariables(我)。最小值,原始绑定配置文件将被丢弃。
行向量umin(多输出,常量边界) 的第Th分量umin替换第一个有限项ManipulatedVariables(我)。最小值剩下的元素ManipulatedVariables(我)。最小值以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓ManipulatedVariables(我)。最小值向量。
矩阵umin(多输出,时变边界)。 的第Th列umin中定义的时变边界ManipulatedVariables(我)。最小值,原始绑定配置文件将被丢弃。

依赖关系

要启用此端口,请选择下MV极限参数。

若要指定运行时最大操作变量约束,请启用此输入端口。方法中指定的上界ManipulatedVariables。马克斯其属性货币政策委员会控制器对象。如果一个被操纵的变量没有在控制器对象中指定的上限,那么在运行时块忽略相应的连接信号。

从时间上改变预测视界的边界k时间k+p1,连接umax到一个矩阵信号用Nmv列和至p行。在这里,Nmv是被操纵变量的数量,k是当前时间,和p是预测视界。每行包含一个预测水平步的边界。如果你指定小于p行,最后一行的边界适用于预测范围的其余部分。如果只有一个被操纵的变量,和一个矢量信号没有超过p条目是连接的,然后在整个预测范围内使用这些条目。

的第Th列umax信号对应于Th操作变量,并替换ManipulatedVariables(我)。马克斯的属性货币政策委员会对象。替换行为取决于两个变量的维度。

标量ManipulatedVariables(我)。马克斯货币政策委员会对象的常量边界应用于所有预测步骤的被操纵变量)

umax 替换行为
标量umax(单输出,常数界) umax中定义的常量边界ManipulatedVariables(我)。马克斯
列向量umax(单输出,时变界) umax中定义的常量边界ManipulatedVariables(我)。马克斯有一个时变的边界。
行向量umax(多输出,常量边界) 的第Th元素umax中定义的常量边界ManipulatedVariables(我)。马克斯
矩阵umax(多输出,时变边界) 的第Th列umax中定义的常量边界ManipulatedVariables(我)。马克斯有一个时变的边界。

向量ManipulatedVariables(我)。马克斯货币政策委员会对象的时变边界在不同的预测步骤中有不同值的操纵变量)

umax 替换行为
标量umax(单输出,常数界) umax替换第一个有限项ManipulatedVariables。马克斯剩下的元素ManipulatedVariables。马克斯以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓ManipulatedVariables。马克斯向量。
列向量umax(单输出,时变界) umax中定义的时变边界ManipulatedVariables(我)。马克斯,原始绑定配置文件将被丢弃。
行向量umax(多输出,常量边界) 的第Th元素umax替换第一个有限项ManipulatedVariables(我)。马克斯剩下的元素ManipulatedVariables(我)。马克斯以相同的位移量向上或向下移动,以保留原始轮廓所定义的轮廓ManipulatedVariables(我)。马克斯向量。
矩阵umax(多输出,时变边界)。 的第Th列umax中定义的时变边界ManipulatedVariables(我)。马克斯,原始绑定配置文件将被丢弃。

依赖关系

要启用此端口,请选择上MV极限参数。

操纵变量约束矩阵,指定为Nc——- - - - - -Nmv矩阵信号,其中Nc是混合输入/输出的数量限制和Nmv是被操纵变量的数量。

如果你定义E货币政策委员会对象时,必须将信号连接到E输入端口。否则,连接一个零矩阵与正确的大小。

要指定运行时混合输入/输出约束,请使用E的输入端口FG,年代港口。这些约束取代了之前设置的混合输入/输出约束setconstraint.有关混合输入/输出约束的更多信息,请参见线性输入和输出组合的约束

混合输入/输出约束的数量在运行时不能改变。因此,Nc中的行数必须匹配E使用指定的矩阵setconstraint

依赖关系

要启用此端口,请选择自定义约束参数。

受控输出约束矩阵,指定为Nc——- - - - - -Ny矩阵信号,其中Nc是混合输入/输出的数量限制和Ny是工厂产出的数量。如果你定义F货币政策委员会对象时,必须将信号连接到F输入端口具有相同的行数。否则,连接一个零矩阵与正确的大小。

要指定运行时混合输入/输出约束,请使用F的输入端口EG,年代港口。这些约束取代了之前设置的混合输入/输出约束setconstraint.有关混合输入/输出约束的更多信息,请参见线性输入和输出组合的约束

混合输入/输出约束的数量在运行时不能改变。因此,Nc中的行数必须匹配F使用指定的矩阵setconstraint

依赖关系

要启用此端口,请选择自定义约束参数。

自定义约束向量,指定为长度的行向量信号Nc,在那里Nc是混合输入/输出约束的数量。如果你定义G货币政策委员会对象时,必须将信号连接到G输入端口具有相同的行数。否则,连接一个零矩阵与正确的大小。

要指定运行时混合输入/输出约束,请使用G的输入端口EF,年代港口。这些约束取代了之前设置的混合输入/输出约束setconstraint.有关混合输入/输出约束的更多信息,请参见线性输入和输出组合的约束

混合输入/输出约束的数量在运行时不能改变。因此,Nc中的行数必须匹配G使用指定的矩阵setconstraint

依赖关系

要启用此端口,请选择自定义约束参数。

测量的扰动约束矩阵,指定为Nc——- - - - - -nN矩阵信号,其中Nc是混合输入/输出的数量限制,和Nv是测量扰动的数量。如果你定义年代货币政策委员会对象时,必须将信号连接到年代输入端口具有相同的行数。否则,连接一个零矩阵与正确的大小。

要指定运行时混合输入/输出约束,请使用年代的输入端口EF,G港口。这些约束取代了之前设置的混合输入/输出约束setconstraint.有关混合输入/输出约束的更多信息,请参见线性输入和输出组合的约束

混合输入/输出约束的数量在运行时不能改变。因此,Nc中的行数必须匹配G使用指定的矩阵setconstraint

依赖关系

要启用此端口,请选择自定义约束参数。仅当货币政策委员会对象已测量扰动。

在线调优权重

若要指定运行时输出变量调优权重,请启用此输入端口。方法中指定的调优权重权重。输出Variables属性。这些调优权重会惩罚输出引用的偏差。

如果MPC控制器对象在预测范围内使用恒定的输出调优权重,则只能在运行时指定恒定的输出调优权重。类似地,如果MPC控制器对象使用在预测范围内变化的输出调优权重,则只能在运行时指定随时间变化的输出调优权重

要在预测范围内使用恒定的调优权重,请连接y.wt到一个行向量信号Ny元素,Ny是输出的数量。每个元素为输出变量指定一个非负的调优权重。有关指定调优权重的详细信息,请参见调整权重

在预测范围内随时间变化调整权重k+1到时间k+p,连接y.wt到一个矩阵信号用Ny列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的调优权重。如果你指定小于p行,最后一行中的调优权重应用于预测范围的其余部分。有关在预测范围内变化权重的更多信息,请参见使用MPC设计器设置时变权重和约束

依赖关系

要启用此端口,请选择OV权重参数。

若要指定运行时操作的变量调优权重,请启用此输入端口。方法中指定的调优权重权重。ManipulatedVariables属性。这些调谐权重惩罚偏离MV目标。

如果MPC控制器对象在预测范围内使用常量操作变量调优权重,则只能在运行时指定常量操作变量调优权重。类似地,如果MPC控制器对象使用在预测范围内变化的操纵变量调优权重,则只能在运行时指定随时间变化的操纵变量调优权重

要在预测范围内使用相同的调优权重,请连接u.wt到一个行向量信号Nmv元素,Nmv是被操纵变量的数量。每个元素为一个被操纵的变量指定一个非负的调优权重。有关指定调优权重的详细信息,请参见调整权重

在预测范围内随时间变化调整权重k时间k+p1,连接u.wt到一个矩阵信号用Nmv列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的调优权重。如果你指定小于p行,最后一行中的调优权重应用于预测范围的其余部分。有关在预测范围内变化权重的更多信息,请参见使用MPC设计器设置时变权重和约束

依赖关系

要启用此端口,请选择MV权重参数。

若要指定运行时操纵的可变速率调优权重,请启用此输入端口。方法中指定的调优权重权重。ManipulatedVariablesRate属性。这些调优权重会惩罚控制动作中的大变化。

如果MPC控制器对象在预测范围内使用恒定的操纵变量率调优权重,则只能在运行时指定恒定的操纵变量率调优权重。类似地,如果MPC控制器对象使用在预测范围内变化的操纵变量率调优权重,则只能在运行时指定随时间变化的操纵变量率调优权重

要在预测范围内使用相同的调优权重,请连接du.wt到一个行向量信号Nmv元素,Nmv是被操纵变量的数量。每个元素都为被操纵的变量率指定一个非负的调优权重。有关指定调优权重的详细信息,请参见调整权重

在预测范围内随时间变化调整权重k时间k+p1,连接du.wt到一个矩阵信号用Nmv列和至p行。在这里,k当前时间和p是预测视界。每行包含一个预测水平步的调优权重。如果你指定小于p行,最后一行中的调优权重应用于预测范围的其余部分。有关在预测范围内变化权重的更多信息,请参见使用MPC设计器设置时变权重和约束

依赖关系

要启用此端口,请选择MVRate权重参数。

若要指定运行时松弛变量调优权重,请启用此输入端口并连接标量信号。方法中指定的调优权重权重。ECR属性。

松弛变量调优权重没有作用,除非您的控制器对象定义了关联ECR值非零的软约束。如果存在软约束,则增加ecr.wt价值使得这些约束相对更难。然后,控制器将更高的优先级放在最小化预测的最坏情况约束违反的量级上。

依赖关系

要启用此端口,请选择ECR重量参数。

在线的视野

预测水平,指定为正整数信号。预测视界信号值必须小于或等于最大预测层参数。

的值在运行时p重写控制器对象中指定的默认预测范围。有关更多信息,请参见在运行时调整视野

依赖关系

要启用此端口,请选择在运行时调整预测水平和控制水平参数。

控制水平,指定为下列之一:

  • 小于或等于预测水平的正整数信号。

  • 指定阻塞间隔长度的正整数矢量信号。有关更多信息,请参见操纵变量阻塞

的值在运行时重写控制器对象中指定的默认控件水平。有关更多信息,请参见在运行时调整视野

依赖关系

要启用此端口,请选择在运行时调整预测水平和控制水平参数。

输出

全部展开

要求输出

最优操纵变量控制动作,输出为长度列向量信号Nmv,在那里Nmv是被操纵变量的数量。

如果求解器收敛到局部最优解(qp.status是肯定的),那么mv包含最优解。

如果解算器失败(qp.status是负的),那么mv保持其最近成功的解决方案;即控制器输出冻结。

如果求解器达到最大迭代次数而没有找到最优解(qp.status是零)和优化。UseSuboptimalSolution控制器属性为:

  • 真正的,然后mv包含次优解

  • ,然后mv然后mv仍然是最近最成功的解决方案

额外的输出

目标函数代价,输出为非负标量信号。成本量化了控制器实现其目标的程度。成本值使用缩放的MPC成本函数计算,其中每一项都是无偏移和无量纲的。

成本值只有在qp.status输出是非负的。

依赖关系

要启用此端口,请选择最优成本参数。

优化状态,输出为整数信号。

如果控制器在给定的控制区间内解决了QP问题,则qp.statusoutput返回计算中使用的QP求解器迭代次数。这个值是一个有限的正整数,与计算所需的时间成正比。因此,较大的值意味着在此时间间隔内块执行相对较慢。

由于以下原因,QP求解器可能无法找到最优解:

  • qp.status0方法中指定的最大迭代次数内,QP求解器无法找到解决方案货币政策委员会对象。在本例中,如果优化器。UseSuboptimalSolution属性,块保持它的mv在最近成功的解决方案中输出。否则,它将使用在最后一次求解器迭代中找到的次优解。

  • qp.status-1- QP求解器检测到一个不可行的QP问题。看到监控优化状态,检测控制器故障例如,一个大的,持续的扰动驱动输出变量超出其指定的界限。在这种情况下,块保存它的mv在最近成功的解决方案中输出。

  • qp.status-2QP求解器在求解一个严重病态QP问题时遇到了数值困难。在这种情况下,块保存它的mv在最近成功的解决方案中输出。

在实时应用程序中,您可以使用qp.status设置闹钟或采取其他特殊行动。

依赖关系

要启用此端口,请选择优化状态参数。

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

依赖关系

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

最优序列

最优操纵变量序列,以矩阵信号返回p+1行和Nmv列,p预测的范围和Nmv是被操纵变量的数量。

第一个pmv.seq包含从当前时间计算出的最优操作变量值k时间k+p1。的第一行mv.seq包含当前被操作的变量值(输出mv).由于控制器不计算最优控制时刻移动k+p,最后两排mv.seq都是相同的。

依赖关系

要启用此端口,请选择最优控制顺序参数。

最优预测模型状态序列,以矩阵信号的形式返回p+1行和Nx列,p预测的范围和Nx是状态数。

的第一行x.seq包含来自内置状态估计器或自定义状态估计块输入的当前估计状态值x (k | k).下一个px.seq包含从时间计算的最佳状态值k+1到时间k+p

依赖关系

要启用此端口,请选择最优状态序列参数。

最优输出变量序列,返回为带有矩阵信号的信号p+1行和Ny列,p预测的范围和Ny是输出变量的个数。

第一个py.seq包含当前时间计算出的最佳输出值k时间k+p1。的第一行y.seq基于当前估计状态和当前测量扰动(第一行输入医学博士).由于控制器不计算最优输出值的时间k+p,最后两排y.seq都是相同的。

依赖关系

要启用此端口,请选择最优输出顺序参数。

参数

全部展开

指定一个货币政策委员会对象的名称来定义隐式MPC控制器货币政策委员会对象从MATLAB工作空间。

编程使用

块参数:mpcobj
类型:字符串,字符向量
默认值:""

指定控制器初始状态。方法中定义的标称值模型。Nominal的属性货币政策委员会对象。若要覆盖默认值,请创建mpcstate对象,并在字段中输入其名称。

使用此参数使控制器状态在模拟开始时尽可能反映真实的工厂环境。方法中定义的名义状态可以与此初始状态不同货币政策委员会对象。

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

编程使用

块参数:x0
类型:字符串,字符向量
默认值:""

控件以交互方式修改指定的控制器MPC控制器参数,打开MPC设计师点击应用程序设计.例如,你可以:

  • 导入一个新的预测模型。

  • 改变视野、约束和权重。

  • 用线性装置评估MPC性能。

  • 将更新后的控制器导出到MATLAB工作区。

如果你有一个现存的货币政策委员会对象中指定该对象的名称MPC控制器参数。

如果你没有一个存在货币政策委员会对象在MATLAB工作空间中,留下MPC控制器参数是空的。与MPC控制器块连接到厂房,打开MPC设计师通过点击设计.使用该应用程序,在指定的工作点线性化Simulink模型,万博1manbetx并设计控制器。要使用这种设计方法,您必须具备万博1manbetxSimulink控制设计™软件有关更多信息,请参见在Simulink中设计MPC控制器万博1manbetx而且使用MPC设计器线性万博1manbetx化Simulink模型

控件指定控制器后MPC控制器参数时,您可以通过单击查看设计的运行时稳定性和健壮性问题审查.有关更多信息,请参见回顾模型预测控制器的稳定性和鲁棒性问题

General选项卡

如果控制器已测量到扰动,则必须选择此参数以添加医学博士输出端口到块。

编程使用

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

选择此参数可添加ext.mv块的输入端口。

编程使用

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

选择此参数可添加mv.target块的输入端口。

编程使用

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

选择此参数可添加成本输出端口到块。

编程使用

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

选择此参数可添加qp.status输出端口到块。

编程使用

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

选择此参数可添加est.state输出端口到块。

编程使用

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

选择此参数可添加mv.seq输出端口到块。

编程使用

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

选择此参数可添加x.seq输出端口到块。

编程使用

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

选择此参数可添加y.seq输出端口到块。

编程使用

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

选择此参数可删除输入端口并添加x (k | k)输入端口。

编程使用

块参数:state_inport
类型:字符串,字符向量
价值观:“关闭”“上”
默认值:“关闭”
在线特性页签

选择此参数可添加ymin块的输入端口。

编程使用

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

选择此参数可添加ymax块的输入端口。

编程使用

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

选择此参数可添加umin块的输入端口。

编程使用

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

选择此参数可添加umax块的输入端口。

编程使用

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

选择此参数可添加EFG,年代输入端口到块。

编程使用

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

选择此参数可添加y.wt块的输入端口。

编程使用

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

选择此参数可添加u.wt块的输入端口。

编程使用

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

选择此参数可添加du.wt块的输入端口。

编程使用

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

选择此参数可添加ecr.wt块的输入端口。

编程使用

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

选择此参数可添加p而且块的输入端口。

编程使用

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

选择此参数可添加p而且块的输入端口。

依赖关系

要启用此参数,请选择在运行时调整预测水平和控制水平参数。

编程使用

块参数:MaximumP
类型:字符串,字符向量
默认值:“10”
默认条件选项卡

控件执行模拟、裁剪或线性化的默认块采样时间MPC设计师必须指定与Simulink模型设计兼容的采样时间。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_ts
类型:字符串,字符向量
默认值:“1”

控件执行模拟、裁剪或线性化的默认预测范围MPC设计师您必须指定与您的Simulink模型设计兼容的预测范围。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_p
类型:字符串,字符向量
默认值:“10”

控件执行模拟、裁剪或线性化时的默认操作变量数MPC设计师您必须指定一个与您的Simulink模型设计兼容的值。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_mv
类型:字符串,字符向量
默认值:“1”

用于执行模拟、修整或线性化的默认测量扰动数MPC设计师您必须指定一个与您的Simulink模型设计兼容的值。万博1manbetx

依赖关系

  • 仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

  • 若要使用此参数,必须选择测量的干扰参数。

编程使用

块参数:n_md
类型:字符串,字符向量
默认值:“1”

用于执行模拟、修整或线性化的默认未测量扰动数MPC设计师您必须指定一个与您的Simulink模型设计兼容的值。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_ud
类型:字符串,字符向量
默认值:“0”

用于执行模拟、裁剪或线性化的默认测量输出数MPC设计师您必须指定一个与您的Simulink模型设计兼容的值。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_mo
类型:字符串,字符向量
默认值:“1”

用于执行模拟、裁剪或线性化的未测量输出的默认数量MPC设计师您必须指定一个与您的Simulink模型设计兼容的值。万博1manbetx

依赖关系

仅当MPC控制器参数为空,打开MPC设计师使用设计按钮。

编程使用

块参数:n_uo
类型:字符串,字符向量
默认值:“0”
其他选项卡

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

  • -双精度浮点数

  • —单精度浮点数

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

  • 数据类型表达式-求值为任意一个的表达式.有关更多信息,请参见控制信号的数据类型(万博1manbetx模型)

编程使用

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

选择该参数将继承父子系统的采样时间作为块采样时间。这样做可以让你有条件地在里面执行这个块函数调用子系统(万博1manbetx模型)触发子系统(万博1manbetx模型)块。有关示例,请参见在函数调用和触发子系统中使用MPC控制器块

请注意

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

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

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

编程使用

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

选择此参数可添加开关块的输入端口。

编程使用

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

兼容性的考虑

全部展开

R2018b的行为发生了变化

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

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

R2006a之前介绍