Cloud PLC Engineering Using Segmented Control Program Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for engineering industrial devices in a cloud computing environment are time-consuming and labor-intensive, particularly when updating or modifying programmable logic controller (PLC) programs, due to the need for extensive memory usage and complex hardware-software dependency, as well as challenges in sharing execution loads and establishing communication links between physical and simulated devices.

Innovation Solution

A method and system that segment control program blocks into self-executable, self-configurable, and self-deployable software units, allowing for separate deployment on virtual and physical instances of industrial devices, with dynamic generation of modified programs based on user requirements, and real-time communication between instances via a cloud computing platform.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire PLC program is downloaded on a single PLC, then the control program can be executed, but huge memory space is consumed

Engineering Contradiction:
Improvecontrol program executionVSAvoidmemory space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the PLC program into multiple independent function blocks that can be separately deployed on different hardware devices (PLCs, servers, cloud platforms). Each function block is encapsulated with its own interface definitions, allowing distributed execution across multiple nodes, thereby reducing the memory burden on any single PLC while maintaining reliable control program execution.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If PLC program modification and deployment is performed using traditional methods, then the control requirements can be updated, but time and labor are significantly increased

Engineering Contradiction:
Improvecontrol requirements updateVSAvoidengineering time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-compiling and storing multiple versions of function blocks in a library, along with their interface definitions and configuration parameters. When control requirements need updating, only the modified function blocks need to be selected and deployed, rather than re-engineering the entire program. This significantly reduces engineering time while maintaining adaptability to changing control requirements.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If direct communication link is established between physical hardware and simulated software, then integration can be achieved, but huge engineering efforts are involved

Engineering Contradiction:
Improvehardware-software integrationVSAvoidengineering complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer consisting of standardized interface definitions and communication protocols that mediate between physical PLC hardware and simulated software environments. Function blocks are designed with explicit interface contracts that define data exchange formats, allowing seamless integration between hardware and software without requiring complex custom communication logic, thereby reducing engineering complexity while achieving flexible hardware-software integration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4193225B1Method and system for providing engineering of an industrial device in a cloud computing environment
Publication Date: 2024.09.04 SIEMENS AG
  • EP4193225B1 patent drawingFigure 1
  • EP4193225B1 patent drawingFigure 2
  • EP4193225B1 patent drawingFigure 3

AI summary

A method and system for managing engineering of an industrial device in a cloud computing environment is disclosed. The method comprises receiving a request for performing an engineering action on at least one of the industrial devices (108A-N). The method comprises determining a control program block corresponding to the at least one of the industrial devices (108A-N) based on the received request. Further, the method comprises segmenting the determined control program block into one or more software units based on content of the control program block. Furthermore, the method comprises processing the one or more software units based on one or more user requirements and the requested engineering action. Also, the method comprises determining at least two instances of the industrial devices for deploying the one or more processed software units based on segment type of the processed one or more software units. Moreover, the method comprises deploying the respective one or more software units into each of the determined at least two instances of the industrial device.