Control Program Variable Cleanup Using Runtime Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In control programs, unnecessary variables occupy memory regions, leading to inefficient memory usage and potential impacts on external control targets when deleted, as these variables are not easily identifiable for removal.

Innovation Solution

A development support device and method that extracts unused variables from the source code, acquires information on variables used by the control target, and determines which variables are safe to delete, ensuring that only unused variables not affecting external apparatuses are removed from the variable list.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If variables are deleted from the definition list to improve memory usage efficiency, then memory usage efficiency is improved, but the control target may be affected if necessary variables are deleted

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidcontrol target stability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system acquires execution state information from the control target to determine which variables are actually being used. This feedback mechanism allows the system to make informed decisions about variable deletion, ensuring that only truly unnecessary variables are removed while maintaining control target stability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of execution state information before deleting variables. By examining which variables are accessed during program execution, the system can proactively identify safe candidates for deletion while preventing removal of variables that the control target depends on.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If all unused variables are deleted from the definition list, then memory usage efficiency is improved, but variables that are actually needed by the control target may be incorrectly removed

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidvariable usage information accuracy
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The system uses execution state information as feedback to accurately determine variable usage. This feedback loop ensures that the identification of unnecessary variables is based on actual runtime behavior rather than static analysis alone, improving accuracy in distinguishing between truly unused variables and those needed by the control target.

Inventive Principle:
Principle #23Feedback

3Productivity

If variable deletion is performed without checking execution state, then development efficiency is improved, but the control target may be adversely affected

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcontrol target impact
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary checking of execution state information before executing variable deletion. This preliminary action ensures that deletion operations are based on accurate usage data, preventing harmful effects on the control target while maintaining efficient development workflow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates execution state feedback into the variable deletion decision-making process. This feedback mechanism ensures that deletion operations are safe and do not adversely affect the control target, while still enabling efficient development through automated analysis.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240143287A1Development support device, development support method, and non-transitory storage medium
Publication Date: 2024.05.02 OMRON CORP
  • US20240143287A1 patent drawing
  • US20240143287A1 patent drawing
  • US20240143287A1 patent drawing

AI summary

A development support device extracts a first variable that is unused in a source code of a control program for a control device that controls a control target from variables in a variable definition list that declares variables used in the source code, and acquires information for specifying a second variable used by the control target in an execution state of the control program. The development support device determines that a third variable that does not correspond to the second variable out of the first variable is delible from the variable definition list.