Program Module Sequence Control for Multi-Language Real-Time Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current real-time operating systems in automation technology face challenges in processing data efficiently due to the use of time signal generators, which can reduce processing speed and fail to effectively manage the execution of programs from different programming languages in a unified and flexible manner.

Innovation Solution

A control device and method for sequence control of program modules that uses a description file to configure and trigger program modules, allowing execution by a real-time operating system, supporting multiple programming languages and enabling flexible prioritization and synchronization of tasks without the need for continuous address access, thus improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If time signal generators are used to control program execution, then task scheduling is simplified, but processing speed is reduced

Engineering Contradiction:
Improvetask schedulingVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent extracts the time signal generator functionality from the core processing path and implements it as a separate mechanism. The controller reads description files and triggers program modules directly without continuous time signal generation, removing the bottleneck while preserving scheduling capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary actions by pre-configuring program modules and their execution parameters in description files before runtime. This allows the controller to trigger programs directly based on pre-established specifications rather than relying on continuous time signal generation for scheduling decisions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If classic IEC 61131 programming languages are used, then real-time capability and consistency are maintained, but flexibility and maintainability are limited

Engineering Contradiction:
Improvereal-time capabilityVSAvoidflexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal description file format that can specify program modules written in different programming languages (IEC 61131, C++, C#, Java, Python, Matlab/Simulink). The controller interprets these description files uniformly, enabling one system to handle multiple language types while maintaining real-time scheduling capabilities.

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

Solution Approach 2:

The description file acts as an intermediary layer between the diverse programming languages and the real-time controller. It translates high-level program specifications into executable triggers that the controller can process in real-time, bridging the gap between language flexibility and execution reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If continuous address access is used for program triggering, then real-time control is precise, but processing efficiency is reduced

Engineering Contradiction:
Improvecontrol precisionVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary configuration by defining all program module triggers and parameters in description files before execution. The controller reads these specifications once and then triggers programs based on pre-established conditions rather than continuous address access, maintaining precision while improving efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3538960B1Sequence control of program modules
Publication Date: 2022.03.23 PHOENIX CONTACT GMBH & CO KG
  • EP3538960B1 patent drawingFigure 1
  • EP3538960B1 patent drawingFigure 2
  • EP3538960B1 patent drawingFigure 3

AI summary

The invention relates to a method for controlling a sequence of program modules 21, 31, 32, 41. The method has the steps of providing a controller 50 and providing a description file which has a configuration for controlling a program sequence. The method additionally has a step of providing multiple program modules 21, 31, 32, 41 which can be executed by a real-time operating system, said program modules 21, 31, 32, 41 being generated using one or different programming languages. The method further has a step of triggering selected program modules 21, 31, 32, 41 by executing specifications in the description file by means of the controller 50.