PLC Call Interface Mapping for Backward-Compatible Unit Programs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing support devices for PLCs face challenges in maintaining compatibility of callable unit programs due to changes in interface specifications, requiring users to create new POUs and complicating library management, especially when the number of arguments increases or decreases.

Innovation Solution

A support device with a call detector and code generator that scans user programs to detect call expressions, generates creation instruction codes for associative arrays, and converts call expressions into executable codes, ensuring compatibility by setting argument values or default values, even when the interface changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the interface of a unit program is changed to improve functionality, then the program can utilize new features, but compatibility with existing user programs is lost

Engineering Contradiction:
Improveinterface flexibilityVSAvoidcompatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (argument value setting means) that mediates between the caller program and the called unit program. This intermediary automatically sets argument values based on storage location information, allowing the interface to change while maintaining compatibility. The caller program uses the same call syntax, but the intermediary handles the adaptation to the new interface requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter passing mechanism by storing argument values in memory locations and retrieving them dynamically. Instead of fixed positional parameter passing, the system uses storage location information to automatically retrieve and set the correct argument values, allowing the unit program interface to evolve without breaking existing callers.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If new POUs are created to maintain compatibility when interfaces change, then compatibility is preserved, but library management becomes complicated

Engineering Contradiction:
ImprovecompatibilityVSAvoidlibrary management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service through automatic argument value setting. When a unit program is called, the argument value setting means automatically retrieves the correct argument values from storage locations based on the called program's interface definition. This eliminates the need for manual intervention to maintain compatibility across interface changes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The single POU can serve multiple interface versions through the universal argument value setting mechanism. The same POU definition can accommodate different interface requirements by dynamically setting argument values based on storage location information, making the POU universally compatible across different interface versions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If argument values are automatically set using storage location information, then compatibility is maintained without new registrations, but data structure management becomes more complex

Engineering Contradiction:
ImprovecompatibilityVSAvoiddata structure management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by pre-storing argument values in memory locations before the actual program execution. The argument value setting means retrieves these pre-stored values during program execution, eliminating the need for real-time computation or complex runtime data structure management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11221828B2Support device and support program
Publication Date: 2022.01.11 OMRON CORP
  • US11221828B2 patent drawing
  • US11221828B2 patent drawing
  • US11221828B2 patent drawing

AI summary

Compatibility of a callable unit program configuring a user program is provided. A code generator that generates a code having a format executable by a control device from the user program generates an instruction code creating a structure storing association information associating a name of an argument with a value set to the argument with respect to a call expression, and converts the call expression into an instruction code calling the unit program using an identifier of the structure. A value of association information is set to the argument when the association information corresponding to the name of the argument is stored in the structure with respect to each argument of the unit program, an instruction code setting a predetermined value to the argument is generated when the association information is not stored.