Numerical Controller Software Optimization via Function Frequency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Numerical controllers face issues with decreased processing speed due to pipeline stalls and cache mistakes caused by conditional branch instructions, and existing methods require extensive resources and are not suitable for controllers with limited resources, while also making it difficult to immediately use changed functions without network connectivity.

Innovation Solution

A control system that analyzes machining programs and their use history to calculate function use frequencies, optimizes source code, and generates optimized control software for efficient execution, reducing pipeline stalls and cache mistakes by rearranging conditional branch instructions and module placement based on usage patterns, allowing for offline operation with optimized software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new functions are added to the numerical controller to expand capabilities, then adaptability is improved, but processing speed deteriorates due to increased conditional branch instructions causing pipeline stalls and cache mistakes

Engineering Contradiction:
ImprovefunctionalityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent applies dynamics by making the control software configurable and optimizable after deployment. The system allows dynamic adjustment of software parameters and optimization based on actual usage patterns, transforming the static software into a dynamic system that can adapt to specific machining tasks while maintaining processing speed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by optimizing control software parameters based on actual machining programs. The system analyzes which functions are actually used and adjusts software parameters accordingly, reducing the impact of conditional branch instructions for unused functions and improving processing speed without sacrificing adaptability.

Inventive Principle:
Principle #35Parameter changes

2Speed

If control software is optimized based on user profile data by deleting unnecessary modules and fixing variables, then processing speed is improved and memory usage is reduced, but operational flexibility deteriorates when parameters or machining programs need to be changed

Engineering Contradiction:
Improveprocessing speedVSAvoidoperational flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent resolves this contradiction by making the optimization dynamic rather than static. The control software maintains the ability to be re-optimized when machining programs or parameters change, allowing the system to regain speed optimizations after adaptations. This dynamic re-optimization capability preserves both speed and flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies preliminary action by pre-optimizing the control software based on analysis of machining programs before execution. The system analyzes the program in advance, determines which functions will be used, and optimizes the software accordingly, preparing the optimal configuration before the actual machining operation begins.

Inventive Principle:
Principle #10Preliminary action

3Speed

If multiple interpreter sets are prepared in advance to maximize cache efficiency for different instruction groups, then processing speed is improved for specific program types, but device complexity increases and resources are consumed

Engineering Contradiction:
Improveinterpreter execution speedVSAvoidsoftware configuration complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing optimization analysis before software generation. The system analyzes machining programs in advance to determine which functions are used, then generates a single optimized interpreter set tailored to those specific functions, eliminating the need to prepare and manage multiple interpreter sets for different program types.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by creating an interpreter set that is specifically optimized for the local characteristics of the given machining program. Rather than preparing generic interpreter sets for broad program categories, the system tailors the interpreter to the specific functions and instruction patterns present in the actual machining program being executed.

Inventive Principle:
Principle #3Local quality

4Productivity

If control software is optimized offline based on machining program analysis, then processing speed is improved and resource usage is reduced, but the ability to immediately use new functions without network connectivity is lost

Engineering Contradiction:
Improvemachining program execution efficiencyVSAvoidimmediate function availability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent resolves this contradiction by making the optimization process dynamic and repeatable. The system allows users to analyze new machining programs and regenerate optimized control software locally without requiring network connectivity. This dynamic re-optimization capability ensures that productivity improvements are maintained while preserving the ability to immediately incorporate new functions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10088834B2Control system having function for optimizing control software of numerical controller in accordance with machining program
Publication Date: 2018.10.02 FANUC LTD
  • US10088834B2 patent drawing
  • US10088834B2 patent drawing
  • US10088834B2 patent drawing

AI summary

A control system calculates a use frequency of a function used by a control program based on the control program (and a use history of the control program), and generates an optimized source code by optimizing a source code of control software based on the calculated use frequency. Based on the generated optimized source code, optimized control software is generated and transferred to the execution environment of the control software.