Industrial Automation Program Updates With Checksum-Based Unit Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveupdate speedVSAvoidprogram consistency
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveprogram consistencyVSAvoidproduction continuity
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveruntime consistencyVSAvoidengineering system performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprogram consistency
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11579594B2Method and engineering system for modifying a program of an industrial automation component
Publication Date: 2023.02.14 SIEMENS AG
  • US11579594B2 patent drawing
  • US11579594B2 patent drawing
  • US11579594B2 patent drawing

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.