The MPCPro function block supports the following modes:
Out of Service (OOS) — Set by changing the target mode to OOS. In the OOS mode, the block does not execute its control algorithm and the status of all block inputs are set to BAD OUT of Service.
Initializing Manual (IMAN) — Indicates that the path to the process is broken. A common cause is that a required downstream block is not in the correct mode to use the output of the MPCPro block.
Local Override (LO) — Indicates that testing by the PredictPro application is in progress.
Manual (MAN) — Operator has full control of the required MPCPro block outputs.
Automatic (AUTO) — Outputs are automatically calculated by the MPCPro block.
Remote Cascade (RCAS) — The setpoint of Control parameters that are configured for remote setpoint can be changed by another application.
Mode calculation
The MPCPro block actual mode is calculated as follows based on the target mode and the condition:
If the MPCPro Target mode is OOS, then the actual mode is OOS and the status of the MPCPro outputs are set to Bad OOS.
If the MPCPro Target mode is not OOS and the Test Active flag is set, then the actual mode is LO to indicate that testing is active.
If the MPCPro Target mode is not OOS and the Bad Downstream flag is set, then the actual mode is IMAN to indicate that the path to the process is broken.
If the MPCPro Target mode is not OOS and the Bad Downstream flags are clear but the Bad Control or Bad Disturbance flag is set, then the actual mode is MAN.
If the MPCPro Target mode is AUTO and the Bad Downstream, Not Generated, Bad Control, Bad Disturbance and the Simulate Too Long flags are clear, then the actual mode is AUTO. If the Target mode is MAN for these conditions, then the Actual mode will be MAN.
If the MPCPro Target mode is AUTO and the Bad Downstream, Not Generated, Bad Control, and Bad Disturbance flags are clear and the Simulate Too Long flag is set, then the Actual mode is MAN. If the Target mode is MAN for these conditions, then the Actual mode will be MAN.
If the Target mode is RCAS and the Bad Downstream, Not Generated, Bad Control, Bad Disturbance, and Simulate Too Long flags are clear but the Remote Unavailable flag is set, then the Actual mode is AUTO.
If the Target mode is RCAS and the Bad Downstream, Bad Control and Bad Disturbance, Not Generated, Remote Available, Simulate Too Long and Remote timeout flags are clear then the Actual mode is RCAS.
If the Target is RCAS and the Bad Downstream, Bad Control and Bad Disturbance, Not Generated, Remote Available, and Simulate Too Long flags are clear and the Remote Timeout flag is set and the previous Actual mode was RCAS, then the block mode should shed to the next available mode.
When the status of a downstream block changes to Good Cascade Initialization Request, then, if the MPCPro 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 MPCPro algorithm (in AUTO or RCAS mode).
Indications of a limit condition or alarm active in the input status provided to MPCPro has no impact on the MPCPro block mode or the handshake that is done by the MPCPro block. An operator disabling a process input or output has no impact.
Update output value and status
The manner in which the MPCPro function block outputs are updated depends on the mode of the MPCPro block and whether a cascade connection has been established with a downstream block.
In OOS mode, the status of the MPCPro outputs is set to BAD Out of Service. The block does not change the value of block outputs.
In IMAN mode, the MPCPro function block is unable to establish a cascade connection with one or more of the downstream blocks that are configured as required for control. Normally this occurs when they are not in the correct mode. Until the initialization process is complete for an output, the calculated output provided by the MPCPro algorithm to match the value on its associated BKCAL_IN is written to the block output. Once the initialization process is complete for an input, the output remains at its last value with a status of GOOD Cascade NonSpecific, Not limited.
In MAN mode, the output values are not written by the MPCPro algorithm but can be changed by the operator. The status of the outputs is GOOD Cascade NonSpecific, Not Limited.
In AUTO mode, the calculated output is written to the output or maintained at last value if the calculated output will drive the output further within its downstream limit. The output status is set to Good Cascade NonSpecific.
MPCPro function block execution rate
MPCPro 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 MPCPro function block execution is automatically set based on the Time to Steady State to provide an algorithm execution rate of one second or slower. Since the MPCPro algorithm uses model and controller matrices that are generated on a very specific time base, the DeltaV PredictPro application automatically configures the effective scan rate of the MPCPro block. The execution time is defined by the process response time estimation (entered as the Time to Steady State when you request that the process be tested for identification) divided by prediction horizon (120 samples) in seconds.
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.
Alarming
When the MPCPro 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 variability of control parameters
The time manipulated, control or constraint parameters were at or above their associated limits
The associated xxxx_ACT parameter can be used to define module alarms.