OPC UA Session Transaction Simulation for Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
OPC UA's existing mechanism for ensuring consistent and error-proof data exchange between OPC UA client and server is limited, particularly for multiple, logically related write operations across different devices, as it requires tailored client-server communication and does not support transaction-oriented set operations effectively.
Innovation Solution
Implementing a method where OPC UA sessions are expanded to include transaction-oriented set operations by simulating all service calls within a session and deferring their execution until the session is completed, allowing clients to preview and manage the results of operations before actual execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If OPC UA variables are treated individually with per-variable status codes, then communication flexibility is maintained, but ensuring consistency across multiple related write operations becomes complex and requires tailored client-server communication
Solution Approach 1:
The patent segments the transaction into two distinct phases: a simulation phase where operations are validated and results are communicated, and an execution phase where operations are actually performed. This segmentation allows the system to maintain individual variable handling while ensuring transactional consistency across multiple variables, resolving the contradiction between communication flexibility and consistency assurance.
Solution Approach 2:
The patent implements preliminary simulation of write operations before actual execution. The server simulates the operations during the session, communicates simulated results to the client, and only after client confirmation are the operations executed. This preliminary action ensures consistency across multiple related operations without requiring complex tailored communication mechanisms.
2Adaptability or versatility
If multiple OPC UA sessions are allowed to exist simultaneously, then client-server communication flexibility is improved, but managing transactional consistency across sessions becomes difficult
Solution Approach 1:
The patent makes the simulation mechanism universal by implementing it as a standard OPC UA session feature that can be used across all sessions and client-server configurations. Rather than requiring tailored communication for each transaction scenario, the universal simulation approach works consistently across multiple simultaneous sessions, maintaining both flexibility and reliability.
3Speed
If OPC UA calls are executed immediately upon receipt, then response time is reduced, but the ability to preview and control operation results is lost
Solution Approach 1:
The patent introduces dynamic control over operation execution by allowing the client to decide whether to execute operations based on simulated results. The server dynamically switches between simulation mode and execution mode within the same session, enabling both fast execution (when operations are confirmed) and preview capability (during simulation phase), thus resolving the contradiction between speed and control.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An OPC UA session is interpreted as a single transaction according to the invention. In this case, a transaction means that all service calls, apart from the above-mentioned calls, are initially only simulated and are not executed and the execution of the service calls is shifted to the termination of the transaction. Each operation inside a session is formally checked and then simulated. The simulated result or the result of the formal check is immediately sent to the client. The client therefore receives a preview of the result of the operations. If the client determines that one of the operations carried out would not lead to the desired result, the client can reject the operations. If the client wants the set operation to be carried out, the client terminates the current session.