Patent ID: 12216454

DETAILED DESCRIPTION

FIG.1shows a system10including an automation device DEV with an attached extension device MI within an industrial system100. The automation device DEV may be, for example, a PLC. The extension device MI and the automation device DEV may be mounted on a rail based mounting system (e.g., directly next to each other or at least on the same backplane communication). Plug-in solutions for the extension device MI to be plugged into the automation device DEV are possible but not shown. Industrial ruggedization is of advantage for the extension device MI. The industrial system100further includes a sensor S and an actor A that only exemplary stand for further components in the industrial system100. The industrial system100in most use cases will have a much higher complexity as shown. The sensor S and the actor A are connected to the automation device DEV via an industrial bus PN, which, for example, is an industrial bus system such as PROFINET, PROFIBUS, and the like and may be connected to further I/O modules, sensors, actors, HMI devices, . . . .

The automation device DEV and the extension device MI are connected via a communication link COM, which is indicated by the dashed lines expanding over both devices MI, DEV. The communication link COM enables sharing a process state model PM between the two devices DEV, MI. The communication link COM may be a backplane communication provided by backplane communication ASICs in each of the devices DEV, MI. Such ASICs are commonly known from industrial application.

The process state model PM shows states S1, . . . , Sn that may indicate any state of the industrial system. This includes but is not limited to: states S1, . . . , Sn of I/Os of the automation device DEV or the device DEV itself, states S1, . . . , Sn of devices of the industrial system100, states S1, . . . , Sn of goods produced in the industrial system100, states S1, . . . , Sn of quality assurance of goods, states S1, . . . , Sn of health statuses of equipment used in the industrial system, such as machines and tools. The states S1, . . . , Sn may be used by the automation device to control and/or monitor the industrial system100. The results R1, . . . , Rn may be obtained by computing one or more artificial neural networks.

In an example, the sensor S and the actor A may each provide states S1, . . . , Sn indicative of their own state (e.g., on, off, temperature, . . . ). The states S1, . . . , Sn may be provided to the automation device DEV and/or be polled or determined by the automation device DEV itself.

The extension device MI provides the possibility to obtain S2one or more results R1, . . . , Rn of one or more computations C1, . . . , Cn. The extension device MI further provides S3the one or more results R1, . . . , Rn via the process state model PM. In a further embodiment, the extension device MI may directly update certain states S1, . . . , Sn with the results R1, . . . , Rn. Optionally, a dashed line that indicates the act of obtaining S11states S1, . . . , Sn for performing the computations C1, . . . , Cn based on at least one of the states S1, . . . , Sn is shown.

The communication link COM may support access control mechanisms to control the access to the process state model PM to avoid data mismatch (e.g., a state S1having a different value within the process state model PM currently available in the automation device DEV compared to the process state model PM currently available in the extension device MI). One example for such an access control mechanism to a common resource is the use of semaphores.

In an example, the actor A may be a motor, and the sensor S may be a temperature sensor connected to the outside of the motor. The automation device DEV may then read in the sensor value as a temperature state and provide the read in sensor value to the extension device MI via the process state model PM. A trained neural network in the extension device MI may then provide a result R1, . . . , Rn indicative of a predicted state S1, . . . , Sn. In this example, those results may be a health status of the motor, a temperature at a different position in the motor, and/or a load indicator of the motor. The results R1, . . . , Rn may be computed by an artificial neural network or the like in the extension device MI.

FIG.2shows a system10similar to the system ofFIG.1while using the same reference signs when referencing to the same elements. The extension device MI is, as schematically indicated, directly connected to a data source DS via a peripheral interface PI. The act of obtaining S12data from the data source DS to perform computations C1, . . . , Cn based at least in part on data from the data source DS may be performed by the extension device MI. The peripheral interface PI is also connected to the computations C1, . . . , Cn, indicating that data of the data source DS may be fed (e.g., directly without preprocessing or indirectly while applying some form of preprocessing) into computations C1, . . . , Cn. A dashed line S11from the states S1, . . . , Sn provided via the process state model PM to the computations C1, . . . , Cn indicates that states S1, . . . , Sn may be directly or indirectly used in the computations C1, . . . , Cn. This was also shown inFIG.1. The states S1, . . . , Sn may also be used to trigger the execution of one or more computations C1, . . . , Cn or to switch between different computations C1, . . . , Cn (e.g., different pre-trained neural networks) available in the extension device MI.

One advantage of the present embodiments is that the embodiments ofFIG.1andFIG.2are combinable in any way. For example, sensors S and actors A connected via an industrial bus PN may be used for or in computations C1, . . . , Cn based on data from a high speed data source DS. This provides a level of flexibility often needed for industrial applications.

FIG.3shows a more detailed view of a system including an automation device DEV and an extension device MI. The automation device DEV includes a communication interface CI that connects to a communication interface CI of the extension device MI via a communication link COM. As known fromFIG.1andFIG.2, the communication link COM enables a process state model PM to be shared between the extension device MI and the automation device DEV.

The extension device MI includes a processor AICPU that includes further sub units and interfaces. A control unit CU connects to the communication interface CI and serves as a management unit, managing the connection to the automation device DEV and further providing data received via the process state model PM. The control unit CU may also provide an execution environment for executing applications. Applications executed on the extension device MI implement the functionality that the computations and the results provide. The applications may be executed on both, the control unit CU and the processing unit PU, where the actual computations C1, . . . , Cn are executed on the processing unit PU. It is of advantage when the management part of the application is executed on the control unit and the actual computation part is executed on the processing unit PU.

The processing unit PU provides the actual hardware implementation for performing the computations in energy efficient and time optimized manner. A memory MEM may include a volatile high speed memory such as a RAM (preferably DDR-RAM) and a non-volatile memory such as, for example, an SD card SD as shown. Other non-volatile memory types are possible. The high speed memory may be used for directly providing the data for the computations to the processing unit. The non-volatile or persistent data storage may have further uses. Such uses may be but are not limited to: storing samples from the data run through the processing unit PU, storing the application that dynamically controls a flow of data and results via the control unit CU for the data processing (e.g., the computations C1, . . . , Cn), storing the data for the application (e.g., the trained neural network), and providing a storage for the stored data/applications to be copied/modified to and from the memory directly or via communication functions such as backplane bus, USB, or Ethernet.

The processing unit PU (e.g., a data processing subsystem) runs the application actually performing the computations. The processing unit PU typically provides specialized hardware for efficiently performing AI and neural computations, such as vector processors with SIMD capabilities, or dedicated hardware to implement matrix operations or convolutions, and other programmable processing units. The control unit CU may control the processing unit PU by running a part of the user application that controls the computations.

The control unit CU may provide access to a peripheral interface PI. In this embodiment, the peripheral interface PI includes two USB ports and an Ethernet port ETH. The peripheral interface PI may be configured to connect to any kind of device that may provide data that may be used for the computations to provide results. For example, wireless communication to multiple data sources DS is possible and may be useful for retrofit solutions (e.g., for already existing industrial plants).

As indicated by solid black connections between the processing unit PU, the control unit CU, and the memory MEM, each of the units or sub units may access the other part directly or via the control unit CU. In some embodiments, only parts of the units PU, CU, MEM may be accessible by the others. The general concept is that the control unit CU manages functions while running an application and controls the operation of the processing unit PU with the computations C1, . . . , Cn to be provided for the application. The processing unit PU has access to the memory MEM (e.g., a fast memory, such as a DDR-RAM) to process the data that the control unit CU provides.

A camera CAM is connected to the peripheral interface PI. The data from the camera CAM is provided to the control unit CU via the peripheral interface PI. The camera may be connected via Ethernet (e.g., GigE Vision), USB 3.0, 3.1, or following standards.

The processor AICPU may be configured as a single system on a chip (SOC) providing all the above units. The processor AICPU may also be built as a processing board including some of the sub units grouped onto single hardware chips and others provided as standalone processing hardware.

In a detailed example, a typical computation C1, . . . , Cn may be as follows, the single acts being in order of regular execution with the possibility to exchange, repeat, or skip acts.

1.) The automation device DEV (e.g., a PLC) continuously updates the process state model PM, reads inputs from the extension device MI, and writes outputs to the extension device MI. All this may be done in one cycle of the automation device.

2.) A trigger event on the automation device DEV may be the start of the execution of an organization block (e.g., which may be freely running or precisely timed, such as via periodic interrupts/triggers). Organization blocks are sometimes referred to as continuous tasks or periodic tasks, respectively.

3.) The automation device DEV triggers a command in the extension device MI. This may be performed by setting a flag in the process state model PM.

4.) Optionally and/or additionally, data records may be sent in parallel from the automation device DEV to the extension device MI. A data record is a form of a direct data transmission commonly used in automation devices.

5.) When the trigger is processed in the extension device MI, the control unit CU is calling a function in an application to be processed by the extension device MI.

a. Optionally, a collection of additional data from external data sources DS such as a camera CAM may be performed by using the peripheral interface PI. The extension device MI may provide an indicator via the process state model PM that an image has been captured and is now available for further processing (e.g., by the processing unit PU). The indicator may be a state S1, . . . , Sn.

b. In a further act, the collected data is pre-processed in accordance to the data processing needs. This, for example, may be normalizing one or more images such that a constant level of contrast and/or brightness is achieved or a scaling of one or more images to a resolution suitable for further processing. Logic may be applied to data to eliminate data not needed or to select data for further pre-processing.

c. Afterwards, all data (e.g., states S1, . . . , Sn from automation device DEV, obtained via the process state model PM, values from data sources DS, actors A, and/or sensors S) is packed in a form like data processing application is expecting (e.g., a tensor/vectors to be processed by a neural network by the processing unit PU).

d. The next act is to execute one or more mathematical functions prescribed by the data processing part of the application by the processing unit PU.

e. In a post-processing act, one or more results of the one or more mathematical functions are aggregated and prepared to be returned to the automation device DEV.

f. After all functions have been applied, the one or more results R1, . . . , Rn are collected, and the control unit CU is notified.

6.) The control unit CU then provides the results of processing to the automation device DEV via the process state model PM.

7.) The one or more results are processed in the automation device DEV to monitor and/or control the industrial system. As the computation may take a number of cycles, the availability of a new result may be indicated by a status bit (e.g., a binary state) in the process state model PM.

FIG.4shows another embodiment of a system including an extension device MI connected with a connection module CM. The connection module CM provides connection to an industrial bus system PN via a bus-interface PNI. The industrial bus system PN provides connection to an automation device DEV. The connection module CM includes a communication interface CI connected to a communication interface CI of the extension device MI. The communication interfaces CI provide the communication link COM known from the previous embodiments. A process state model PM is extended from the automation device DEV to the extension device MI via the industrial bus system PN and the connection module CM. The connection module CM allows all embodiments fromFIGS.1,2and/or3to be applied to the embodiment shown inFIG.4. In a further embodiment, the connection module CM may be a part (e.g., a plug in module) of the extension device MI.

FIG.5shows a single automation device DEV with multiple extension devices MI. The process state model PM known from the previous embodiments expands over all devices DEV, MI. This may be of advantage when multiple neural networks for different purposes (e.g., one for a camera quality inspection and one for a general health status of the industrial system) have to be computed and/or more processing power is needed. Also, large neural networks may be distributed between the multiple extension devices MI. This shows the flexibility the communication via a process state model PM according to the current invention enables.

FIG.6shows a flow chart of an example for an embodiment of a method applicable to the extension device MI. The provided order may be followed or changed without leaving the scope of the present embodiments. Some acts S11, S12, S2, S3may be skipped or executed more than once.

A first act includes obtaining S11states S1, . . . , Sn for performing computations C1, . . . , Cn based on at least one of the states S1, . . . , Sn. A second act includes obtaining S12data from the data source DS to perform computations C1, . . . , Cn. The computations C1, . . . , Cn are at least part based on the data from the data source DS and may be performed by the extension device MI. The acts of obtaining S11and S12are optional and may be carried out multiple times.

A third act includes obtaining S2, by an extension device MI, one or more results R1, . . . , Rn of the one or more computations C1, . . . , Cn are obtained. The results R1, . . . , Rn indicate one or more states S1, . . . , Sn of the industrial system100.

A fourth act includes providing S3the one or more results R1, . . . , Rn via a process state model PM shared with an automation device DEV to monitor and/or control the industrial system100.

The present embodiments relate to an extension device MI for one or more automation devices DEV in an industrial system100. The present embodiments particularly relate to industrial data processing units PU capable of performing data processing based on one or more artificial neural networks. To enable and/or accelerate one or more computations C1, . . . , Cn in an industrial system100, thereby simplifying the integration of artificial intelligence into the industrial system100, and to simplify data exchange between an extension device MI capable of processing data using artificial intelligence and an automation device DEV, the present embodiments include obtaining S2one or more results R1, . . . , Rn of the one or more computations C1, . . . , Cn. The results R1, . . . , Rn indicate one or more states S1, . . . , Sn of the industrial system100. The one or more results R1, . . . , Rn are provided S3via a process state model PM shared with the automation device DEV to monitor and/or control the industrial system100.

The elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent. Such new combinations are to be understood as forming a part of the present specification.

While the present invention has been described above by reference to various embodiments, it should be understood that many changes and modifications can be made to the described embodiments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodiments are intended to be included in this description.