Live Loading Version Upgrades in Process Control Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional process control systems face challenges in upgrading control logic without disrupting industrial processes, as shutting down controllers to load new versions is costly and time-consuming, and requires rapid switch-over with data transfer between old and new object instances.
Innovation Solution
A method and apparatus for live loading version upgrades by comparing data element layouts between old and new versions of assembly code, updating method information, and creating new object instances with data transfers when layouts differ, allowing for seamless transition without shutting down the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller is shut down to load a new version of control logic, then the control logic can be upgraded, but the industrial process must be shut down which is costly and time-consuming
Solution Approach 1:
The system performs preliminary actions by loading the new version of control logic into a separate memory space before the current version is unloaded. The new version is compiled and initialized in advance, so that when the switch-over is triggered, the transition can occur immediately without shutting down the industrial process.
Solution Approach 2:
The patent introduces an intermediary mechanism - a dual memory architecture with first and second memories that can hold different versions of control logic simultaneously. This intermediary structure allows the system to maintain the running version while loading and testing the new version, enabling seamless switching without process interruption.
2Loss of time
If the switch-over from old version to new version occurs rapidly, then process continuity is maintained, but data transfer between object instances must be completed within tens of milliseconds
Solution Approach 1:
The system creates a copy of the data structure definition from the old version and uses it to initialize corresponding data elements in the new version. This copying mechanism allows for rapid data transfer by directly replicating memory structures rather than performing complex data serialization and deserialization operations.
Solution Approach 2:
The patent changes the parameter of data transfer by comparing data element layouts between versions and only transferring or initializing elements that have changed. This selective approach based on layout comparison reduces the amount of data that needs to be transferred during switch-over, enabling completion within tens of milliseconds.
3Adaptability or versatility
If the data element layouts between versions are compared and new object instances are created with data transfers, then compatibility is ensured, but additional processing time is required
Solution Approach 1:
The system applies local quality by comparing data element layouts at a granular level and only performing data transfer or initialization for specific elements that have changed between versions. Rather than copying entire data structures, the system selectively processes only the necessary local changes, reducing overall processing time while ensuring compatibility.
Data Source
AI summary
A method includes comparing a first layout of data elements associated with a first version of a class and a second layout of data elements associated with a second version of the class. The first and second versions of the class are associated respectively with first and second versions of assembly code. The method also includes updating method information in an existing object instance associated with the first version of the class if the first and second layouts are identical. In addition, the method includes creating a new object instance associated with the second version of the class and transferring one or more values of one or more data elements from the existing object instance to the new object instance when the first and second layouts are not identical.


