Priority-Based Program Execution Control for IEC 61499 Events

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In industrial control systems, particularly those following the IEC 61499 standard, access conflicts arise when multiple program parts with different priorities compete for limited resources, leading to high-priority events being delayed by low-priority processes with long execution times.

Innovation Solution

A method that allows for priority-controlled interruption of running program parts to execute higher-priority events, where the operational control manages interruptions and continuations, ensuring that higher-priority events can interrupt lower-priority ones, and maintains separate event lists for each priority to process events based on defined rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple program parts execute in parallel on limited arithmetic units, then productivity increases, but access conflicts arise causing high-priority events to be delayed by low-priority processes

Engineering Contradiction:
Improveparallel execution capabilityVSAvoiddelay of high-priority events
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic priority-based interruption mechanisms that allow the system to adaptively switch between parallel execution and priority-based preemption. When a high-priority event occurs, the system dynamically interrupts lower-priority program parts currently executing on arithmetic units, ensuring timely response to critical events while maintaining overall parallel execution efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The operating control acts as an intermediary between multiple program parts and arithmetic units, managing resource allocation and execution priorities. It coordinates access to arithmetic units, resolves conflicts between concurrent program parts, and ensures that high-priority events receive appropriate processing resources by interrupting lower-priority executions when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If low-priority processes with long execution times run on arithmetic units, then they complete their necessary computations, but high-priority events are significantly delayed

Engineering Contradiction:
Improvecompletion of necessary computationsVSAvoidresponse time of high-priority events
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically adjusts execution priorities during runtime. Low-priority program parts are allowed to execute and complete their computations when no high-priority events are pending, but can be interrupted when high-priority events occur. This dynamic switching ensures both reliable completion of necessary computations and timely response to high-priority events.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the execution state parameter of program parts based on priority levels. When a high-priority event occurs, the system changes the execution parameter of running low-priority program parts from 'continue execution' to 'interrupt and suspend', allowing them to resume later. This parameter change mechanism resolves the conflict between computation completion and event response speed.

Inventive Principle:
Principle #35Parameter changes

3Speed

If the operating control manages priority-controlled interruptions, then high-priority events are executed promptly, but system complexity increases

Engineering Contradiction:
Improveexecution speed of high-priority eventsVSAvoidoperational control complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The operating control is segmented into distinct functional modules: event priority management module, execution monitoring module, interruption control module, and context switching module. Each module handles a specific aspect of priority-based interruption management, making the overall complex system more manageable and maintainable while achieving prompt execution of high-priority events.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4293437A1Method and device for controlling the execution of program parts, programming method, programming apparatus
Publication Date: 2023.12.20 SCHNEIDER ELECTRIC IND SAS
  • EP4293437A1 patent drawingFigure 1~2
  • EP4293437A1 patent drawingFigure 3a~3b
  • EP4293437A1 patent drawingFigure 4a

AI summary

A method for controlling the execution of program parts has the following steps: triggered by the occurrence of a first event (E1), execution of a first program part (P1) on a first arithmetic unit (RW1), wherein the first event (E1) and/or the first program part (P1) is assigned a first priority (Py1); and triggered by the occurrence of a second event (E2), interruption of the execution of the first program part (P1) and then execution of a second program part (P2) on the first arithmetic unit (RW1), wherein the second event (E2) and/or the second program part (P2) is assigned a second priority (Py2) that is higher than the first priority (Py1), wherein the first and/or the second program part (P1, P2) is a functional block as defined in IEC 61499 or a part thereof or a data transmission triggered thereby.