PLC Control Application Scheduling for Real-Time Deadline Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PLCs face challenges in scheduling control applications due to static priority assignment, leading to violations of real-time constraints and cycle overruns, especially in large projects with diverse timing demands, resulting in alarms and potential stoppages.

Innovation Solution

A dynamic scheduling method that clusters function blocks based on sampling times and next deadline values, using techniques like K-means clustering, to create organization blocks and schedule them dynamically, ensuring timely execution and reducing jitter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static priority assignment is used in conventional PLCs, then the scheduling is simple and predictable, but real-time constraints are violated and cycle overruns occur in large projects with diverse timing demands

Engineering Contradiction:
Improvereal-time constraint satisfactionVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic scheduling where the PLC operating system automatically adjusts the priority and execution timing of organization blocks based on real-time conditions. Instead of static priority assignment, the system continuously monitors cycle times, deadlines, and task completion status, then dynamically recalculates scheduling parameters to ensure real-time constraints are met while adapting to changing project requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters dynamically by adjusting priority levels, cycle times, and execution sequences based on actual runtime conditions. The PLC operating system modifies organization block priorities and timing parameters in response to detected constraints, allowing the system to adapt to diverse timing demands without requiring complex manual configuration.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If sequential execution of organization blocks is used, then the scheduling is straightforward, but execution time increases and deadlines are missed when many functions with different timing demands are crammed into a controller

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcycle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and pre-arranging the execution sequence of organization blocks based on their timing requirements and dependencies. The PLC operating system analyzes the timing demands of all functions beforehand and creates an optimized execution schedule that anticipates timing constraints, allowing the system to execute multiple functions with different timing demands efficiently without missing deadlines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic execution of organization blocks with different cycle times optimized for their specific timing demands. Instead of uniform sequential execution, the PLC operating system schedules organization blocks to execute periodically at intervals matched to their required timing, enabling parallel and interleaved execution that reduces overall cycle time while meeting diverse timing requirements.

Inventive Principle:
Principle #19Periodic action

3Ease of operation

If low priority tasks are assigned to cyclic organization blocks, then high priority tasks can preempt them, but low priority tasks are improperly scheduled and cannot meet their deadlines

Engineering Contradiction:
Improvescheduling flexibilityVSAvoiddeadline satisfaction
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the PLC operating system continuously monitors the execution status and timing of all organization blocks, including low priority ones. When a low priority task is approaching its deadline or is at risk of missing it, the system receives feedback about this condition and automatically adjusts scheduling decisions to ensure the deadline is met, rather than allowing rigid priority rules to cause deadline violations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system allows low priority organization blocks to serve themselves by automatically adjusting their execution timing and resource allocation based on their own timing requirements and current system state. The PLC operating system enables these blocks to request and receive necessary execution resources when needed, rather than being passively scheduled according to fixed priority rules, ensuring they can meet their deadlines independently.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3798753B1Method for scheduling one or more control applications on an industrial controller and a configuration tool therefor
Publication Date: 2023.03.01 SIEMENS AG
  • EP3798753B1 patent drawingFigure 1
  • EP3798753B1 patent drawingFigure 2~3
  • EP3798753B1 patent drawingFigure 4

AI summary

The present disclosure describes a method 300 for scheduling cyclic control applications on a controller. The method comprises defining 310 a plurality of function block clusters by clustering a plurality of function blocks of the cyclic control applications based on a sampling time of each function block, creating 320 a plurality of organisation blocks from the plurality of function block clusters, each organisation block comprising one or more function blocks from a function block cluster and an organisation block record including a sampling time value and next deadline time value associated with the corresponding organization block; and scheduling 330 the plurality of organization blocks for execution on the controller, based on at least one of a sampling time value and the next deadline time value, wherein a sampling time value of an organization block is based on one or more sampling times of one or more function blocks of the corresponding organisation block.