Industrial IDE Logic View Updates Using Hash Diff Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


