The StatusCode is used to indicate the conditions under which a Variable value was generated, and thereby can be used as an indicator of the usability of the value. The StatusCode is defined in 7.39.

Overall condition (severity)

  • A StatusCode with severity Good means that the value is of good quality.
  • A StatusCode with severity Uncertain means that the quality of the value is uncertain for reasons indicated by the SubCode.
  • A StatusCode with severity Bad means that the value is not usable for reasons indicated by the SubCode.

Rules

  • The StatusCode indicates the usability of the value. Therefore, It is required that Clients minimally check the StatusCode Severity of all results, even if they do not check the other fields, before accessing and using the value.
  • A Server, which does not support status information, shall return a severity code of Good. It is also acceptable for a Server to simply return a severity and a non-specific (0) SubCode.
  • If the Server has no known value - in particular when Severity is BAD, it shall return a NULL value. If the DataType of the Variable is not BaseDataType, the Severity shall be BAD if the value is NULL. If a Variable is created and no default value or initial value is available, the StatusCode shall be Bad_NoValue.