Industrial Automation Program Updates With Checksum-Based Unit Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern industrial automation components face challenges in maintaining program consistency during partial updates, particularly when multiple users work on the same component simultaneously, leading to inconsistent states and potential system failures or downtime, as existing strategies either prevent updates or shift the synchronization burden to engineering systems, affecting performance.
Innovation Solution
The approach divides the software project into manageable 'units' with encrypted program codes and data, where only public elements form the interface, allowing controlled dependencies and secure, fine-grained updates by using checksums to determine which units need to be transferred, ensuring consistency without requiring all modified elements to be uploaded.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple users work on the program simultaneously with partial updates, then productivity is improved by avoiding full program retransmission, but program consistency deteriorates leading to inconsistent states and potential system failures
Solution Approach 1:
The program is divided into multiple program elements (functions, blocks, structures) that can be independently identified and updated. Each program element has a unique identifier and checksum, allowing the system to transfer only modified elements rather than the entire program, thus improving productivity while maintaining consistency through selective updates.
Solution Approach 2:
The system implements a feedback mechanism where checksums of program elements are calculated and compared between the engineering system and the automation component. This feedback loop identifies which program elements have been modified and need updating, ensuring that only necessary changes are transmitted while maintaining program consistency across multiple users.
2Reliability
If firmware performs consistency checking before starting newly loaded program elements, then reliability is improved by preventing inconsistent states, but productivity deteriorates due to production downtime from emergency stop
Solution Approach 1:
The system performs consistency checking and identifies required program elements before transferring them to the automation component. By pre-calculating checksums and determining which program elements need updating before the update process begins, the system avoids runtime consistency checks that would cause production downtime, thus maintaining both reliability and productivity.
3Reliability
If engineering system performs synchronization and consistency checking by uploading modified program elements, then reliability is improved by preventing sudden shutdowns, but productivity deteriorates due to complex frequent synchronization and performance impact
Solution Approach 1:
The system extracts and transfers only the specific modified program elements and their dependencies from the engineering system to the automation component, rather than performing full synchronization. This extraction approach reduces the amount of data transferred and processed, improving engineering system performance while maintaining runtime consistency through targeted updates.
4Productivity
If only modified program elements are transferred to automation component, then productivity is improved by reducing data transfer volume, but reliability deteriorates due to risk of inconsistent states from uncoordinated modifications
Solution Approach 1:
The system dynamically determines which program elements need to be transferred by comparing checksums and analyzing dependencies. Based on the modification status and reference relationships, the system adaptively selects the minimal set of program elements that must be updated together to maintain consistency, optimizing both productivity and reliability through dynamic update selection.
Data Source
AI summary
A method for modifying a program of an industrial automation component, wherein the program includes a plurality of program elements, where the program is structured in units, a unit includes a group of program elements and can include both published program elements having an interface that can be referenced by the program elements of other units and unpublished program elements, and where a checksum is calculated and is assigned to the unit using the interfaces, such that if at least one program element of the version of the unit stored in the engineering system is modified, then the modified checksum is compared with the previous checksum version present in the automation component, and only the modified unit is transferred if the checksums match such that consistency of the program is maintained and the software updateable more quickly.


