Programmable Logic Controller Parallel Program Instance Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmable logic controllers (PLCs) experience significant latency in reacting to changes in input values from peripheral components due to their sequential execution of control programs, leading to unforeseeable events and data races when parallel execution is attempted, resulting in delayed responses and potential inconsistencies.

Innovation Solution

The method involves executing multiple instances of a control program with a timing shift of less than one program cycle time, allowing each instance to process different input data records provided by the communication bus within a program cycle, thereby reducing latency and eliminating data race issues by ensuring independent operation of each program instance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple program instances are executed in parallel to reduce latency, then response speed improves, but data race conditions and system instability occur

Engineering Contradiction:
Improveresponse speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The control program is segmented into multiple independent instances that execute in parallel, with each instance processing specific input data records. This segmentation allows parallel execution to improve response speed while maintaining isolation between instances to prevent data races, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Input data records are pre-copied to input memory before program execution begins. This preliminary action allows multiple program instances to access independent copies of input data simultaneously without interfering with each other, enabling parallel execution while maintaining data consistency and system stability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If sequential program execution is used to maintain data consistency, then system stability is preserved, but latency increases

Engineering Contradiction:
Improvedata consistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the control program into multiple instances that process different input data records independently. This segmentation enables parallel execution to reduce latency while each instance maintains data consistency within its own execution context, preventing the data race conditions that would otherwise occur with parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Input data records are copied to input memory for each program instance, creating independent working copies. This copying mechanism allows multiple instances to execute in parallel without accessing shared data simultaneously, thereby reducing latency while preserving data consistency through isolated data access.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If program cycle time is extended to process all input data, then processing completeness improves, but response time to input changes deteriorates

Engineering Contradiction:
Improveprocessing completenessVSAvoidresponse time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The control program is divided into multiple instances, each responsible for processing specific input data records. This segmentation allows the system to maintain complete processing of all inputs across multiple instances while individual instances can complete their processing faster, improving overall response time without sacrificing processing completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each program instance processes a subset of input data records rather than all records, enabling faster individual execution. The collective action of multiple instances ensures all input data is processed completely, achieving both fast response time and processing completeness through distributed partial actions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10274922B2Programmable logic controller having low latency
Publication Date: 2019.04.30 SIEMENS AG
  • US10274922B2 patent drawing
  • US10274922B2 patent drawing
  • US10274922B2 patent drawing

AI summary

A method for operating a programmable logic control device to which a current input data set having state data regarding a peripheral component is provided cyclically by a communications bus after each bus cycle terminates. A first program instance of a control program is cyclically processed by a control device. The program cycle duration is longer than the bus cycle duration and, therefore, between the beginning and end of the program cycle, the communications bus provides at least one current data set that cannot be taken into account by the first program instance. To reduce the latency with which a control device reacts to a change in the input value of a peripheral component. at least one other program instance of the control program is cyclically processed so that it is temporally offset by less than one program cycle duration relative to the first program instance.