主要内容

MPC控制器

模拟模型预测控制器

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

  • MPC控制器块

描述

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

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

因为MPC控制器块使用MATLAB函数块,每次更改MPC对象和块时都需要编译。此外,由于MATLAB®不允许编译的代码驻留在任何MATLAB产品文件夹,您必须使用一个非MATLAB文件夹在您的Simulink金宝app®当你使用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 - 1tk.例如,如果mv在这个时间间隔内实际上是变化的,那么您可以提供按时间计算的时间平均值tk

请注意

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

  • 当控制器驱动装置时,插入a内存块或单位延迟在前一个控制间隔反馈应用于电厂的MV信号。这也避免了直接的馈通ext.mv尺寸的mv因此,在Simulink模型中防止代数循环。金宝app

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

依赖关系

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

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

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

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

依赖关系

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

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

在整个预测范围内使用相同的操纵变量目标,连接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信号对应于操作变量,并替换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信号对应于操作变量,并替换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-2- QP求解器在解决严重病态的QP问题时遇到了数值上的困难。在这种情况下,块保持它的mv最近成功解决方案的输出。

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

依赖关系

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

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

依赖关系

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

最优序列

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

第一个pmv.seq包含从当前时间计算的最优操纵变量值k时间k+p-1.第一行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+p-1.第一行y.seq是基于当前估计的状态和当前测量的扰动(第一行输入医学博士).由于控制器不计算最佳输出值时k+p,最后两排y.seq都是相同的。

依赖关系

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

参数

全部展开

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

编程使用

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

指定控制器初始状态。属性中定义的标称值,如果将该参数留空,则块将使用模型。Nominal财产的货币政策委员会对象。若要覆盖默认值,请创建mpcstate对象,并在字段中输入它的名称。

使用此参数使控制器状态反映真实的植物环境在您的模拟开始,就您所知。这个初始状态可以不同于定义的名义状态货币政策委员会对象。

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

编程使用

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

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

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

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

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

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

如果你有现成的货币政策委员会对象在MATLAB工作空间中,使用MPC控制器参数。

如果你没有现成的货币政策委员会对象在MATLAB工作空间中,离开MPC控制器参数是空的。与MPC控制器闭塞连接到工厂,打开MPC设计师通过点击设计.使用应用程序,在指定的操作点线性化Simulink模型,并金宝app设计你的控制器。要使用这种设计方法,您必须拥有金宝app仿真软件控制设计™软件有关更多信息,请参见在Simulink中设计MPC控制器金宝app使用MPC设计器线性金宝app化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模型设计兼容的样本时间。金宝app

依赖关系

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

编程使用

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

属性用于执行模拟、微调或线性化的默认预测范围MPC设计师你必须指定一个与你的Simulink模型设计兼容的预测范围。金宝app

依赖关系

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

编程使用

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

控件用于执行模拟、微调或线性化的操作变量的默认数量MPC设计师你必须指定一个与你的Simulink模型设计兼容的值。金宝app

依赖关系

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

编程使用

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

用于执行模拟、微调或线性化的默认测量扰动数MPC设计师你必须指定一个与你的Simulink模型设计兼容的值。金宝app

依赖关系

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

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

编程使用

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

用于执行模拟、微调或线性化的默认未测量干扰数MPC设计师你必须指定一个与你的Simulink模型设计兼容的值。金宝app

依赖关系

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

编程使用

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

的默认测量输出数,用于执行模拟、微调或线性化MPC设计师你必须指定一个与你的Simulink模型设计兼容的值。金宝app

依赖关系

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

编程使用

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

属性用于执行模拟、微调或线性化的未测量输出的默认数量MPC设计师你必须指定一个与你的Simulink模型设计兼容的值。金宝app

依赖关系

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

编程使用

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

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

  • —双精度浮点数

  • —单精度浮点数

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

  • 数据类型的表达式—计算结果为其中之一的表达式.有关更多信息,请参见信号的控制数据类型(金宝app模型)

编程使用

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

选择此参数将继承父子系统的样本时间作为块样本时间。这样做允许您在内部有条件地执行这个块函数调用子系统(金宝app模型)触发子系统(金宝app模型)块。例如,请参见在函数调用和被触发的子系统中使用MPC控制器块

请注意

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

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

控件上的Simulink模型窗口中查看块的示例时间金宝app调试选项卡,在信息覆盖,选择颜色文本.有关更多信息,请参见查看样本时间信息(金宝app模型)

编程使用

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

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

编程使用

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

兼容性的考虑

全部展开

R2018b中行为改变

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

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

PLC的代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app

之前介绍过的R2006a