PLC Control Application Scheduling for Real-Time Deadline Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2~3
Figure 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.