PLC Neural Co-Processor Integration for Real-Time Inference
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional controllers lack support for neural computing features, requiring cloud computing systems for processing tasks, which limits real-time on-board processing in industrial automation environments, and existing integration methods are cumbersome or impossible due to cycle time mismatches.
Innovation Solution
Integration of a neural co-processor with a programmable logic controller (PLC) to execute machine learning models directly on-board, using a co-processor connected via USB or similar, allowing seamless integration and real-time processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If cloud computing systems are used for neural computing tasks, then processing capabilities are improved, but real-time on-board processing is limited
Solution Approach 1:
The patent extracts the neural computing functionality from cloud-based systems and implements it as a dedicated neural co-processor unit that can be embedded within or connected to the PLC. This allows the neural network processing to occur locally on the controller rather than remotely in the cloud, enabling real-time inference while maintaining the processing power needed for complex machine learning models.
Solution Approach 2:
The patent introduces a neural co-processor as an intermediary component between the PLC and the neural network model. This co-processor serves as a specialized processing unit that handles neural computing tasks, acting as a bridge between the control system and the machine learning algorithms, thereby enabling efficient real-time processing without requiring full cloud connectivity.
2Power
If additional CPU power is added to the controller, then neural computing capabilities are improved, but integration with PLC cycle time becomes difficult
Solution Approach 1:
The patent segments the controller architecture into distinct functional units: the PLC handles traditional control logic and cycle-time-critical tasks, while the neural co-processor handles machine learning inference. This segmentation allows each component to operate independently at its optimal speed and cycle time, with communication between them through well-defined interfaces, thereby reducing integration complexity.
Solution Approach 2:
The patent creates a specialized copy of processing capability in the form of a neural co-processor that is specifically designed for neural network operations. Rather than trying to enhance the general-purpose PLC CPU with neural computing capabilities, a dedicated neural processing unit is introduced that can be integrated through standardized interfaces, simplifying the overall system architecture.
3Ease of operation
If simple neural models are executed in multi-core controllers, then ease of operation is improved, but processing power is limited
Solution Approach 1:
The patent changes the architectural parameters of the controller by introducing a dedicated neural co-processor with specialized hardware accelerators designed specifically for neural network operations. This allows the system to execute complex neural models with millions of parameters that would be computationally infeasible on general-purpose multi-core CPUs, while maintaining ease of operation through standardized integration interfaces.
Data Source
AI summary
A method for executing a machine learning model with a controller includes a processor within the controller writing input values to a process image within the controller. The term process image refers to a predefined address space within volatile memory of the controller. A co-processor connected to the controller reads the input values from the process image and applies a machine learning model to the input values to generate output values. The co-processor writes output values to the process image and the processor reads those output values from the process image. The process can then execute an application program that utilizes the one or more output values.


