Programmable logic controller-based modular acceleration module for artificial intelligence
AssigneeSiemens Aktiengesellschaft
InventorHeiko Claussen
Life of this patent
Estimating the term…
Abstract
A controller system includes a CPU module, one or more technology modules, and a backplane bus. The CPU module comprises a processor executing a control program. The technology modules include an artificial intelligence (AI) accelerator processor configured to (a) receive input data values related to one or more machine learning models, and (b) apply the machine learning models to the input data values to generate one or more output data values. The backplane bus connects the CPU module and the technology modules. The technology modules transfer the output data values to the processor over the backplane bus and the processor uses output data values during execution of the control program.
Claims20
A controller system comprising:
- a CPU module comprising a processor executing a control program;
- one or more technology modules, each technology module comprising an artificial intelligence (AI) accelerator processor and one or more machine learning models uploaded on to the technology module, wherein each technology module is configured to
- (a) receive input data values related to one or more machine learning models, and
- (b) apply the one or more machine learning models to the input data values to generate one or more output data values;
- and
- a backplane bus connecting the CPU module and the one or more technology modules,
- wherein the one or more technology modules transfer the output data values to the processor over the backplane bus and the processor uses output data values during execution of the control program.
A method for executing a machine learning model within a controller system comprising a CPU module and a technology module, the method comprising:
- providing a technology module comprising an artificial intelligence (AI) accelerator processor and one or more machine learning models uploaded on to the technology module;
- generating, by the technology module, one or more input data values based on data produced by devices external to the controller system;
- applying, by an AI accelerator within the technology module, one or more machine learning models to the input data values to generate one or more output data values;
- writing, by the technology module, the output data values to a backplane connecting the CPU module and the technology module;
- and
- reading, by the CPU module, the output data values from the backplane;
- and executing, by the CPU module, an application program that utilizes the output data values.
A method for programming a control system, wherein the method comprising:
- displaying a graphical user interface (GUI), wherein the GUI includes a block-based editor for programming an automation program;
- inserting a visual representation of a machine learning model into a function block displayed in the GUI based on one or more user commands;
- identifying a type signature of the machine learning model defining inputs and outputs of the machine learning model;
- automatically defining one or more inputs and outputs of the function block based on the inputs and outputs of the machine learning model;
- connecting an input source to at least one of the inputs of the function block;
- connecting one or more outputs of the function block to an additional function block;
- and
- compiling the function block to generate code executable by the control system.
A controller system comprising:
- a CPU module comprising a processor executing a control program;
- one or more technology modules, each technology module comprising an artificial intelligence (AI) accelerator processor and one or more machine learning models uploaded on to the technology module, wherein each technology module is configured to
- (a) receive input data values related to one or more devices, and
- (b) apply one or more machine learning models to the input data values to generate one or more output data values;
- and
- an interface module exchanging data between the CPU module and the one or more technology modules;
- wherein the one or more technology modules transfer the output data values to the processor via the interface modules and the processor uses output data values during execution of the control program.
A controller system comprising:
- a CPU module comprising a processor executing a first control program;
- one or more technology modules comprising an artificial intelligence (AI) accelerator processor configured to:
- receive input data values related to one or more devices,
- apply one or more machine learning models to the input data values to generate one or more output data values,
- execute a second control program to generate one or more control instructions for the devices based on the output data values,
- transmit the control instructions to the devices via one or more input/output ports of the technology module at a first data rate, and
- transmit status messages to the CPU module via a backplane bus or an interface module at a second data rate that is slower than the first data rate.
Dependencies are inferred from the claim text.