The MPCPlus function block supports the following modes:
The MPCPlus block actual mode is calculated as follows based on the target mode and the condition:
When the status of a downstream block changes to Good Cascade Initialization Request, then, if the MPCPlus block Target mode is not OOS, it will immediately do a handshake with the downstream block. After the handshake completes, the initialization value is maintained in the associated output unless it is changed by an operator (in IMAN or MAN mode) or changed by the MPCPlus algorithm (in AUTO or RCAS mode).
Indications of a limit condition or alarm active in the input status provided to MPCPlus has no impact on the MPCPlus block mode or the handshake that is done by the MPCPlus block. An operator disabling a process input or output has no impact.
The manner in which the MPCPlus function block outputs are updated depends on the mode of the MPCPlus block and whether a cascade connection has been established with a downstream block.
MPCPlus can be used in an application as long as a function block execution time of one second or slower is sufficient to meet your process control requirements. The MPCPlus function block execution is automatically set based on the Time to Steady State defined in the PredictPro application by the user. The execution time in seconds is calculated as the Time to Steady State divided by 120 (the prediction horizon in samples).The MPCPlus algorithm uses the process model and generates controller matrices online every scan. The time required for the controller generation greatly depends on the controller configuration (the number of MV, CV and AV). The time required for controller generation for a specific configuration defines the fastest scan rate of the MPCPlus block for that configuration. The scan period derived from the time to steady state calculation cannot be applied if it is shorter than that required for the specific MPCPlus configuration execution. Refer to Controller Loading in the Using DeltaV PredictPro topic.
If the PROD_RATE input status is Good, the block's effective execution rate is adjusted to compensate for changes in transport delay. In this case, the effective execution rate is automatically determined based on the module execution rate, Time to Steady State, the production rate inputs and the configured normal production rate. When using PROD_RATE ensure that the adjusted fastest scan rate satisfies the required execution time. Consider extended blocking to shorten the execution time. Refer to the description of CV_BLOCKING in the Model Predictive Control Professional Plus function block parameters topic.
| MV blocking | [1, 2, 3, 4, 5, 7, 9, 14] |
| CV blocking | [ 1; 1; 1; 1; 1; 1; 1; 1; 2; 3; 3; 4; 5; 7; 9; 12; 20; 20; 20; 20] |
| MV blocking | [1, 2, 4, 8, 14] or [1, 2, 5, 14] |
| CV blocking | [1; 1; 1; 1; 1; 1; 1; 2; 2; 4; 6; 8; 11; 15; 20; 20; 20; 20] |
Extended blocking may adversely affect control performance particularly for configurations with diverse dynamics (various lags, dead times and gains).
An experienced user may apply CV and MV blocking other than that shown in the table. The maximum number of MV blocking intervals is 16 and the maximum number for MV blocking vector is 40. This number represents the last future move number being calculated.
After developing the MPCPlus configuration, verify the MPCPlus module execution time, which should not exceed 50% of the assumed scan period.
When the MPCPlus function block detects configuration errors or abnormal conditions, the errors and abnormal conditions are automatically reflected in the BLOCK_ERR parameter. Set the BAD_MASK parameter to determine which condition set BAD_ACTIVE. All conditions not included in BAD_ACTIVE are reflected in the ABNORMAL_ACTIVE parameters. These xxxx_ACTIVE parameters can be used in defining module alarms.
The following are automatically calculated for performance monitoring:
The associated xxxx_ACT parameter can be used to define module alarms.