Cold Start Detection in Virtual Software PLCs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvehardware flexibilityVSAvoidtime behavior reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetime synchronizationVSAvoidcold start detection accuracy
Core Design Contradiction:
Measurement precisionVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the random number is added to safety time with each query, then cold start detection accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvecold start detection accuracyVSAvoidtime management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP4530764B1Method for operating a cycle-oriented control software
Publication Date: 2026.04.01 SIEMENS AG
  • EP4530764B1 patent drawingFigure 1
  • EP4530764B1 patent drawingFigure 2~3
  • EP4530764B1 patent drawingFigure 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).