Industrial Machine Controller Cache Preloading for Subprogram Calls
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current industrial machine controllers face inefficiencies in loading and managing machining programs in cache memory, particularly due to frequent subprogram calls, which lead to increased processing time and resource utilization.
Innovation Solution
A controller with an analysis unit that determines CPU operation loads and pre-reads subprogram call commands, adding cache control commands to efficiently load subprograms into cache memory when loads are low, utilizing a cache control unit to manage cache memory operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If subprograms are frequently called in response to commands in a machining program, then the machining program can be executed with modular structure and reusability, but the processing time increases due to repeated loading from storage area
Solution Approach 1:
The patent applies preliminary action by pre-loading subprograms into cache memory before they are actually called during machining program execution. The cache control unit monitors program execution and anticipates subprogram calls, loading required subprograms into cache memory in advance during periods when the CPU is processing other tasks, thereby eliminating wait time during actual subprogram execution
Solution Approach 2:
The patent introduces cache memory as an intermediary between the storage area and the CPU. This intermediary layer stores frequently accessed subprograms, allowing the CPU to access them rapidly without repeatedly accessing the slower storage area, thus resolving the time loss while maintaining program modularity
2Speed
If cache memory is used to store operation programs, then access speed is improved, but cache memory management complexity increases due to loading and erasing operations
Solution Approach 1:
The cache control unit autonomously manages cache memory operations by automatically determining which subprograms to load based on program analysis, selecting optimal timing during low CPU load periods, and managing cache eviction policies without requiring complex external control mechanisms, thereby simplifying overall system architecture while maintaining high access speeds
Solution Approach 2:
The patent implements dynamic cache management where the cache control unit continuously adapts its loading decisions based on real-time analysis of program execution patterns, CPU load conditions, and cache memory status, optimizing performance without requiring static preconfiguration or complex manual management
3Productivity
If program loading and erasing processing is performed in cache memory, then memory utilization is improved, but processing time is consumed by these management operations
Solution Approach 1:
The cache control unit performs loading and erasing operations periodically during intervals when the CPU is executing other tasks or during low-utilization periods. By scheduling cache management operations periodically rather than continuously or on-demand, the system maintains high memory utilization while minimizing interference with critical machining program execution time
Data Source
AI summary
The controller that controls the industrial machine comprises a storage area that stores an operation program, a cache memory, a cache control unit, and an analysis unit, the analysis unit pre-reads a command subsequent to a command included in the operation program loaded in the cache memory, in a case where it is determined that an operation load on a CPU in a command included in the operation program is below a prescribed value, adds, to the command, a cache control command for loading of a subprogram into the cache memory in accordance with a predetermined condition, in a case where a subprogram call command is confirmed present, and makes a cache control request to the cache control unit, responsive to the added cache control command, and the cache control unit loads the subprogram in the cache memory, based on the cache control request.


