HMI UI Wrapper Generation for Cross-OS Factory Control Programs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies do not provide a method to make an external control compatible with a general-purpose OS available as UI elements configuring a program compatible with a non-general-purpose OS.

Innovation Solution

A support device that receives specifications of UI elements for an HMI program compatible with a first OS type, generates code compatible with a second OS type, and creates a wrapper program to generate an execution module compatible with either OS type, allowing the same HMI program to be executed on different OS types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If external control compatible with general-purpose OS is used as UI elements, then ease of operation and development efficiency are improved, but compatibility with non-general-purpose OS is lost

Engineering Contradiction:
Improveease of operationVSAvoidOS compatibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces a wrapper program as an intermediary layer between the external control (designed for general-purpose OS) and the target non-general-purpose OS. The wrapper translates and adapts the external control's interface and behavior to be compatible with the target OS, allowing developers to use familiar Windows-based controls while maintaining compatibility with embedded or non-Windows operating systems through the translation layer provided by the wrapper.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If separate development environments are prepared for each OS type, then OS compatibility is improved, but device complexity and development time are increased

Engineering Contradiction:
ImproveOS compatibilityVSAvoiddevelopment environment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal development environment that can handle multiple OS types through the use of wrapper programs. Instead of maintaining separate development environments for each OS, the system provides a single unified environment where external controls can be developed once and then adapted to multiple target OSes by generating appropriate wrappers, thereby achieving multi-OS support without multiplying the complexity of development environments.

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

3Adaptability or versatility

If separate development environments are prepared for each OS type, then OS compatibility is improved, but development time and resources are increased

Engineering Contradiction:
ImproveOS compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by automatically generating wrapper programs during the compilation or build process. The wrapper generation is triggered in advance based on the target OS type, allowing the adaptation work to be done automatically before deployment. This eliminates the need for manual reconfiguration or separate development cycles for each OS, significantly reducing development time while maintaining multi-OS compatibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3832457B1Support device and support program
Publication Date: 2025.04.16 OMRON CORP
  • EP3832457B1 patent drawingFigure 1
  • EP3832457B1 patent drawingFigure 2
  • EP3832457B1 patent drawingFigure 3

AI summary

The objective of the present invention is to diversify the types of OS compatible with constituent elements of a HMI program. A support device (200): receives a specification of UI elements of program code compatible with a first OS type, said UI elements constituting an HMI program (112) executed by control devices (100-1, 100-2) which are subject to factory automation (FA); generates program code of UI elements compatible with a second OS type from the specified UI elements; and generates a wrapper program, which includes the program code compatible with the second OS type and a command code issuing a command for generating an execution module that includes the relevant program code, when a condition in which the OS possessed by the subject device is not the first OS type is satisfied. A program in executable code is generated from the HMI program having the wrapper program incorporated therein.