The following table summarizes the substantive differences between the MPCPro and MPCPlus function blocks.
| MPCPro block | MPCPlus block |
|---|---|
|
The control matrix is generated offline and then downloaded. |
The models are downloaded. The control matrix is generated online (calculated at each control cycle). |
|
Unconstrained MPC - The control matrix is a fixed algorithm that can potentially calculate control moves that cannot be implemented. That is, it may calculate MV moves that violate MV constraints. It will not implement an MV move that violates a constraint but it will not recalculate the other MV moves to compensate for the constrained MV. |
Constrained MPC - Because the control matrix is calculated at runtime, the problem can be solved again if future moves reach limits, such that the entire move plan can be implemented. |
|
Short execution time and small CPU load. |
Longer execution time and higher CPU load. |
|
Executes in controllers or workstations. |
Executes in workstations only. |
|
Must have a square control matrix. Controlled variables paired with manipulated variables are included in the dynamic controller and optimizer. Constraint variables and supplemental controlled variables are included in the optimizer but not in the dynamic controller. |
The control matrix is not required to be square. All controlled and constraint variables are included in the dynamic controller and optimizer. |
|
The algorithm treats controlled variables differently from constraint variables in the runtime system. |
The algorithm treats controlled and constraint variables like controlled variables in the runtime system. A variable can still be created as a constraint variable in the configuration system (for example, to separate controlled and constraint variable faceplates in MPC Operate Pro). |
|
A constant Penalty On Error factor is applied at runtime regardless of the value of the controlled or constraint variable. |
A dynamic Penalty On Error factor is applied at runtime, such that a variable further from its target or closer to its limit can have a higher penalty value. |
|
Penalty values cannot be tuned online; they must be regenerated and downloaded. |
Penalty values can be tuned online. |
|
Controlled variables with a Target optimization type can have a relaxed working setpoint by setting SP_DELTA_RANGE to non-zero. If so, an economic objective (Max or Min) on another variable can result in the Target CV's working setpoint deviating from its setpoint. |
There is no SP_DELTA_RANGE parameter. Controlled variables with a Target optimization type cannot have a relaxed working setpoint based on another variable with an economic objective (Max or Min). Controlled variables in the MPCPlus block can be given the PSV optimization type instead of Target, which will allow the working setpoint to be relaxed if necessary to achieve another economic objective. |
|
The future plot in MPC Operate Pro (green area of the trend display) includes controlled and constraint variables. |
In addition to controlled and constraint variables, the future plot in MPC Operate Pro includes the move plan for manipulated variables. |
|
The MV target weights are configured in the controller header file. |
The MV target weights are configured in a single, runtime writeable parameter common to all MVs. |
|
Moves blocking is configured using a bit mask in the controller header file. The controller must be regenerated and downloaded to change the moves blocking. |
Moves blocking is configured in an integer array parameter that can be changed at runtime if the block is in a non-automatic mode. |
|
CV blocking is not configurable. |
CV blocking is configured in an integer array parameter that can be changed at runtime if the block is not in an automatic mode. |
|
The control horizon can be adjusted using a value in the controller header file. |
The control horizon can be adjusted using the moves blocking parameter. |
|
Manipulated variables are taken off control by changing the MV function block to its local mode. |
Manipulated variables can be taken off control using the Disable button on the MPC Operate Pro faceplate. |
|
The at limit indicators (At Upper Limit, At Lower Limit) for CVs on the MPC Operate Pro Optimizer dialog is based on the predicted CV value. |
The at limit indicators (At Upper Limit, At Lower Limit) for CVs on the MPC Operate Pro Tuning dialog is based on the optimizer target CV value. |
|
The at limit indicators (At Upper Limit, At Lower Limit) for MVs on the MPC Operate Pro Optimizer dialog is based on the actual MV value. |
The at limit indicators (At Upper Limit, At Lower Limit) for MVs on the MPC Operate Pro Tuning dialog is based on the optimizer target MV value. |
|
The MPC Operate Pro Optimizer dialog's Limit Exceeded indicator for CVs is visible if the actual CV value is beyond a limit. |
The MPC Operate Pro Tuning dialog's Infeasible indicator for CVs is visible if the optimizer target has been relaxed from setpoint or relaxed beyond a limit due to insufficient degrees of freedom. |