Multi-Core Ladder Program Scheduling for Faster PLC Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing production systems for creating ladder programs for industrial machines, such as programmable logic controllers (PLCs), face inefficiencies due to the long processing times when all operations are executed by a single processor core, leading to increased time and effort in programming and processing.
Innovation Solution
A production system that associates multiple rungs of a ladder program with specifiable scan groups and allocates these groups to multiple processor cores for parallel execution during each execution cycle, allowing for distributed processing and reduced processing time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all ladder program operations are executed by a single processor core, then the system structure is simple, but the processing time is long and productivity is low
Solution Approach 1:
The patent divides the ladder program into multiple scan groups and assigns each scan group to a separate processor core. This segmentation allows parallel execution of different program portions across multiple cores, significantly reducing overall processing time while maintaining manageable system complexity through structured division of work
2Loss of time
If ladder programs are distributed across multiple processor cores, then processing time is reduced, but the complexity of program management increases
Solution Approach 1:
The patent introduces a program creation device that performs preliminary analysis and automatic allocation of ladder programs to processor cores before execution. This preliminary action simplifies program management by automating the complex allocation process, allowing users to benefit from parallel processing without manually handling the complexity of distributing programs across multiple cores
Data Source
AI summary
Provided is a production system, comprising circuitry configured to: associate a plurality of rungs included in a ladder program with one of a plurality of scan groups each having an execution cycle that is specifiable; allocate each of the plurality of scan groups to one of a plurality of processor cores of a controller so that each of the plurality of scan groups is distributed; and execute one or more rungs associated with one or more scan groups allocated to each of the plurality of processor cores in parallel in each of the execution cycles.


