Field Device Software Update with State Transfer for Minimal Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Field devices with sensors experience interruptions or downtimes during software updates, which is undesirable and can lead to failures in essential functions.
Innovation Solution
A method that involves transferring a compatible second program part into memory, stopping the first program part, transferring state variables to the second program part, and starting the second program part, allowing for reduced interruption times by minimizing the need for complete program replacement and avoiding downtime during the update process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire software is updated by replacing the first program part with the second program part, then the software is updated to correct errors and implement functional extensions, but the field device experiences interruptions or downtime during the update process
Solution Approach 1:
The software is divided into separate program parts (first program part and second program part) that can be independently managed and updated. The memory is segmented into first memory area and second memory area, allowing one program part to be updated while the other remains active, thus enabling updates without complete system interruption.
Solution Approach 2:
The second program part is transferred to the second memory area before the first program part is stopped. This preliminary preparation allows the update to be ready and immediately switchable, minimizing the interruption time when the actual program switching occurs.
2Adaptability or versatility
If the first program part is stopped completely for update, then the second program part can be transferred and activated, but all functions including essential functions are unavailable during the stop period
Solution Approach 1:
The program is segmented into replaceable parts where the first program part can be stopped and replaced with the second program part while the base program part and other program parts continue to run, maintaining function availability during the update of a specific module.
Solution Approach 2:
The base program part acts as an intermediary that remains active during the update process, maintaining essential functions while the first program part is replaced by the second program part, thus ensuring continuous operation of critical system functions.
3Stability of the object's composition
If state variables are transferred from the first program part to the second program part, then the update maintains system state continuity, but the transfer process requires additional time
Solution Approach 1:
The second program part is prepared in advance in the second memory area with the same state variable interfaces defined, so that when the first program part is stopped, the state variables can be quickly transferred without extensive reconfiguration, reducing the overall transfer time.
Solution Approach 2:
The state variables are transferred as a standardized set of parameters between compatible program parts. By maintaining the same state variable interfaces and using consistent data structures, the transfer process becomes a straightforward parameter copying operation rather than a complex transformation, minimizing transfer time.
Data Source
Figure 1~2
Figure 3~4
AI summary
The invention relates to a method for reducing the interruption time during the update of a first program part (P1) of a field device (10) to a second program part (P2). The field device (10) has a memory (40) configured to store at least the first program part (P1), the second program part (P2), and a basic program part (P0), wherein the second program part (P2) is compatible with the first program part (P1) so that the first program part (P1) can be replaced by the second program part (P2). The field device (10) further comprises a processor (20) and a communication unit (30).The procedure comprises the following steps: transferring the second part of the program (P2) into a second memory area (42) of the memory (40); halting the first part of the program (P1); transferring, by means of the processor (20), a set of state variables (Va, Vb) from the first part of the program (P1) to the second part of the program (P2); and starting the second part of the program (P2).