Virtual Clock Execution-Time Estimation for Automation Control Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional control units in automation systems lack deterministic methods for estimating the execution time of application programs, making it difficult to select appropriate hardware and ensuring time limits are met, especially when transitioning between different hardware variants or situations.
Innovation Solution
A control unit with a first time determination unit that calculates execution time by considering boundary conditions and statistical data on instruction runtime, using a virtual clock that operates independently of a real clock, allowing for estimation of worst-case performance and compliance with time limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional auxiliary functions are used to monitor execution time, then minimum, maximum and average execution times can be captured and displayed, but the values measured during execution on real control unit cannot be directly applied to other hardware variants and do not provide sufficient information for real-time operation requirements
Solution Approach 1:
The patent creates a virtual model (virtual clock) that copies and simulates the behavior of the real control unit's timekeeping mechanism. This virtual model runs in parallel with the actual application program, allowing execution time to be measured and analyzed without being constrained by hardware-specific variations. The virtual clock replicates the instruction execution sequence and timing characteristics, enabling portable execution time analysis across different hardware variants.
2Productivity
If the control unit executes the application program in real-time operation mode, then time-critical automation tasks can be performed, but the execution time is not deterministic and cannot be precalculated
Solution Approach 1:
The patent performs preliminary analysis of the application program's execution time by running it in a virtual environment before actual real-time operation. The virtual clock measures execution time under controlled conditions, allowing the system to pre-determine whether the application will meet real-time requirements. This preliminary measurement enables validation of time-critical constraints before deployment to production hardware.
Solution Approach 2:
The virtual clock acts as an intermediary between the application program and the physical hardware timing mechanisms. It mediates the measurement process by capturing execution time data in a hardware-agnostic manner, then translating these measurements into meaningful predictions for real-time performance. This intermediary layer decouples the analysis process from hardware-specific timing variations.
3Loss of information
If engineering systems provide auxiliary functions for monitoring execution time, then execution time data can be captured, but no functions are provided for specifically estimating the maximum execution time or ensuring time limits are complied with
Solution Approach 1:
The patent implements a feedback mechanism where the virtual clock continuously monitors execution time and compares it against predefined time limits or requirements. When the measured execution time exceeds acceptable thresholds, the system provides feedback indicating non-compliance. This feedback loop enables automatic validation of real-time constraints and guides optimization efforts without requiring complex manual analysis.
Data Source
AI summary
Provided is a control unit of an automation system for determining the execution time of a user program, including 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. A corresponding method and to a computer program product is also provided.
