Shared Variable Checking Across Multi-Language Control Programs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In robot control systems, data exchange between programs written in different languages, such as V+ and IEC61131-3, often results in implementation errors due to forgotten or incorrectly implemented shared variables, leading to functional issues.

Innovation Solution

A development support device and method that utilizes a shared variable reference to check for omissions and errors in shared variable names across multiple programming languages, providing an error message and debugging capabilities to ensure proper implementation before program execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data exchange is performed by defining shared variables with the same name in each program, then data sharing between different programming languages is enabled, but implementation errors occur when shared variable definition is forgotten or names are erroneous

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidprogram functionality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary checking of shared variable definitions before program execution. The determination unit checks whether shared variables are properly defined and named in both programs during the development phase, detecting errors before they affect program functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback about shared variable implementation status. The determination unit identifies and reports cases where shared variables are not properly defined or named incorrectly, allowing developers to correct issues before execution.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If programs in two languages are created on different screens by different persons, then language-specific programming flexibility is maintained, but shared variable implementation errors increase

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidshared variable implementation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The determination unit provides automated feedback about shared variable consistency between programs created by different developers on different screens. This feedback mechanism detects implementation errors without restricting the flexibility of separate programming environments.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The development support device acts as an intermediary that checks shared variable definitions between independently created programs. It mediates the interface between different programming languages and developers, ensuring consistency without interfering with individual programming flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If shared variables are used for data exchange between programs, then interprocess communication is achieved, but errors in shared variable definition cause program malfunction

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidprogram execution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary verification of shared variable definitions before program execution. The determination unit checks whether shared variables are properly defined in both programs during the development phase, preventing execution errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides error detection and warning mechanisms beforehand to cushion against potential execution failures. By identifying shared variable errors in advance, the system prevents program malfunctions that would otherwise occur during runtime.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP3540536B1Development support device, development support method, and development support program
Publication Date: 2023.08.23 OMRON CORP
  • EP3540536B1 patent drawingFigure 1~2
  • EP3540536B1 patent drawingFigure 3~4
  • EP3540536B1 patent drawingFigure 5

AI summary

To appropriately find an omission of implementation of a shared variable defined between different programs and an error of a shared variable name before a program is executed. A development support device (50) for developing a plurality of different programming languages that are executed in a control device (10) includes: a shared variable reference (TBL1) which is a pre-created shared variable reference and is referred to in source codes of the plurality of different programming languages, and used for a shared variable that shares a memory; an input unit (71) configured to input the source codes of the plurality of different programming languages; and a determination unit (73d) configured to determine whether the shared variable is referred to in the input source codes of the plurality of different programming languages based on the shared variable reference (TBL1).