Safety Controller Program Segmentation for Live Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The programming of safety controllers for complex systems with numerous safety-related and non-safety-related processes is complex and time-consuming, requiring system restarts for changes, which can be disruptive and inefficient.
Innovation Solution
A method allowing the modification of the first program part independently of other parts, with separate compilation and transfer to a second memory while the original program code is executed, enabling changes without interrupting the control flow and allowing for isolated execution of the modified code part.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the original program code is modified and recompiled, then the safety-related control sequences can be updated, but the system must be restarted which causes interruptions and downtime
Solution Approach 1:
The patent divides the program code into separate modules: safety-related program parts and non-safety-related program parts. This segmentation allows independent modification and loading of safety-critical code without requiring system restart, as the safety module can be updated separately while the overall system continues to operate. The modular architecture enables the safety controller to load updated safety program parts into a second memory without interrupting the execution of the original program code.
2Adaptability or versatility
If the program code is modified to improve adaptability, then safety-related control sequences can be updated, but the complexity of the programming process increases
Solution Approach 1:
The patent segments the programming process into distinct phases: creating safety-related program parts separately from non-safety program parts, compiling them independently, and loading them into separate memory areas. This segmented approach simplifies the overall programming complexity by allowing developers to work on safety-critical code without needing to manage the entire program structure, reducing the cognitive load and potential for errors.
Solution Approach 2:
The patent implements preliminary compilation and validation of safety-related program parts before they are loaded into the safety controller. The program parts are pre-compiled and checked for correctness in the development environment, ensuring that only validated code is transferred to the controller. This preliminary action prevents programming errors from reaching the operational system, simplifying the deployment process and reducing on-site programming complexity.
3Manufacturing precision
If system restarts are performed for program changes, then code updates can be applied, but time is lost due to interruptions
Solution Approach 1:
The patent enables continuous operation of the safety controller by allowing program code updates to be loaded and executed without system restart. The controller maintains continuous monitoring and control functions while incorporating updated safety program parts into the second memory. This continuity eliminates downtime associated with traditional restart-based update methods, ensuring that safety-critical systems remain operational throughout the update process.
Solution Approach 2:
The patent introduces a second memory as an intermediary storage area for updated program code. Instead of directly replacing code in the primary execution memory (which would require system halt), the updated safety program parts are first loaded into the second memory, then seamlessly integrated or switched to during operation. This intermediary mechanism allows code updates to be applied without interrupting the controller's useful action, eliminating downtime while maintaining code implementation accuracy.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
To program a safety controller, a user program is first created using a program editor (36). The user program has a first program part and at least one further program part. The first program part defines safety-relevant logical dependencies between selected sensor signals and actuator signals. The first and the at least one further program part are compiled and bound to obtain an executable original program code. The original program code is transferred to a first memory (56) of the safety controller and executed using at least one processor (62a, 62b). According to one aspect of the invention, the first program part can be modified and compiled to obtain a modified first code part (61a).The modified first code section (61a) is transferred to a second memory (58) of the safety controller, while the original program code is executed using at least one processor (62a, 62b). Subsequently, the modified first code section is executed in addition to the original further code section (48) and in place of the original first code section (46a).