6 Error Codes (ErrorID)

Error codes are 4 bytes long, data type being DWORD.

NOTE: Bit 29 in this DWORD value is used to differentiate between error codes defined by OPC Foundation and error codes defined by PLCopen or Vendor.

FieldBit RangeDescription
Severity30:31

Indicates whether the ErrorCode represents a good, bad or uncertain condition. These bits have the following meanings:

Good

success

00Indicates that the operation was successful and the associated results may be used.

Uncertain

Warning

01Indicates that the operation was partially successful and that associated results might not be suitable for some purposes.
Bad Failure10Indicates that the operation failed and any associated results cannot be used.

Reserved

11Reserved for future use. All Clients should treat an ErrorCode with this severity as “Bad”.

ErrorType29

Value 0 indicates OPC error. Please find these error codes in OPC UA 10000-4 specification.

Value 1 indicates PLCopen or vendor specific error signaled by BIT28.

NOTE: This bit shall always be zero on the wire.

ErrorType228

This flag can be evaluated only if BIT29 is Value 1.

Value 0 indicates PLCopen error.

Value 1 indicates vendor specific error.

NOTE 1): This bit shall always be zero on the wire.

NOTE 2): This bit shall only be set if bit 29 has value 1, because it is reserved in OPC 10000-4 for future use.

ErrorCode

(Bits 0..27)

DefineDescription
CategoryGeneral
16#A000_0001PLCopenUA_Bad_FW_PermanentErrorInternal, permanent error.
16#A000_0002PLCopenUA_Bad_FW_TempError Temp. error; FB could retry to reach FW.
CategoryConnection
16#A000_0100PLCopenUA_Bad_ConnectionErrorConnection could not be established.
16#A000_0101PLCopenUA_Bad_HostNotFoundThe requested hostname could not be found.
16#A000_0102PLCopenUA_Bad_AlreadyConnectedConnection was already established.
16#A000_0103PLCopenUA_Bad_SecurityFailedConnection failed due to security setup.
16#A000_0104PLCopenUA_Bad_SuspendedConnection is suspended.
16#A000_0105PLCopenUA_Bad_ConnectionInvalidHdlProvided ConnectionHdl is not known.
CategoryNamespace
16#A000_0200PLCopenUA_Bad_NSNotFoundA namespace with the requested name cannot be found on server.
CategoryNode
16#A000_0300PLCopenUA_Bad_ResultTooLongTarget PLC variable is too short for retrieved data.
16#A000_0301PLCopenUA_Bad_InvalidTypeInvalid or unsupported Type.
16#A000_0302PLCopenUA_Bad_NodeInvalidHdlProvided NodeHdl is not known.
16#A000_0303PLCopenUA_Bad_MethodInvalidHdlProvided MethodHdl is not known.
16#A000_0304PLCopenUA_Bad_ReadFailedRead failed for unknown reason.
16#A000_0305PLCopenUA_Bad_WriteFailedWrite failed for unknown reason.
16#A000_0306PLCopenUA_Bad_CallFailedMethod Call failed for unknown reason.
16#A000_0307PLCopenUA_Bad_InParamFailedMethod Call Input parameter conversion failed.
16#A000_0308PLCopenUA_Bad_OutParamFailedMethod Call Output parameter conversion failed.
ATTENTION: this means the MethodCall was executed successfully but the returned values could not be converted.
CategoryAttribute
16#A000_0400PLCopenUA_Bad_AttributeIdUnknownUsed in UA_NodeGetInformation for elements, which are not in this NodeClass existing.
16#A000_0401PLCopenUA_Bad_AttributeIdInvalidUsed in UA_NodeGetInformation for elements, which should exist but don’t.
CategoryMonitoring
16#A000_0500PLCopenUA_Bad_SubscriptionInvalidHdlProvided SubscriptionHdl is not known.
16#A000_0501PLCopenUA_Bad_MonitoredItemInvalidHdlProvided MonitoredItemHdl is not known.
16#A000_0502PLCopenUA_Bad_MonitoredItemSyncMismatchMixed controller sync and firmware sync in same list
16#A000_0503PLCopenUA_Bad_SyncModeInvalidSync mode invalid