Containerized PLC Function Upgrades Without Actuator Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for upgrading automation functions controlling actuators via a PLC often require downtime, as they typically involve stopping the current function, deploying the new one, and then starting it, which can be inefficient and costly.
Innovation Solution
The solution involves using sidecar containers to provide additional functionality for the automation function, allowing for zero-downtime upgrades by running both the current and updated automation functions in parallel, with pre-activation and health tests ensuring seamless handover of control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the current automation function is stopped to deploy an updated version, then the upgrade can be completed, but the actuator operation is interrupted causing downtime
Solution Approach 1:
The system segments the automation function into multiple versions (current version and updated version) that run in parallel as separate containers. Each version processes PLC cycles independently, allowing the updated version to be deployed and tested without stopping the current version's operation of the actuator.
Solution Approach 2:
The updated automation function is deployed and pre-activated in advance while the current version continues operating. The system performs pre-activation tests on the updated version before fully switching control, allowing preliminary validation without interrupting actuator operation.
2Reliability
If pre-activation tests are performed on the updated automation function, then reliability of the upgrade is improved, but the complexity of the upgrade process increases
Solution Approach 1:
The system introduces an intermediary activation mechanism that allows the updated automation function to operate in a pre-activated state. This intermediary state enables testing and validation before full deployment, with the intermediary coordination layer managing the transition between versions without requiring complex manual intervention.
3Loss of time
If both current and updated automation functions run in parallel, then zero-downtime upgrade is achieved, but the system complexity increases
Solution Approach 1:
The system uses universal container technology to host multiple automation function versions. Each containerized version is self-contained and can be independently managed, deployed, and activated. This universal container approach simplifies the management of parallel versions compared to traditional deployment methods.
Solution Approach 2:
The system creates a copy of the current automation function in an updated version within a separate container. This copying approach allows the updated version to be fully functional and testable in parallel with the original, enabling zero-downtime upgrades while keeping each version's complexity manageable through isolation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention discloses an automated method for upgrading an automation function controlling an actuator via a PLC (programmable logic controller), comprising the steps: a) providing a first container (C1) and a first sidecar container (SC1), whereby the first container (C1) contains a first automation function (AF1), and the first sidecar container (SC1) contains a first test unit (TU1) and a first upgrade unit (UU1), whereby the first automation function (AF1) is configured to communicate with the first sidecar container (SC1), b) the first automation function (AF1) is controlling the actuator (RT) via the PLC, c) providing a second container (C2) and a second sidecar container (SC2), whereby the second container (C2) contains a second automation function (AF2), and the second sidecar container (SC2) contains a second test unit (TU2) and a second upgrade unit (UU2), whereby the second automation function (AF2) is configured to communicate with the second sidecar container (SC2), d) the second automation function (AF2) is receiving data from the actuator (RT) but is not controlling the actuator (RT), e) based on the received data pre-activation tests for the second automation function (AF2) are executed in the second sidecar container (SC2) by the second test unit (TU2), f) if the pre-activation tests are successfully finished, the time when the control of the actuator (RT) is handed over from the first automation function (AF1) to the second automation function (AF2) is determined through negotiation between the first upgrade unit (UU1) and the second upgrade unit (UU2), and g) the control of the actuator (RT) is handed over from the first automation function (AF1) to the second automation function (AF2) at the negotiated time. The invention further discloses a corresponding system with a computational device.