OPC UA includes several features that ensure the robustness of OPC UA communication and that are integrated in different layers of the OPC UA Framework. It includes
- Error detection and handling on transport and service level,
- Buffering of data so that they are not lost during a network connection
- Auditing – i.e., the support for security audit trails with traceability between Client and Server audit logs., and
- Availability of diagnostic information.
Note – The Robustness features are specified as part of the Services in OPC UA Part 4.
Required Robustness Capabilities
Detection of Errors, Recovery
- Handle error conditions including violations of resource limits and return status information as specified.
- Recover from communication failures.
- Limit the number of client connections, subscriptions and service calls as appropriate for the target platform.
- Use continuation points if a request cannot be fully answered with a single response.
- Maintain lifetime of Sessions and Subscriptions based on their configured timer and independent from transport connections.
- Auto-close the Session based on session timeout and client inactivity.
- Handle connection failures and perform automatic reconnects.
- Check and handle all failure codes in service responses.
- Periodically send requests to keep session alive and verify the server is still alive.
Advanced Robustness Capabilities
Sent notifications of subscribed data or events will be buffered for retransmission until acknowledged by the Client. This ensures reliable delivery of these messages even during short network interrupts.
See Data Model and Services::Durable Subscription Capability that offers even more advanced buffering.
- No loss of information during network interrupts.
Maintain a retransmission queue of sent notification messages with a minimum size defined in OPC UA Part 4.
The Client maintains an audit log and passes appropriate, human readable audit entry information in requests when calling the Server.
This capability implies that the Client handles OPC UA audit events
- Allows tracking activities that occur as part of normal operation of the system as well as abnormal behaviour.
- Detect security-related problems in the Server.
- Allows for traceability between client activities and server audit events.
Server generates audit messages as event notifications for operations. Examples include writing to a variable or attempting to connect to a server with invalid credentials.
- Notifies security related actions in a system. It includes failed attempts to connect, successful connects, actions that alter the system, errors or security violations.
- Clients can subscribe to audit event notifications
The collection of diagnostic information can greatly aid in early detection and prevention of potential problems. OPC UA defines Objects with diagnostic information for numerous Server activities.
The collection of diagnostic information can be turned on or off so that it does not unnecessarily impede normal operation.
- Identify current load.
- Identify security attacks.
- Identify usage patterns.
- Identify bottlenecks.
- Identify bad / inefficient interaction scenarios.