Virtual Clock Execution-Time Estimation for PLC User Programs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional control units in automation systems lack deterministic and predictable execution time estimation for user programs, making it difficult to select appropriate hardware and ensuring time limits are met, especially due to differences between simulation and real hardware environments.

Innovation Solution

A control unit with an integrated time determination unit, such as a virtual clock, that determines execution time by considering various scenarios and boundary conditions, allowing for efficient monitoring and estimation of maximum execution time, and enabling dynamic feedback to ensure error-free execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional auxiliary functions are used to monitor execution time in simulation and real controller, then execution time values can be recorded and displayed, but the values measured during execution on a real control unit are not directly transferable to other hardware variants and do not provide sufficient information for real automation system requirements

Engineering Contradiction:
Improveexecution time measurementVSAvoidhardware variant applicability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates a virtual copy of the control unit's processing environment through a virtual machine that replicates the instruction execution behavior. This virtual copy allows execution time measurements to be taken in a controlled simulation environment and then accurately transferred to predict real controller performance across different hardware variants, solving the problem of non-transferability of measured values.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual machine acts as an intermediary between the user program and the actual hardware. It provides a standardized measurement layer that abstracts away hardware-specific variations, allowing execution time data collected in simulation to serve as a reliable predictor for real controller performance across different hardware platforms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If engineering systems are used to create user programs and determine controller state, then programming and monitoring capabilities are provided, but functions for concrete estimation of maximum execution time and ensuring time limit compliance are lacking

Engineering Contradiction:
Improveprogram creation and monitoringVSAvoidtime limit compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary execution time analysis during the programming phase using the virtual machine. By calculating maximum execution times and evaluating time limit compliance before deployment to real hardware, the system allows engineers to identify and correct timing issues during development, ensuring reliability before actual operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The virtual machine provides feedback mechanisms that monitor execution time during simulated runs and compare against specified time limits. This feedback loop allows automatic detection of timing violations and enables iterative optimization of the user program to ensure compliance with real-time requirements.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the execution time is non-deterministic and varies with automation system situation, then the user program can adapt to different conditions, but it becomes neither constant nor predictable making time-critical task fulfillment difficult

Engineering Contradiction:
Improvesituation-dependent behaviorVSAvoidexecution time predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The virtual machine executes the user program with excessive resource allocation and favorable conditions to determine a maximum execution time upper bound. This partial execution under optimized conditions provides a predictable worst-case scenario that guarantees time-critical task fulfillment while allowing the program to maintain adaptability in actual operation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3475775B1Determining the execution time of a user program
Publication Date: 2024.03.27 SIEMENS AG
  • EP3475775B1 patent drawingFigure 1A~2B

AI summary

The invention relates to a control unit of an automation system for determining the execution time of a user program, comprising a first time-determining unit, wherein the first time-determining unit determines the execution time for the control unit and/or another control unit in a first operating mode, wherein at least one boundary condition is taken into account in the determination of the execution time, and wherein statistical data about the running time of commands of the user program of the control unit or of a linear representation of the real time of the control unit are taken into account in the determination of the execution time. The invention further relates to a corresponding method and to a computer program product.