PLC Instruction Set Partitioning for Backward-Compatible Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing architecture of programmable logic controllers (PLCs) where the instruction set is closely coupled to the controller firmware leads to inefficiencies such as downtime during updates, unnecessary updates on all PLCs, lack of backward compatibility, and excessive data transmission due to the entire instruction set being updated, even for smaller updates.

Innovation Solution

Decoupling the instruction set architecture from the PLC firmware and partitioning the instruction set library allows for selective updates to only affected partitions, enabling updates between executable code scans and ensuring backward compatibility, thus reducing downtime and data transmission requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the entire instruction set library is updated on all PLCs, then instruction set consistency is improved, but data transmission volume increases excessively

Engineering Contradiction:
Improveinstruction set consistencyVSAvoiddata transmission volume
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The instruction set library is divided into multiple partitions, allowing selective updates of only the affected partitions rather than updating the entire library. This segmentation enables targeted data transmission, reducing the volume of data that needs to be transmitted while maintaining consistency in the updated portions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the instruction set is closely coupled to controller firmware, then system integration is improved, but update complexity increases

Engineering Contradiction:
Improvesystem integrationVSAvoidupdate complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system separates the instruction set library from the controller firmware by organizing instructions into independent partitions. This allows the instruction set to be updated without requiring firmware updates, reducing update complexity while maintaining system integration through the standardized partition interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction set partitions are extracted as independent updateable entities from the tightly coupled firmware-instruction architecture. This extraction allows the instruction set to be modified, added, or removed without affecting the core firmware, simplifying the update process.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If updates are performed during PLC operation, then productivity is improved, but system reliability may worsen

Engineering Contradiction:
ImproveuptimeVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The affected routines are identified before the update is applied, allowing the system to prepare for the change by determining which code paths will be impacted. This preliminary identification enables controlled updates that maintain system stability while allowing continuous operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the binding between routines and instruction set partitions during operation. The rebinding process occurs between scans, allowing the PLC to adapt its internal structure in real-time without stopping, maintaining both productivity and reliability through dynamic reconfiguration.

Inventive Principle:
Principle #15Dynamics

4Loss of information

If the entire instruction set is transmitted for updates, then completeness is improved, but transmission time increases

Engineering Contradiction:
Improveupdate completenessVSAvoidtransmission time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

By dividing the instruction set into partitions, only the specific partitions that contain affected instructions are transmitted for updates. This selective transmission maintains update completeness for the affected functionality while dramatically reducing the total transmission time compared to sending the entire instruction set.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11442740B2Supporting instruction set architecture components across releases
Publication Date: 2022.09.13 ROCKWELL AUTOMATION TECH INC
  • US11442740B2 patent drawing
  • US11442740B2 patent drawing
  • US11442740B2 patent drawing

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.