In OPC UA StatusCodes are used on different levels to indicate:
- if service calls have been executed successfully (e.g. a Read call was successful)
- if operations inside the service calls have been executed successfully (e.g. for each Attribute to be read in a Read call), or the status of individual data like in MonitoredItems.
The base OPC UA specification defines those StatusCodes. It is not allowed for Companion Specifications or vendors to define additional StatusCodes. OPC UA provides the mechanism of DiagnosticInfo (see OPC 10000-4) to provide more specific information.
In very rare cases, Companion Specifications may have the need for additional StatusCodes. For example, the FDI specification had a need to indicate if a value was currently edited by the specific OPC UA Client. In this case, the Companion Specification authors shall contact the base OPC UA working group and the needed StatusCodes will be added to the base specification.