Cold Start Detection in Virtual Software PLCs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing safety-related control systems, particularly those using virtual software PLCs, face challenges in ensuring a cold start with initial values after a power outage due to undefined behavior of external time sources during network off states, compromising system safety.
Innovation Solution
A method involving a random number generator that generates a random number during startup, which is stored and added to the safety time, allowing for the calculation of time differences with a tolerance check to ensure the system starts with initial values by detecting failures in the cold start mechanism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a virtual software PLC is used with external time sources, then hardware flexibility and adaptability are improved, but time behavior becomes undefined during network off states, compromising reliability
Solution Approach 1:
A random number is introduced as an intermediary element between the external safety time source and the cold start detection mechanism. This random number serves as a mediator that allows the system to detect whether a cold start has occurred without directly relying on the potentially undefined behavior of external time sources during network off states. The random number is stored in memory and compared against the current safety time to determine if a power outage occurred.
2Measurement precision
If the system queries external safety time during network off states, then time synchronization is maintained, but undefined behavior occurs leading to cold start detection failures
Solution Approach 1:
The system performs a preliminary action by storing a random number in memory before the network goes offline. This pre-stored random number serves as a reference value that can be later compared with the current safety time to determine whether a cold start has occurred. By having this preliminary value ready, the system can accurately detect cold starts even when external time sources exhibit undefined behavior during network off states.
3Reliability
If the random number is added to safety time with each query, then cold start detection accuracy is improved, but system complexity increases
Solution Approach 1:
The system implements a self-service mechanism where the control software automatically manages the random number storage and comparison process without requiring external intervention or complex time synchronization protocols. The control software itself handles the cold start detection by comparing the stored random number with the current safety time, making the system self-sufficient and reducing overall complexity despite the added functionality.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
To verify the execution of a cold start mechanism in a virtual controller, it is proposed to generate a random number (ZZ) during the startup of a runtime environment (FW). This random number (ZZ) is stored in a memory area (2) and added to the safety time (eZQ) with each subsequent query. At the beginning of a new cycle (Zn) in the control software (Soft-PLC), the deviation of the time differences (S-Diff, F-Diff) is calculated in a control block (F-CRT). In each cycle (Zn), the control block (F-CRT) accesses the memory area (2), and before calculating the time differences (S-Diff, F-Diff), the random number (ZZ) is removed from the safety time (eZQ) in the control block (F-CRT). If a new startup of the runtime environment (FW) has occurred, this is indicated by exceeding the tolerance. (TOL) diagnosable,because the second time difference (F-Diff) now has an offset (V) which results from the safety time (eZQ) with a new random number (ZZ) of the current cycle (Zn) and the safety time (eZQ) with the old random number (ZZ) of the predecessor cycle (Zh-1).