Function block status information

Status values are generated by the following methods:

A status value is expressed as: Quality State SubStatus LimitCondition (for example, Bad NonSpecific HighLimited).

Quality States

There are four quality states that define the status of an input, output, or contained parameter. They are:

  • Bad — The value is not useful for control or calculation.

  • Uncertain — The quality of the value is less than normal, but the value might be useful.

  • GoodNonCascade — The quality of the value is good. Its source is not able to participate in cascade handshaking with the block receiving this status as an input, but the value can be used for control purposes without a cascade handshake.

  • GoodCascade — The value can be used in control and the source is able to participate in a cascade handshaking with the block receiving this status as an input. The PID advanced topics section has more information.

Substatus Values

There are multiple substatus values that are defined for each quality state. The substatus values are described in the following list.

Bad substatus values

  • NonSpecific — The substatus value is not of a specific value to signal any downstream block to take action. This substatus is used for signal status propagation.

  • ConfigErr — Configuration Error. This substatus is set when the value is not useful because there is some other problem with the block. The reasons vary with each block and are noted in the individual block information.

  • NotConnected — This substatus is set when this input is required to be connected and it is not connected.

  • DeviceFailure — This substatus is set when the source of the value is affected by a device failure.

  • SensorFailure — This substatus is set when the system can determine a sensor failure condition. The limit conditions (refer to the Limit Conditions section below) define which direction has been exceeded.

  • NoCommLUV — No Communication, with last usable value (LUV). This substatus is set if this value was set by a communication that has failed.

  • NoCommNUV — No Communication, with no usable value (NUV). This substatus is set when there has never been any communication with this value since it was last Out of Service.

  • OutOfService — The value is not reliable because the block is not being evaluated and might be under construction during configuration. This substatus is set when the block mode is Out of Service (OOS).

Uncertain substatus values

  • NonSpecific — The substatus value is not of a specific value to signal any downstream block to take action. This substatus is used for signal status propagation.

  • LUV — Last Usable Value. The source that was writing this value has stopped writing the value. This happens when an input is disconnected during configuration.

  • Substitute — This substatus is set when the value is written while the block is not Out of Service.

  • InitialValue — This substatus is set when an input parameter value is written while the block is Out of Service.

  • SensorConversionNotAccurate — This substatus is set when the value is at one of the sensor limits. The limit conditions (refer to the Limited Conditions section below) define which direction has been exceeded. In addition, this substatus is set when the device can determine that the sensor has reduced accuracy (such as a degraded analyzer). In this case, no limits are set.

  • EURangeViolation — Engineering Unit Range Violation. This substatus is set when the value lies outside the range of values defined for this parameter. The limit conditions (refer to the Limited Conditions section below) define which direction has been exceeded.

  • SubNormal — This substatus is set when a value derived from multiple values has less than the required number of Good sources.

GoodNonCascade substatus values

  • NonSpecific — The substatus value is not of a specific value to signal any downstream block to take action. This substatus is used for signal status propagation.

  • ActiveBlockAlarm — This substatus is set when the value is good and the block has an active block alarm.

  • ActiveAdvisoryAlarm — This substatus is set when the value is good and the block has an active alarm with a priority less than 8. Also can indicate that the PV is outside of an alarm limit (HI_HI_LIM for example) even when a DeltaV alarm is not active.

  • ActiveCriticalAlarm — This substatus is set when the value is good and the block has an active alarm with a priority greater than or equal to 8.

  • UnacknowledgedBlockAlarm - Set if the value is good and the block has an unacknowledged Block Alarm.

  • UnacknowledgedAdvisoryAlarm - Set if the value is good and the block has an unacknowledged alarm with a priority less than 8.

  • UnacknowledgedCriticalAlarm - Set if the value is good and the block has an unacknowledged alarm with a priority greater than 8.

GoodCascade substatus values

  • NonSpecific — The substatus value is not of a specific value to signal any downstream block to take action. This substatus is used for signal status propagation.

  • InitializationAcknowledge (IA) — The value is an initialized value from a source through the CAS_IN parameter.

  • InitializationRequest (IR) — The value is from a downstream block and causes re-initialization of the block. This substatus flag is not processed when the target mode is not Cascade (Cas).

  • NotInvited (NI) — The value is from a block that does not have a target mode that uses this input (other than Local Override, and Not Selected).

  • NotSelected (NS) — The value is from a Control Selector or Enhanced Control Selector function block that has not selected the corresponding input. This substatus flag tells the upper block to limit in one direction (not to initialize).

  • DoNotSelect (DNS) — The value is from a block that should not be selected by a Control Selector or Enhanced Control Selector function block due to conditions in or above the block. Optionally, this status can be generated by a block when its actual mode is not Automatic (Auto) or Cascade (Cas).

  • LocalOverride (LO) — The value is from a block that has been overriden locally. The failure of normal control must be propagated to a PID block for alarm and display purposes. This also implies Not Invited.

  • FaultStateActive (FSA) — The value is from a block that has Fault State active. The failure of normal control must be propagated to a PID block for alarm and display purposes. This also implies Not Invited

  • InitiateFaultState (IFS) — The value is from a block that wants its downstream output block (for example, AO) to go to Fault State.

  • FaultStateActive — The output block has responded to a fault state condition and is in its defined fault state. When this status is on the output block's backcalculation output, the upstream control block treats it the same as Not Invited.

  • InitiateFaultState — The primary output of a control block indicates that the downstream output block should go to its defined fault state. This is based on control options to initiate fault state if the status of the primary or cascade input is bad.

Limit Conditions

The following limit conditions are available in the status parameter. The four cases are mutually exclusive.

  • NotLimited — The value is free to move.

  • LowLimited — The value is from a block that cannot generate or use a lower value because it is limited in that direction, either internally or by the transducer.

  • HighLimited — The value is from a block that cannot generate or use a higher value because it is limited in that direction, either internally or by the transducer.

  • Constant (high and low limited) — The value cannot move. A constant cannot be limited in just one direction.

Additional Status Information

Cascade loops have additional status states that concern loop initialization. The Fieldbus Foundation specification lists detailed information on this topic.

Specific status handling information for DeltaV function blocks is discussed in the Books Online information for each function block.

When a function block does not receive an input value as expected, the latest value is maintained and a stale data indicator is activated. When the input is reported as stale for more than a specified number of times, the status is set to Bad. In many function blocks, you can decide which (if any) action will be taken when the function block receives a stale data or Bad status indication.