Industrial Controller Scheduling With Deadline-Based Function Block Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduling methods for cyclic control applications in industrial automation systems are inflexible and prone to violations of real-time constraints, leading to cycle overruns and alarms, especially in large projects with diverse timing demands.

Innovation Solution

A method that clusters function blocks based on sampling times and creates organization blocks with associated deadline values, allowing for dynamic scheduling that prioritizes execution based on the earliest deadline, using techniques like K-means clustering and logical function block creation to manage dependencies and interruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If sequential execution of organization blocks is used, then simplicity of scheduling is improved, but real-time constraint compliance deteriorates

Engineering Contradiction:
Improvescheduling complexityVSAvoidreal-time constraint compliance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements dynamic scheduling by continuously monitoring the dynamic buffer (which stores function blocks to be executed) and adjusting the execution sequence based on real-time conditions. The cyclic organization block executes function blocks from the dynamic buffer rather than following a fixed sequential order, allowing the system to adapt to changing real-time requirements and prevent cycle overruns.

Inventive Principle:
Principle #15Dynamics

2Speed

If priority-based preemptive scheduling is used, then high priority task execution is improved, but low priority task deadline compliance deteriorates

Engineering Contradiction:
Improvehigh priority task execution speedVSAvoidlow priority task deadline compliance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent employs feedback mechanisms by monitoring the execution status and timing of all function blocks through the dynamic buffer. The system continuously checks whether low priority tasks are at risk of missing their deadlines and adjusts the scheduling accordingly, ensuring that even low priority tasks meet their deadline requirements while still allowing high priority tasks to execute with appropriate speed.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If more function blocks are added to handle large projects, then functionality is improved, but scheduling flexibility deteriorates

Engineering Contradiction:
Improveproject scalabilityVSAvoidscheduling flexibility
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the large number of function blocks into organized clusters within the dynamic buffer, grouping them by their execution requirements and timing characteristics. This segmentation allows the system to handle large projects with many function blocks while maintaining scheduling flexibility, as the cyclic organization block can selectively execute functions from different segments based on real-time needs without being overwhelmed by the total number of functions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11378941B2Configuration tool and method for scheduling at least one control application on an industrial controller
Publication Date: 2022.07.05 SIEMENS AG
  • US11378941B2 patent drawing
  • US11378941B2 patent drawing
  • US11378941B2 patent drawing

AI summary

A method for scheduling cyclic control applications on a controller includes defining 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 a plurality of organization blocks from the plurality of function block clusters, each organization block comprising at least one function block from a function block cluster and an organization block record including a sampling time value and next deadline time value associated with the corresponding organization block, and scheduling the plurality of organization blocks for execution on the controller, based on either a sampling time value and/or the next deadline time value, where a sampling time value of an organization block is based at least one sampling time of at least one function block of the corresponding organization block.