PLC Program Partitioning for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programmable logic controllers in industrial automation systems face challenges in reducing response times due to their hard real-time constraints, limiting the effectiveness of parallel computing concepts like multithreading and cloud computing.

Innovation Solution

A system and method that partitions automation programs into individual unit blocks based on read-write access to global variables, allowing for scheduling on multiple processors to execute complementary blocks in parallel, thereby optimizing computational load and reducing response times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If general parallel computing concepts such as multithreading and cloud computing are used in programmable logic controllers, then processing time is reduced, but the hard real-time constraint cannot be satisfied because individual groups represent the smallest logical unit that can be independently executed

Engineering Contradiction:
Improveprocessing timeVSAvoidhard real-time constraint satisfaction
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent segments the automation program into finer-grained unit blocks that can be independently scheduled and executed. Each unit block represents a smaller computational unit than traditional individual groups, allowing more granular parallel execution while maintaining real-time determinism through explicit scheduling control.

Inventive Principle:
Principle #1Segmentation

2Productivity

If individual groups are formed as individual threads for parallel execution, then some parallelism is achieved, but further response time reduction is limited by the granularity of these groups

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the automation program into unit blocks with a granularity finer than traditional individual groups. This segmentation enables more unit blocks to be executed in parallel across multiple processors, thereby reducing overall response time while maintaining manageable complexity through the scheduling mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic scheduling mechanism that assigns unit blocks to processors based on current system state and dependencies. This dynamic allocation optimizes parallel execution efficiency and reduces response time by adaptively managing the finer-grained unit blocks across available processing resources.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9927787B2Method and system for managing distributed computing in automation systems
Publication Date: 2018.03.27 SIEMENS AG
  • US9927787B2 patent drawing
  • US9927787B2 patent drawing
  • US9927787B2 patent drawing

AI summary

Method and a system for managing distributing computing suitable for implementation in an automation system are provided, wherein in a first step, a set of program instructions is partitioned into a plurality of unit blocks, where each unit block comprises at least one program instruction and, in a second set, at least one complementary block corresponding to at least one unit block are identified from the remainder of the plurality of unit blocks, where the complementary blocks are identified based on a comparison between read-write access of global variables in the unit block and corresponding complementary blocks and, in another step, the plurality of unit blocks are executed on a set of multiple processors within the automation system such that at least one complementary block is executed in parallel with a corresponding unit block.