Programmable Controller Core Allocation Without Recompilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional programmable controllers with multi-core CPUs face difficulties in dynamically and quickly changing the allocation of processing to processor cores, requiring modifications to application programs and recompilation, which limits flexibility in processing core allocation.
Innovation Solution
A programmable controller with an input unit, allocating unit, transmitting unit, power controlling unit, updating unit, and executing unit that allows for dynamic allocation of processing to multiple processor cores based on setup data, enabling flexible reconfiguration without modifying the application program, and allows the same application program to be used across different controllers with varying core configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the allocation of processing to each processor core is determined by a dedicated application program, then the processing allocation can be fixed and reliable, but it becomes difficult to dynamically and quickly change the allocation without modifying and recompiling the program
Solution Approach 1:
The patent separates the processing allocation mechanism from the application program by introducing a dedicated allocation unit that independently manages processor core assignment. This segmentation allows the application program to remain fixed while the allocation configuration can be dynamically adjusted through separate setup data, resolving the contradiction between reliability and adaptability.
Solution Approach 2:
The patent introduces an allocation unit as an intermediary component between the application program and the processor cores. This intermediary reads setup data to determine processing allocation, enabling dynamic reconfiguration without modifying the application program itself, thus maintaining both reliability and flexibility.
2Adaptability or versatility
If the application program is modified to change processing allocation, then the allocation can be adjusted to match new requirements, but the program must be recompiled which consumes time and reduces efficiency
Solution Approach 1:
The patent pre-processes allocation information into separate setup data files during the program development phase. This preliminary action stores allocation configurations independently, allowing runtime adjustments without requiring program modification or recompilation, thereby eliminating time loss while maintaining adaptability.
Solution Approach 2:
The patent extracts processing allocation information from the application program into separate setup data that the allocation unit reads independently. This extraction allows the allocation configuration to be modified and updated without touching the application program itself, avoiding recompilation time while preserving adaptability.
3Manufacturing precision
If different controllers have varying core configurations, then each controller can be optimized for its specific hardware, but the same application program cannot be used across different controllers
Solution Approach 1:
The patent uses parameter-based setup data that describes processor core configurations and processing allocations in a hardware-agnostic manner. By changing these parameters according to the specific controller's core configuration, the same application program can be adapted to run on different controllers while maintaining optimized processing allocation for each hardware variant.
Solution Approach 2:
The patent creates a universal application program that can run on multiple controller types with different core configurations. The allocation unit reads setup data specific to each controller's hardware configuration and adjusts processing allocation accordingly, enabling one program to serve multiple functions across different hardware platforms while maintaining optimization for each.
Data Source
AI summary
A programmable controller includes a plurality of processor cores, an input unit, an allocating unit, a transmitting unit, a power controlling unit, an updating unit, and an executing unit. The allocating unit allocates any one of the plurality of processing to each of the plurality of processor cores. The transmitting unit transmits an allocation result of the processing to a management device. The power controlling unit restarts when the allocation of the processing is changed in the management device and the input unit inputs the changed setup data. The updating unit updates the allocation to the plurality of processor cores based on the setup data after the restart. The executing unit executes the plurality of processing based on the allocation, and when the allocation is changed, executes the plurality of processing based on the changed allocation.


