9 Diagnostics ToC Previous Next

OPC UA Safety diagnostics may be implemented in a non-safety-related way. It allows for categorization and localization of safety communication errors.

OPC UA Safety provides two types of diagnostics:

  • OPC UA Safety diagnostics messages generated by the SafetyConsumer and provided in a vendor-specific way.
  • The method “ReadSafetyDiagnostics”, defined in the OPC UA Information Model (see Clause 6.1.4 and Clause 9.2).

    9.1 Diagnostics messages of the SafetyConsumer ToC Previous Next

[RQ9.1] Every time the macro <Set Diag(SD_IDerrOA, isPermanent)> is executed within the SafetyConsumer, the textual representation shown in Table 37 shall be presented. The details and location of this representation (display, logfile, etc.) are vendor-specific.

Table 37 – Safety layer diagnostic messages

   Internal identifier (as used in the state-machines) General Error type (String) Extended error type (String) Error code (offset) Classification *) (optional) Mandatory
SD_IDerrIgn The SafetyConsumer has discarded a message due to an incorrect ID.   0x01 A Yes
SD_IDerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect ID. Operator acknowledgment is required. Mismatch of SafetyBaseID. 0x11 B, E Yes
SD_IDerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect ID. Operator acknowledgment is required. Mismatch of SafetyProviderID. 0x12 B, E Yes
SD_IDerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect ID. Operator acknowledgment is required. Mismatch of safety data structure or identifier. 0x13 B, E Yes
SD_IDerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect ID. Operator acknowledgment is required. Mismatch of SafetyProviderLevel. 0x14 B, E Yes
CRCerrIgn The SafetyConsumer has discarded a message due to a CRC error (data corruption).   0x05 A Yes
CRCerrOA The SafetyConsumer has switched to fail-safe substitute values due to a CRC error (data corruption). Operator acknowledgment is required.   0x15 B, C Yes
CoIDerrIgn The SafetyConsumer has discarded a message due to an incorrect ConsumerID.   0x06 A Yes
CoIDerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect consumer ID. Operator acknowledgment is required.   0x16 B Yes
MNRerrIgn The SafetyConsumer has discarded a message due to an incorrect monitoring number.   0x07 A Yes
MNRerrOA The SafetyConsumer has switched to fail-safe substitute values due to an incorrect monitoring number. Operator acknowledgment is required.   0x17 B, C Yes
CommErrTO The SafetyConsumer has switched to fail-safe substitute values due to timeout.   0x08 B Yes
ApplErrTO The SafetyConsumer has switched to fail-safe substitute values at the request of the safety application.   0x09 D No
ParametersInvalid The SafetyConsumer has been configured with invalid parameters.   0x0A B, E Yes
FSV_Requested The SafetyConsumer has switched to fail-safe substitute values at the request of the SafetyProvider. Operator acknowledgment is required.   0x20 F Yes

*) The following classification is specified: A) Transient communication error B) Permanent communication error C) Transmission quality seems not to be sufficient D) Application error E) Parameter error F) Error does not affect communication itself.

For avoiding a flood of diagnostic messages in case of transmission errors, only up to two messages are shown even if multiple communication errors occur in sequence. This is ensured by the behavior defined in the SafetyConsumer’s state machine.

Optional features (vendor-specific):

  • Extend diagnostic data by expected value and received value, e.g.: Mismatch of SafetyProviderID: Expected ID: 0x00000005 Received ID: 0x00000007
  • Extend diagnostic data if a parameter of the SafetyConsumer is invalid. Example 1: The SafetyConsumer has been configured with invalid parameters. The value 0x00000000 is an invalid SafetyProviderID.

Previous Next