Advanced control blocks > Model Predictive Control Professional (MPCPro) function block

Model Predictive Control Professional function block directly modifying MPCPro function block parameters

The following parameters are direct array parameters that are accessed using index 1-80 for process outputs (Controlled and Constraint parameters) and 1-40 for process inputs (Manipulated and Disturbance parameters). Usually, these parameters are modified with the MPC Operate Pro and iFIX applications. To modify these parameters programmatically, or to trend them in Process History View, first determine the index number for the parameter description. To determine the index number:

  1. Open the MPCPro block in Control Studio.

  2. Double-click the block to open its Properties dialog.

  3. Click the Advanced button and look at the Name column. The number following the parameter name is the index.

For example, suppose Temperature is associated with PROC_OUT3. In this case, 3 is the index number for the parameter PROC_OUT3. If Temperature is a Constraint parameter, you would write to AV_HI_LIMIT[3] to modify the constraint high limit. If Temperature is a Controlled parameter, you would write to SP_HI_LIMIT[3] to modify the SP high limit.

Table: Parameters for programmatically modifying MPCPro function block parameters

Parameter

Description

MASTER_SWITCH

The MPC/LOCAL switch of the block:

  • 0=Local control

  • 1=MPC control

When written to, switches all downstream blocks simultaneously.

Every write to this parameter is a write to the target mode of all downstream blocks.

Note

Do not write every scan; doing so  would prevent the operator from changing the downstream blocks' target mode.

MASTER_SWITCH_MV[1…40]

The MPC/LOCAL switch for each MV.

PREDICTION[1…80][1…10]

For each process output, an approximated trajectory is communicated by the block. (Approximated is defined as ten points (of 120) where 10 is the last point in the future prediction.) For example:

  • Read PREDICTION[3][10] to observe the last point of the prediction of PROC_OUT[3].

  • Read PREDICTION[1][5] to observe a point approximately half way into the prediction of PROC_OUT1.

AV_HI_LIMIT[1…80]

The constraint high limit.

AV_LO_LIMIT[1…80]

The constraint low limit.

SP_HI_LIMIT[1…80]

The setpoint high limit. A setpoint entry that is higher than this limit is truncated to the limit value.

SP_LO_LIMIT[1…80]

The setpoint low limit. A setpoint entry that is lower than this limit is truncated to the limit value.

SP_DELTA_RANGE[1…80]

The setpoint range that is the maximum amount that the optimizer can change the setpoint used in control from the operator-specified setpoint.

SP_FTIME[1…80]

The Response Trajectory is an exponential trajectory defined by its filter time constant, current process output, and future required process output (SP). Response Trajectory is used to increase stability by slowing down the controller reaction to CV error. When unmeasured disturbances are significant, Response Trajectory filter time constant values between 1 and 5 times the TSS are recommended.

SP_HI_RANGE[1…80]

A read-only parameter that presents the high limit that is actually used by the optimizer.

SP_LO_RANGE[1…80]

A read-only parameter that presents the low limit that is actually used by the optimizer.

SP_TRACKING[1…80]

When enabled, the SP tracks the Controlled parameter value when the MPCPro block is in a Target mode of MAN or an Actual mode of IMAN.

  • 0=SP tracking disabled

  • 1=SP tracking enabled

MV_HI_LIMIT[1…40]

The maximum output value (in engineering units) that an operator can enter. An entry that is greater than this limit is truncated to the limit value.

MV_LO_LIMIT[1…40]

The minimum output value (in engineering units) that an operator can enter. An entry that is lower than this limit is truncated to the limit value.

MV_MAX_RATE[1…40]

The maximum rate (in engineering units per second) at which the MPCPro function block can change the Manipulated parameter.

OPT_COST_IN[1…40] [1…5]

The MV cost value for optimization. [1-5] indicates the Objective Function.

OPT_PROFIT_OUT[1…80] [1…5]

The output cost value for optimization. [1-5] indicates the Objective Function.

OPT_PSV[1…40]

The Preferred Settling Value. This value usually represents a valve position to which the Manipulated variable is driven if PSV is selected under Optimization and there are extra degrees of freedom after all minimize/maximize optimization targets have been achieved.

OPT_TYPE_IN[1…5] [1…40]

The optimization type for MVs:

  • 0=None

  • 1=Maximize

  • 2=Minimize

  • 4=PSV

  • 5=Equalize

[1-5] indicates the Objective Function.

OPT_TYPE_OUT[1…5] [1…80]

The optimization type for process outputs:

  • 0=None

  • 1=Maximize

  • 2=Minimize

  • 3=Target

[1-5] indicates the Objective Function.

OPT_OBJ_INDEX

The currently selected Objective Function (values are 1-5).

SIM_COUNTDOWN[1…80]

Shows how long (in seconds) a particular process output is simulated before Manual mode or Shed of downstream blocks occurs. Read-only.

INPUT_DISABLED[1…40]

The Disable button the DV faceplate:

  • 0=Not disabled

  • 1=Disabled

OUTPUT_DISABLED[1…80]

The Disable button the CV and AV faceplates:

  • 0=Not disabled

  • 1=Disabled

ROTATION_LIMIT[1…80]

The maximum accepted value of the rotation factor.

FAIL_ACTION_OUT[1…80]

  • 0=No Action

  • 2=Shed downstream modes

  • 3=Manual

  • 4=Simulate Manual

  • 5=Simulate Shed downstream modes

FAIL_ACTION_IN[1…40]

  • 0=No Action

  • 1=Hold last good value (applies to DVs only)

  • 2=Shed downstream modes

  • 3=Manual