PLC Instruction Library Decoupling for Hot Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiencies in updating programmable logic controller (PLC) instruction sets due to their close coupling with controller firmware result in downtime, requirement for universal updates across all PLCs, lack of backward compatibility, and excessive data transmission, especially for smaller updates.
Innovation Solution
Decoupling the instruction set library from the PLC firmware and partitioning it into subsets, allowing selective updates between scans of executable code, ensuring backward compatibility and reducing the need for complete library downloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the instruction set library is closely coupled with controller firmware, then the PLC can execute instructions reliably, but updates require stopping the PLC and cause downtime
Solution Approach 1:
The patent segments the instruction set library into separate, independently updateable modules that are distinct from the controller firmware. This allows the instruction set to be updated without updating the firmware, enabling hot updates without PLC downtime while maintaining reliable execution through structured module organization.
Solution Approach 2:
The patent implements dynamic loading and updating of instruction set modules during PLC operation. The system can load, update, and activate new instruction set modules without stopping the PLC, making the previously static firmware-instruction coupling dynamic and flexible.
2Adaptability or versatility
If the entire instruction set library is stored in the PLC, then all instructions are available for use, but any update requires transmitting the entire library increasing data transmission
Solution Approach 1:
The instruction set library is divided into separate functional modules that can be independently stored and transmitted. Only the specific modules that need updating are transmitted rather than the entire library, significantly reducing data transmission volume while maintaining full instruction availability through modular composition.
Solution Approach 2:
The patent extracts specific instruction set modules from the complete library for separate storage and updating. This allows the PLC to maintain access to the full instruction set while only transmitting and updating the necessary portions, eliminating the need to transmit the entire library for minor updates.
3Adaptability or versatility
If the instruction set library is updated, then new instructions are available, but the controller firmware also requires update due to close coupling
Solution Approach 1:
The patent separates the instruction set library from the controller firmware into independent updateable components. This segmentation allows instruction set updates to occur without firmware updates, reducing update complexity from a coupled system requiring synchronized updates to independent modular updates.
Solution Approach 2:
The instruction set functionality is extracted from the firmware and placed into separate, independently manageable modules. This extraction eliminates the requirement for firmware updates when instruction sets are updated, simplifying the update process and reducing device complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Various embodiments of the present technology generally relate to methods and systems for providing a flexible, updatable, and backward compatible programmable logic controller ("PLC") and instruction set library. The instruction set library in the PLC can be updated without downtime of the PLC or the machines controlled by the PLC. The instruction set library is decoupled from the PLC firmware and bound via an API so that instructions in the executable code are bound to the firmware such that updates to the instruction set library can happen between scans of the executable without requiring the firmware be updated. Further, the instruction set library may be partitioned to limit updates and the amount of the complete instruction set library that is stored on the PLC to only those used by the PLC.