Virtual Clock Execution-Time Estimation for PLC User Programs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
Figure 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.