Industrial Controller Source Code Distribution Without Central Repository

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In industrial control environments, the limited storage space on industrial controller units poses challenges for storing entire source code, especially during installation or maintenance, where multiple users need to work on the same code simultaneously, and there is often no central source code management system available, leading to difficulties in maintaining code consistency and efficient exchange.

Innovation Solution

An industrial controller unit that stores characteristics of source code objects, such as location, timestamp, and checksum, rather than the source code itself, allowing for efficient distribution and updating of source code objects among connected programming units via a network, enabling the unit to act as a file sharing server even without a central management system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If source code is stored on the industrial controller unit, then source code availability is improved, but storage space is consumed

Engineering Contradiction:
Improvesource code availabilityVSAvoidstorage space
Core Design Contradiction:
Loss of informationVSVolume of stationary object

Solution Approach 1:

The patent extracts only the essential characteristics (metadata) of source code objects from the full source code files. The controller storage element stores compressed representations including compilation timestamps, version identifiers, and checksums rather than complete source code, enabling verification of code integrity while minimizing storage consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates lightweight copies of source code information in the form of characteristic data structures. These copies contain sufficient information to verify source code integrity and track versions without requiring storage of the actual source code files, which remain primarily on programming units.

Inventive Principle:
Principle #26Copying

2Volume of stationary object

If source code is compressed to save storage space, then storage efficiency is improved, but access speed deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidaccess speed
Core Design Contradiction:
Volume of stationary objectVSSpeed

Solution Approach 1:

The system performs preliminary processing by extracting and storing key characteristics (compilation timestamps, version IDs, checksums) of source code objects before any access occurs. This pre-computed metadata enables rapid verification and comparison operations without requiring decompression or full loading of source code files during access operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple users work on the same source code simultaneously, then collaborative efficiency is improved, but code consistency deteriorates

Engineering Contradiction:
Improvecollaborative efficiencyVSAvoidcode consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The controller storage element maintains a centralized repository of source code characteristics including version identifiers and checksums. When users access or modify source code, the system provides feedback by comparing local characteristics against the centralized repository, enabling users to detect and resolve inconsistencies. This feedback mechanism ensures all users work from consistent versions while maintaining collaborative efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller storage element serves multiple functions simultaneously: it acts as a centralized registry for source code characteristics, a verification system for code integrity, and a coordination point for multiple users. This multi-functional approach enables collaborative work while maintaining code consistency through its characteristic storage and comparison capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3742242B1Distributing source code in an industrial control environment
Publication Date: 2023.10.04 CODESYS HLDG GMBH
  • EP3742242B1 patent drawingFigure 1
  • EP3742242B1 patent drawingFigure 2~4
  • EP3742242B1 patent drawingFigure 5

AI summary

An industrial controller unit is adapted to be coupled to a plurality of programming units via a network. The industrial controller unit comprises a controller storage element adapted to store a plurality of characteristics associated with a plurality of source code objects of the source code pertaining to an industrial control program, wherein each source code object has at least one characteristic and wherein the at least one characteristic comprises data pertaining to a location of the source code object and at least one of the plurality of programming units. The industrial controller unit further comprises a distribution element adapted to receive an inquiry for a source code object from a first programming unit among the plurality of programming units, to retrieve from the controller storage element data pertaining to a corresponding location of the source code object in a second programming unit among the plurality of programming units, the second programming unit being different from the first programming unit, and to cause the source code object to be transferred from the second programming unit to the first programming unit.