IP Library Granted Patent US 11,754,990
Granted Patent B2
US 11,754,990 · App. 17/084,414 · Granted Sep 12, 2023

Edge computing device with artificial intelligence model for emulating control logic of a programmable logic controller

Inventor: Jonathan Lovegrove (Yacolt, WA)
Assignee: MORPHIX, INC.
G05B19/05G06N3/08G05B2219/13111
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,754,990
App. No.
17/084,414
Granted
Sep 12, 2023
Kind
B2
Abstract

An edge computing device is provided that includes a plurality of input electrodes that are communicatively coupled to one or more communication channels of a programmable logic controller that implements control logic to control a controlled device. The edge computing device furthers include a processor configured to, at a training time, receive signals via the plurality of input electrodes, detect inputs to the one or more communication channels and outputs from the one or more communication channels of the programmable logic controller, generate a set of training data based on the detected inputs and outputs of the programmable logic controller, and train an artificial intelligence model using the generated set of training data. The processor is further configured to, at a run-time, emulate the control logic of the programmable logic controller using the trained artificial intelligence model.

Claims (102)

1. An edge computing device, comprising:

a plurality of input electrodes that are communicatively coupled to one or more communication channels of a programmable logic controller that implements control logic to control a controlled device, and

a processor configured to:

at a training time:

receive signals via the plurality of input electrodes;

detect inputs to the one or more communication channels and outputs from the one or more communication channels of the programmable logic controller;

generate a set of training data based on the detected inputs and outputs of the programmable logic controller, wherein the set of training data includes a plurality of training data pairs, and wherein each training data pair includes,

an input vector based at least on one or more of the detected inputs to the one or more communication channels of the programmable logic controller, and

an output vector based at least on one or more of the detected outputs from the one or more communication channels of the programmable logic controller; and

train an artificial intelligence model using the generated set of training data to emulate the control logic of the programmable logic controller and thereby generate a run-time output configured to actuate the controlled device responsive to a run-time input;

at a run-time, emulate the control logic of the programmable logic controller using the trained artificial intelligence model by:

receiving the run-time input;

inputting the run-time input into the trained artificial intelligence model to thereby generate a run-time output using the emulated control logic; and

using the run-time output to actuate the controlled device responsive to the run-time input while the programmable logic controller is decoupled from the controlled device.

2. The edge computing device of claim 1 , wherein the control logic is implemented as ladder logic.

3. The edge computing device of claim 1 , wherein the processor is further configured to:

at a pre-processing time:

identify a device type of the programmable logic controller; and

retrieve template data for the device type of the programmable logic controller, the template data including a classification profile for input types and output types associated with the device type of the programmable logic controller.

4. The edge computing device of claim 3 , wherein the processor is further configured to:

send the device type of the programmable logic controller to a remote computing device; and

receive an artificial intelligence model having a predetermining topology that is selected based on the device type of the programmable logic controller.

5. The edge computing device of claim 3 , wherein the processor is further configured to:

at a pre-processing time:

determine one or more electronic characteristics of each communication channels of the programmable logic controller; and

classify each communication channel of the programmable logic controller to an input type or an output type based on the determined one or more electronic characteristics of that communication channel and the classification profile of the retrieved template data for the device type of the programmable logic controller.

6. The edge computing device of claim 5 , wherein the processor is further configured to:

at the pre-processing time:

determine an operation range for each of the classified input types based at least on the classification profile for each classified input type;

at the run-time:

monitor the received inputs;

determine that at least one of the received has a value that is outside of the operation range for the classified input type associated with the received input; and

trigger an error process.

7. The edge computing device of claim 6 , wherein the error process includes:

sending the at least one of the received inputs to a remote computing device;

receiving feedback for the trained artificial intelligence model; and

retraining the trained artificial intelligence model using the received feedback.

8. The edge computing device of claim 5 , wherein to generate the set of training data, the processor is further configured to:

determine a composition of the input vector for the set of training data based on the classified input types of the detected inputs to the programmable logic controller; and

determine a composition of the output vector for the set of training data based on the classified output types of the detected outputs from the programmable logic controller.

9. The edge computing device of claim 6 , wherein the processor is further configured to normalize or scale values for each of the detected inputs based on respective classified input types, and normalize or scale values for each of the detected outputs based on respective classified output types.

10. The edge computing device of claim 1 , wherein the processor is further configured to:

analyze the trained artificial intelligence model to determine a set of input to output mappings and a confidence value for each input to output mapping; and

present, via a graphical user interface, the determined set of input to output mappings and a visualization of the confidence value for each input to output mapping.

11. The edge computing device of claim 10 , where the processor is further configured to:

receive operator feedback from a user for a target input to output mapping; and

retrain the trained artificial intelligence model based on the received operator feedback.

12. A method, comprising:

at a processor of an edge computing device:

at a training time:

receiving signals via a plurality of input electrodes that are communicatively coupled to one or more communication channels of a programmable logic controller that implements control logic to control a controlled device;

detecting inputs to the one or more communication channels and outputs from the one or more communication channels of the programmable logic controller;

generating a set of training data based on the detected inputs and outputs of the programmable logic controller, wherein the set of training data includes a plurality of training data pairs, and wherein each training data pair includes,

an input vector based at least on one or more of the detected inputs to the one or more communication channels of the programmable logic controller, and

an output vector based at least on one or more of the detected outputs from the one or more communication channels of the programmable logic controller; and

training an artificial intelligence model using the generated set of training data to emulate the control logic of the programmable logic controller and thereby generate a runtime output configured to actuate the controlled device responsive to a run-time input;

decoupling the programmable logic controller from the controlled device;

at a run-time, emulating the control logic of the programmable logic controller using the trained artificial intelligence model by:

receiving the run-time input;

inputting the run-time input into the trained artificial intelligence model to thereby generate a run-time output based on the input using the emulated control logic; and

using the run-time output to actuate the controlled device responsive to the run-time input while the programmable logic controller is decoupled from the controlled device.

13. The method of claim 12 , further comprising:

at a pre-processing time:

identifying a device type of the programmable logic controller; and

retrieving template data for the device type of the programmable logic controller, the template data including a classification profile for input types and output types associated with the device type of the programmable logic controller.

14. The method of claim 13 , further comprising:

sending the device type of the programmable logic controller to a remote computing device; and

receiving an artificial intelligence model having a predetermining topology that is selected based on the device type of the programmable logic controller.

15. The method of claim 13 , further comprising:

at the pre-processing time:

determining one or more electronic characteristics of each communication channel of the programmable logic controller; and

classifying each communication channel of the programmable logic controller to an input type or an output type based on the determined one or more electronic characteristics of each communication channel and the classification profile of the retrieved template data for the device type of the programmable logic controller.

16. The method device of claim 15 , further comprising:

at the pre-processing time:

determining an operation range for each of the classified input types based at least on the classification profile for each classified input type;

at the run-time:

monitoring the received inputs;

determining that at least one of the received inputs has a value that is outside of the operation range for the classified input type associated with the received input; and

triggering an error process.

17. The method of claim 16 , wherein the error process includes:

sending the at least one of the received inputs to a remote computing device;

receiving feedback for the trained artificial intelligence model; and

retraining the trained artificial intelligence model using the received feedback.

18. The method of claim 15 , wherein generating the set of training data further includes:

determining a composition of the input vector for the set of training data based on the classified input types of the detected inputs to the programmable logic controller; and

determining a composition of the output vector for the set of training data based on the classified output types of the detected outputs from the programmable logic controller.

19. The method of claim 18 , further comprising normalizing or scaling values for each of the detected inputs based on respective classified input types, and normalizing or scaling values for each of the detected outputs based on respective classified output types.

20. An edge computing device, comprising:

a wiring system that is coupled to one or more communication channels of a programmable logic controller that implements control logic to control a controlled device, and

a processor configured to:

at a training time:

simulate a set of inputs for the programmable logic controller;

send the set of inputs to the programmable logic controller via the wiring system;

detect outputs from the one or more communication channels of the programmable logic controller;

generate a set of training data based on the simulated set of inputs and the detected outputs from the programmable logic controller, wherein the set of training data includes a plurality of training data pairs, and wherein each training data pair includes,

an input vector based at least on one or more of the simulated inputs for the programmable logic controller,

an output vector based at least on one or more of the detected outputs from the one or more communication channels of the programmable logic controller; and

train an artificial intelligence model using the generated set of training data to emulate the control logic of the programmable logic controller and thereby generate a run-time output configured to actuate the controlled device responsive to a run-time input;

at a run-time, emulate the control logic of the programmable logic controller using the trained artificial intelligence model by:

receiving the run-time input;

inputting the run-time input into the trained artificial intelligence model to thereby generate a run-time output using the emulated control logic; and

using the run-time output to actuate the controlled device responsive to the run-time input while the programmable logic controller is decoupled from the controlled device.

Assignments (2)
CHANGE OF NAME Recorded Jun 28, 2022
From: RHIOT, INC.
To: MORPHIX, INC.
Reel/Frame 060651/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: LOVEGROVE, JONATHAN
To: RHIOT, INC.
Reel/Frame 054216/0895 →
Continuity (1)
Related Publication 20220137583A1 · May 5, 2022