The PID block mode parameter as originally defined by ISA50 determines the source of the block setpoint and the source of its output. This mode parameter is structure to contain four attributes:
- Target – The mode of operation requested by the operator
- Actual – The mode of operation that may be achieved based on the target mode and the status of the PID block inputs
- Permitted – The mode(s) available to the operator for a given application
- Normal – The mode the PID is expected to be in for normal operation
As detailed in Control Loop Foundation, when the block is set to Automatic (Auto) mode, the setpoint of the block is determined by the operator while the block output is automatically regulated by the block to maintain the controlled parameter at setpoint. In Cascade (Cas) mode, the setpoint is provided by another function block through the CAS_IN connection. By changing the block mode from Auto to Cas, the source of setpoint is changed to be the CAS_IN value. The value written to the RCAS_IN by an external application will be used as the setpoint when the mode is set to Remote Cascade, RCas. For example, in a batch application, the batch control logic may change the setpoint of a PID block by writing the setpoint value to the RCAS_IN parameter and then changing the block mode to RCas. The selection process supported by the mode parameter is illustrated below.
A batch control application may constantly write to the RCAS_IN parameter but this value will only be used as the setpoint of the PID when the mode parameter is changed to RCas. The operator may take back control of the setpoint at any time by changing the block mode to Auto. Thus, the mode parameter is used by the operator to determine when it is appropriate for a batch control application to adjust the PID setpoint.
When the PID block mode is changed to Manual (Man), then the operator may set the output of the PID block rather than using the calculated output. In Man mode, the PID output is maintained at the value specified by the operator. When there is a need for an external application to take control of the PID output, then the operator may change the mode of the blockto Rout. In the Rout mode, the value written to the ROUT_IN parameter will be used as the PID block output.