Industrial IDE Logic View Updates Using Hash Diff Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current industrial control program development platforms face inefficiencies in updating logic views due to limited capabilities in identifying and applying modifications, leading to excessive data transmission and processing requirements.

Innovation Solution

An industrial integrated development environment (IDE) system that employs text hashing and a patience difference algorithm to identify changes in industrial control programs, allowing for targeted updates to logic views without redrawing the entire view.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire logic view is redrawn to ensure complete update accuracy, then the reliability of the update is improved, but the communication bandwidth and processing time are excessively consumed

Engineering Contradiction:
Improveupdate accuracyVSAvoidcommunication bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the logic view into multiple view nodes corresponding to different portions of the control program. Instead of redrawing the entire logic view, the system identifies and updates only the specific view nodes that correspond to modified program portions. This segmentation allows targeted updates that maintain reliability while reducing communication bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and transmits only the necessary update information (identified through hash comparison) to the client device, rather than transmitting the entire logic view data. This extraction principle reduces the amount of data that needs to be communicated while ensuring that all necessary update information is conveyed for accurate rendering.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the entire logic view is redrawn to ensure complete update accuracy, then the reliability of the update is improved, but the processing time is excessively consumed

Engineering Contradiction:
Improveupdate accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the logic view into multiple view nodes and identifies only the specific nodes that require updating based on hash comparisons. This segmentation enables the system to process and render only the necessary portions of the logic view, significantly reducing processing time while maintaining update accuracy through targeted rendering of modified view nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary hash comparisons on the control program text model before triggering the rendering process. By pre-identifying which portions of the program have changed through hash value comparison, the system prepares a precise update plan that avoids unnecessary processing of unchanged portions, thereby reducing overall processing time while ensuring accuracy.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If hash comparison is performed on the entire control program to ensure complete change detection, then the measurement precision is improved, but the use of computational resources is excessively consumed

Engineering Contradiction:
Improvechange detection accuracyVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the control program into multiple text model nodes, each with its own hash value. Instead of computing a single hash for the entire program, the system computes individual hashes for each node and compares them independently. This segmentation maintains measurement precision by detecting changes at the node level while reducing computational resource usage by avoiding redundant hashing of unchanged portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses the inherent structure of the text model (which is already divided into nodes representing different program portions) to perform self-service hash comparison. Each text model node maintains its own hash value, allowing the system to leverage this existing organization for efficient change detection without requiring additional computational overhead for whole-program hashing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11789421B2Efficient client updates using patience difference algorithm in a unidirectional data flow architecture for industrial automation design
Publication Date: 2023.10.17 ROCKWELL AUTOMATION TECH INC
  • US11789421B2 patent drawing
  • US11789421B2 patent drawing
  • US11789421B2 patent drawing

AI summary

An industrial integrated development environment (IDE) identifies modifications to an industrial control program using a combination of program hashing and text differencing. The system performs deep-level hashing of the control program's text model to obtain hash data comprising rung-level hash values that collectively represent the current state of the program. When edits to the program are received, the modified text model is hashed again to yield modified hash data, and differencing analysis is performed on the initial and modified hash data. Differences between the two sets of hash values are used to identify portions of the control program that have been modified so that the targeted updates to a logic view of the program can be implemented. This allows the logic view to be updated without redrawing the entire view, and without the need to store multiple copies of the program's object model for comparison purposes.