Method for configuring an interface device and interface device
By realizing machine learning applications in interface devices, the problem of increasing communication path load of interface devices in industrial automation systems is solved, and the effect of reducing data volume and simplifying engineering design is achieved.
Patent Information
- Application Number
- CN202011084536.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-14
- Filing Date
- 2020-10-12
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-02-18
AI Technical Summary
In industrial automation systems, the increased communication path load of the interface device results in increased cycle time or delay, and existing solutions such as using more efficient fieldbus or transferring processing to the field device itself have high cost or engineering complexity issues.
Implement machine learning applications in interface devices by dividing applications based on machine learning or artificial intelligence models into multiple logical components and using a translator to generate multiple code blocks, connecting these code blocks to generate output, and deploying them in On the interface device, create a virtual port to transmit output.
The amount of process data transmitted from the field device to the control device is reduced, the load on the communication path is reduced, the engineering design process is simplified, and the dependence on complex artificial frameworks is avoided.
Smart Images

Figure CN112732323B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an interface device for use in industrial automation. Background Art
[0002] Interface devices such as interface modules, I / O modules, etc. are used in industrial automation systems to connect multiple field devices to control systems in industrial facilities. The interface device transmits process data from field devices (such as sensors) to control devices and transmits control data (such as target values, target commands) from control devices to field devices (such as actuators).
[0003] The present disclosure relates to deploying machine learning-based industrial applications on interface devices. With the advent of machine learning and artificial intelligence technologies, multiple industrial applications based on these technologies have been developed. In conventional automation systems, artificial intelligence (AI) applications are typically run in controllers, servers, and edge devices. Therefore, process data from field devices of the automation system must be transmitted to the controller and edge device via the interface device. This in turn increases the load on the communication path of the interface device, which typically results in increased cycle time or delay in the communication path.
[0004] In order to solve the additional load on the communication path of the interface device, one method is to solve the communication channel. For example, a more efficient field bus (such as Gigabit Ethernet hardware) can be used. In another example, a secondary sensor system with a completely new cable can be provided. However, both of these situations result in higher costs and may require downtime.
[0005] Another approach is to transfer the processing to the field device itself. In this case, the AI application will be executed directly on the field device itself. However, this approach only works if all data is available on the field device and the field device is complex enough. In addition, if all field devices are not from one provider, a different AI engineering framework must be used for each field device. This thus leads to additional complexity during engineering, because the AI engineering is not integrated in the engineering framework of the automation system. Therefore, a method and an interface device that solves the above problems are needed. Summary of the invention
[0006] The present disclosure describes a method and an interface device for solving the above problems. According to the method disclosed in the present disclosure, a machine learning application is implemented in an interface device. According to the present disclosure, an application based on a machine learning or artificial intelligence model is divided into multiple logical components connected in a pipeline, and then a translator is used to generate multiple code blocks based on the multiple logical components.
[0007] The code blocks are connected according to a pipeline to generate a first output from at least one signal from at least one field device. Finally, the connected code blocks are deployed on the interface device to generate the first output. Thus, by implementing the machine learning application in the interface device, the entire process data from the field device does not have to be transmitted to the controller. In addition, since most machine learning applications typically transform or aggregate data, the amount of data to be transmitted between the interface device and the control device is further reduced.
[0008] Thus, in a first aspect, the present disclosure describes a method for configuring an interface device connected to a control device and at least one field device. The method includes: receiving a first machine learning application including a plurality of logic components connected in a pipeline; generating a plurality of code blocks using a translator based on the plurality of logic components; connecting the plurality of code blocks according to the pipeline of the first machine learning application to generate a first output from at least one signal from at least one field device; and deploying the connected code blocks on the firmware of the interface device. Deploying the connected code blocks includes creating at least one virtual port that can be connected to the control device. The at least one virtual port is used to transmit the first output to the control device. The first machine learning application is used to analyze at least one signal from at least one field device using a first machine learning model. In addition, each code block is associated with a specific logic component from the plurality of logic components.
[0009] In an example, creating at least one virtual port includes identifying a first physical output port among a plurality of physical input and output ports, wherein the first physical output port can be used to transmit a signal to a control device. By implementing a mapping between the virtual port and the physical port, the first output can be transmitted via the physical port. In addition, because the first output is connected to the virtual port, the virtual port can be mapped to a different physical port in the event that the original physical port is not available.
[0010] In addition, in an example, the method also includes generating a capability file associated with the interface device, the capability file including a definition of at least one virtual port, and transmitting the generated capability file associated with the interface device to an engineering tool for linking the at least one virtual port with the control device. Through these steps, the engineering design of a control system including an interface device can be implemented using a machine learning model. The machine learning model functions implemented in the interface device are abstracted, and only the output of the functions (implemented by the connected code blocks) are defined in the capability file and used in the engineering. Thus, since the machine learning application implemented in the interface device is abstracted and treated as a signal from the interface device, the need for complex artificial frameworks in engineering design is eliminated.
[0011] In another example, the method further comprises creating at least one virtual input port associated with a data source of the interface module, wherein the at least one virtual input port is used to provide input to at least one of the connected code blocks. By doing so, internal data available only in the interface device can also be used by the connected code blocks to analyze signals from at least one field device.
[0012] In an example, the step of generating a plurality of code blocks includes determining one or more predefined libraries associated with each of the plurality of logic components. Each predefined library includes one or more library routines for implementing the corresponding logic component, and thus provides a standardized way to implement AI functions without requiring considerable technical knowledge.
[0013] In another example, the step of generating a plurality of code blocks further comprises determining a plurality of values of a plurality of parameters associated with the first machine learning model based on a first optimization technique. This allows the machine learning model to be easily configured without requiring considerable technical expertise regarding machine learning techniques. In another example, the first machine learning model is trained using historical data of signals from at least one field device for determining one or more model parameters of the first machine learning model. Thus, the machine learning model is adjusted for at least one field device and thus provides improved performance. Furthermore, in the example, the determination of the values of the parameters associated with the first learning model is based on historical data from at least one field device. Thus, this allows the model to be customized according to the specific field device and the industrial application and conditions in which the field device is deployed.
[0014] In a second aspect, the present disclosure describes an interface device connected to at least one field device and a control device. The interface device includes: one or more input and output ports for receiving and transmitting signals between the control device and the at least one field device; and a firmware module including a plurality of connected code blocks for receiving at least one signal from the at least one field device and generating to generate a first output. The one or more input and output ports include at least one virtual output port for transmitting the first output to the control device. A plurality of connected code blocks are generated using a translator based on a plurality of logic components of a first machine learning application for analyzing at least one signal from the at least one field device using a first machine learning model. Each code block is associated with a specific logic component of the plurality of logic components.
[0015] In a third aspect, the present disclosure describes a non-transitory storage medium for configuring an interface device connected to a control device and at least one field device, the non-transitory storage medium having machine-readable instructions stored therein, which, when executed by a processing unit, causes the processing unit to receive a first machine learning application including a plurality of logic components connected in a pipeline; generate a plurality of code blocks using a translator, connect the plurality of code blocks according to the pipeline of the first machine learning application to generate a first output from at least one signal from at least one field device; and deploy the connected code blocks on the firmware of the interface device including creating a virtual port connectable to the control device, the virtual port being used to transmit the first output to the control device. Reference Figures 1 to 5 Explain these aspects further. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The following detailed description is made with reference to the accompanying drawings, in which:
[0017] Figure 1 An exemplary industrial system having a plurality of industrial devices is shown;
[0018] Figure 2 An exemplary method for configuring an interface device is shown;
[0019] Figure 3 An exemplary interface device configured in accordance with the present disclosure is shown;
[0020] Figure 4 An exemplary industrial application including multiple logic components in a pipeline is shown; and
[0021] Figure 5 Another exemplary industrial application including multiple logic components in a pipeline is shown. DETAILED DESCRIPTION
[0022] Figure 1 An industrial automation system 100 is shown in an industrial facility. An industrial facility herein refers to any environment in which one or more industrial processes such as manufacturing, refining, smelting, equipment assembly, etc. may occur. Examples of industrial facilities include process plants, oil refineries, automobile factories, etc. The industrial automation system 100 includes a plurality of control devices, such as process controllers, programmable logic controllers (shown in the figure as controller or control device 140), supervisory controllers, operator devices, etc.
[0023] The controller (shown as control device 140) is connected to a plurality of field devices, such as actuators and sensor devices (for example, shown as flow meter 155 and pressure transmitter 150 in the figure) via a plurality of peripheral or interface devices (shown as interface module 130 and I / O module 135 in the figure) for monitoring and controlling industrial processes in industrial facilities. These field devices may include flow meters, value actuators, temperature sensors, pressure sensors, etc. The field devices are connected to I / O modules (shown as I / O modules 135 in the figure). The I / O modules transmit process values to interface module 130. Interface module 130 is connected to controller 140 and transmits process values to controller 140. Through interface module 130, controller 140 receives process values from sensors (150 and 155) connected to I / O module 135. Based on these process value processing, controller 140 generates control commands for actuators connected to I / O module 135 and interface module 130 for controlling and regulating industrial processes in industrial facilities.
[0024] As described above, the interface module 130 and the I / O module 135 are collectively referred to as interface devices. The interface device mentioned herein refers to one or more devices between a field device and a device on and above a control network. The interface device establishes a connection between a field device and other devices in the industrial automation system 100. Examples of interface devices include interface modules, I / O modules (analog and digital), gateway devices, remote terminal units (RTUs), and the like.
[0025] According to the present disclosure, one or more industrial applications based on machine learning models are deployed on an interface device. The industrial application analyzes signals from a field device connected to the interface device. The industrial application includes one or more machine learning models for analyzing signals (also referred to as process data or data) from the field device. The output from the industrial application on the interface device is then transmitted to the control device. The control device uses the output from the industrial application to control or adjust the process in the industrial facility via an actuator, issue an alarm in the event of an abnormality in the process or device, etc. Examples of industrial applications include ball bearing monitoring applications based on neural networks, motor monitoring applications based on Z-score statistical models, etc.
[0026] In addition, the industrial automation system 100 includes a configuration tool 110 for configuring the interface module 130 and deploying industrial applications on the interface module 130. The configuration tool 110 is connected to the interface module 130 and to a repository (in FIG. 1 ) including one or more industrial applications based on a machine learning model (shown as a machine learning model 120 in the figure). Figure 11 ). The configuration tool 110 deploys one or more industrial applications on the interface module 130. The configuration tool 110 is configured to generate code blocks from one or more machine learning industrial applications and deploy the code blocks associated with the applications on the interface 130. Further, the configuration tool 110 creates one or more virtual ports on the interface module 130 for meaningfully transmitting outputs from the code blocks deployed on the interface module 130.
[0027] In addition, the configuration tool 110 updates the capability file associated with the interface module 130 to reflect the created virtual port. The configuration tool 110 then transmits the updated capability file to the engineering tool for use in engineering the control loop including the virtual port of the interface device. Figure 2 These aspects are further explained in the description of Although the present disclosure is explained using the interface module 130, the methods disclosed herein are equally applicable to the I / O module 135 and various other interface devices.
[0028] Figure 2 A method 200 for configuring an interface device (130 or 135) connected to a control device 140 and at least one field device (150 or 155) using a configuration tool 110 is shown. In step 210, the configuration tool 110 receives a first machine learning application including a plurality of logic components connected in a pipeline. A pipeline herein refers to a sequential connection between logic components, wherein each preceding logic component acts as a producer that produces an output, and a subsequent logic component acts as a consumer that consumes the output from the preceding logic component. The pipeline may include serial and parallel paths. The first machine learning application is for analyzing at least one signal from at least one field device using a first machine learning model 120. The logic components are connected in a pipeline and act as a chain of producer and consumer routines. Each logic component is associated with a processing operation to be performed on a signal from at least one field device (150 or 155) or an output from another logic component. The plurality of components include a component associated with the first machine learning model 120, and one or more components for preprocessing at least one signal from at least one field device (150 or 155) according to the first machine learning model 120.
[0029] In an example, a first machine learning application is a ball bearing monitoring application based on a neural network. The ball bearing monitoring application includes four logical components. The first logical component is an input normalization component. The input of the input normalization component is a signal from a vibration sensor attached to a ball bearing. The input normalization component uses a linear normalization technique to normalize the vibration signal from the vibration sensor. The normalized signal is then provided to a windowing component. The windowing component receives the normalized signal from the input normalization component and creates multiple windows or segments of the normalized vibration signal. The segments of the normalized vibration signal are then provided to a fast Fourier transform component. The fast Fourier transform component applies a fast Fourier transform to the segments of the normalized vibration signal and transforms the signal from the time domain to the frequency domain. The transformed signal segments are then provided to a double-layer neural network component. The double-layer neural network is trained to classify the transformed signal for detecting the condition of the ball bearing. In an example, the double-layer neural network is trained based on historical vibration data from multiple ball bearings under different conditions. Based on this training, the neural network is able to determine the current health of the ball bearing by classifying the vibration signal from the vibration sensor.
[0030] In an instance, a first machine learning application includes an application template or a model exchange format that includes component information about each of a plurality of logical components. The component information includes one or more parameters for configuring the logical component and a reference to a library routine for implementing the logical component. In an instance, the first machine learning application is predefined using an IEC 61131-3 language (such as a function block diagram, structured text, ladder diagram, sequential function chart, etc.). In another instance, the first machine learning application is defined using a predictive model markup language (PMML). In yet another instance, the first machine learning application is defined using an open neural network exchange (ONNX) format. In an instance, the first machine learning application is stored on a cloud repository and selected by an operator or engineering staff during engineering of the industrial system 100 or its operation.
[0031] In step 220, the configuration tool 110 generates a plurality of code blocks based on the plurality of logic components of the first machine learning application using a translator (e.g., a compiler or an interpreter) of the configuration tool 110. Each code block is associated with a specific logic component in the plurality of logic components. Each code block is composed of a program code (e.g., a low-level language code, such as a very high-speed integrated circuit hardware description language (VHDL), an assembly language code, a binary code, or a machine executable code) and can be executed on an interface device (interface module 130 or I / O module 135) to implement a processing operation associated with the corresponding logic component.
[0032] In an example, the configuration tool 110 is connected to a repository 160 that contains a plurality of libraries associated with one or more interface devices in the industrial automation system 100. Each library includes one or more library routines that can be executed by the associated interface device after being compiled by a translator to implement a specific processing operation. For example, a first library may include one or more library routines that can be executed by a specific type of interface device from a specific manufacturer for performing a fast Fourier transform.
[0033] While generating the plurality of code blocks, the translator of the configuration tool 110 determines one or more predefined libraries associated with one or more logic components of the plurality of logic components. Each predefined library includes one or more library routines for implementing the corresponding logic component. The translator of the configuration tool 110 utilizes the one or more predefined libraries when generating code blocks by linking the library routines from the predefined libraries.
[0034] In an embodiment, the translator generates one or more code blocks based on a plurality of configuration parameters (also referred to as parameters) associated with the corresponding logic components. The configuration parameters determine the configuration of the code blocks generated from the associated logic blocks. In an example, the values of the configuration parameters are included in the logic components. In another example, the values of the configuration parameters are determined based on training and validation data from at least one field device. The training and validation data include historical signal data from at least one field device.
[0035] In an example, the configuration parameters of the logic components associated with the first machine learning model include learning rate, batch size, number of epochs, etc. For example, the configuration parameters associated with the neural network component include weights of network nodes, the number of hidden nodes in an intermediate layer, the number of intermediate layers, etc.
[0036] Similarly, in another example, a configuration parameter associated with a normalization component determines the type of normalization to be applied to the input data. For example, the configuration parameters of the normalization component are used to determine whether z-score normalization or min-max normalization is applied to the signal or data from the field device. In an example, the configuration parameters of the normalization component are determined based on the statistical distribution of the training data (i.e., historical data of the field device). This allows the machine learning model to be customized according to at least one field device without requiring considerable human intervention.
[0037] In an embodiment, the configuration parameters of the logic components associated with the first machine learning model 120 include one or more model parameters and one or more model hyperparameters. The one or more model parameters are determined based on the training data of the field device. In an example, one or more model parameters of the neural network component are determined from the training data, such as the weights of the nodes in the neural network. Similarly, one or more model hyperparameters of the neural network component (e.g., the number of hidden nodes in the intermediate layer, the number of intermediate layers, etc.) are determined using hyperparameter adjustment techniques such as grid search, Bayesian optimization, evolutionary optimization, etc.
[0038] In an example, the configuration tool 110 determines the number of nodes in the hidden layer and the dropout value of the neural network logic. The dropout rate determines the percentage of nodes that are zeroed during training per training sample / iteration. Using random search, the hyperparameters are sampled from a predefined distribution. This can be a binomial distribution for hidden nodes and a beta distribution for the dropout rate. Thus, the random parameter set can be
[0039] (hidden nodes, dropout rate) = {(25, 0.29), (22, 0.2), (24, 0.23), (14, 0.26), (18, 0.23), (24, 0.24), (17, 0.26), (13, 0.18), (23, 0.27)}
[0040] For the binomial distribution, we sampled at parameters (size=50, p=0.4) and for the beta distribution, we sampled at (20, 60). From the current Gaussian process, we can derive an extraction function. For example, the extraction function can propose the point with the largest expected improvement or that maximizes knowledge.
[0041] In step 230, the configuration tool 110 connects the generated code block to the pipeline of the first machine learning application accordingly to generate the first output. Thus, according to the pipeline of the first machine learning application, the output of the first code block is connected to the second code block as input. Thus, the output and input of the code block are linked according to the pipeline of the first machine learning application. Finally, the output of the connected code block is generated, referred to as the first output.
[0042] In step 240, the connected code block is deployed on a firmware module on the interface device. The connected code block is installed on the interface device. Then, at least one virtual port is created for connecting and providing the first output to the control device. The at least one virtual port transmits the first output to the control device. To create at least one virtual port in the interface device, the configuration tool 110 identifies a first physical output port from a plurality of physical input and output ports of the interface device, wherein the first physical output port can be used to transmit the signal to the control device. The firmware module herein refers to an execution environment in which the code block can be executed, and is therefore collectively referred to as a processor and a memory unit. In combination Figure 3 This is further explained.
[0043] Figure 3 An interface device (e.g., interface module 300) having a connection code block deployed on interface module 300 is shown. Interface module 300 includes one or more I / O interfaces (shown as I / O interfaces 310 and 350), and each I / O module includes multiple ports. Multiple ports include input ports (shown as ports 312, 314, and 316), output ports (shown as ports 372, 374, 376, and 378), and virtual ports (shown as virtual ports 318, 355, and 360).
[0044] Input port 312 is connected to field device 1 (e.g., a vibration sensor mounted on a ball bearing) for receiving a vibration signal associated with the ball bearing. Input port 314 is connected to field device 2 for receiving current data of the motor (e.g., a current sensor on the motor). Input port 316 is connected to field device 3 for receiving voltage data of the motor (e.g., a voltage sensor on the motor). Virtual port 318 is a virtual input port and is connected to a data source 320 inside the interface module 300. In the example, data source 320 includes a voltage applied to a laser sensor and is used by the interface device to determine whether the laser sensor is operating with an abnormality and whether the distance reading from the laser sensor can be utilized.
[0045] The virtual port 355 is connected to the first set of connected code blocks 330 for transmitting outputs from the first set of connected code blocks 330. The virtual port 355 is mapped to the physical port 372 and is capable of transmitting the outputs of the first set of connected code blocks 330 to the control device 1. Similarly, the virtual port 360 is connected to the second set of connected code blocks 340 for transmitting outputs from the second set of connected code blocks 340. The virtual port 360 is mapped to the physical port 376 and is capable of transmitting outputs of the second set of connected code blocks 330. The output port 374 is connected to the second interface device 2. The output port 378 can be used for signal transmission.
[0046] The first group of connected code blocks 330 receives the vibration signal from the field device 1 via the input port 312. The first group of connected code blocks 330 includes four code blocks (code blocks 332, 334, 336 and 348) connected in a first pipeline. Figure 4 The first industrial application 400 (also referred to as a machine learning application) shown in FIG. 1 generates and deploys a first set of connected code blocks on the interface module 300 through the configuration tool 110 .
[0047] The first machine learning application 400 is a ball bearing monitoring application based on a neural network. The ball bearing monitoring application 400 includes four logic components (420, 430, 440 and 450). The first logic component 420 is an input normalization component and receives a vibration signal as an input 410 from a vibration sensor attached to a ball bearing. The input normalization component 420 performs a normalization operation on the vibration signal 410 from the vibration sensor. The normalized signal is then passed to the windowing component 430. The windowing component 430 receives the normalized signal from the input normalization component and creates multiple windows or segments of the normalized vibration signal. The segments of the normalized vibration signal are then provided to the fast Fourier transform component 440. The fast Fourier transform component 440 applies a fast Fourier transform to the segments of the normalized vibration signal and transforms the signal from the time domain to the frequency domain. The transformed signal segments are then provided to the double-layer neural network component 450. The two-layer neural network 450 is trained to classify the transformed signal for detecting the condition of the ball bearing. In the example, the two-layer neural network 450 is trained based on historical vibration data from a plurality of ball bearings under different conditions. Based on the signal segment, the neural network 450 determines the condition of the ball bearing as a first output 460.
[0048] The code blocks (code blocks 332, 334, 336, and 348) are generated by a translator of the configuration tool 110 based on the logic components (420, 430, 440, and 450). In the example, the code block 340 corresponding to the neural network component 348 is generated based on a plurality of parameters determined by the configuration tool 110. The plurality of parameters include one or more model parameters such as node weights. The one or more model parameters are determined from the historical vibration data from the field device 1 by training the neural network model using the historical vibration data. In addition, the plurality of parameters include one or more model hyperparameters, such as the number of nodes in the middle layer, etc. As described above, the one or more hyperparameters are determined using the historical vibration data and hyperparameter adjustment techniques such as grid search, Bayesian optimization, evolutionary optimization, etc.
[0049] The second set of connected code blocks 340 receives current data from field device 2 via input port 314 and voltage data from field device 3 via input port 316. The first set of connected code blocks 340 includes two code blocks (code blocks 343 and 346) connected in the second pipeline. Figure 5 The second industrial application 500 (also called a machine learning application) shown in FIG. 1 generates and deploys a second set of connected code blocks on the interface module 300 through the configuration tool 110 .
[0050] like Figure 5 As shown, the second machine learning application 500 is a motor monitoring application based on Z-score normalization and a polynomial model. The motor monitoring application 500 includes two logic components (540 and 550). The first logic component 540 is a normalization component that receives current, voltage, and motor speed as inputs 520, 530, and 523. The normalization component 540 applies normalization to the speed, current, and voltage data from the connected field device. The second logic component 550 is a polynomial model that models the speed-voltage characteristics of the motor. Based on the values of the current, motor speed, and voltage of the motor current, the polynomial model component 550 determines whether there is an abnormal condition.
[0051] In an example, the configuration tool 110 generates a capability file associated with the interface device. The capability file includes a definition of at least one virtual port. Then, the configuration tool 110 transmits the generated capability file associated with the interface device to the engineering tool. The engineering tool uses the capability file to link at least one virtual port with the control device 140. The definition of the virtual port includes a mapping between at least one virtual port and a first physical output port and information associated with the first output. Thus, during engineering, the machine learning application is abstracted and simply regarded as an output from an output port in the interface device. This correspondingly reduces the complexity of the engineering.
[0052] In an example, the method further comprises creating at least one virtual input port associated with a data source of the interface module. The at least one virtual input port is used to provide input to at least one of the connected code blocks. As described above, this facilitates the use of data from an internal source in the interface device for analysis.
[0053] The present disclosure may take the form of a computer program product, which includes a program module accessible from a computer-usable or computer-readable medium storing program code, which is used by or connected to one or more computers, processing units, or instruction execution systems. Thus, the present disclosure describes a non-transitory storage medium containing instructions for configuring an interface device connected to a control device and at least one field device. In an example, the non-transitory storage medium is part of a configuration tool 110. The configuration tool 110 includes a network interface connected to the interface device and one or more processors (also referred to as processing units) connected to a non-transitory storage medium or memory module storing one or more instructions. The one or more processors are configured to: receive a first machine learning application including a plurality of logical components connected in a pipeline; generate a plurality of code blocks using a translator based on the plurality of logical components of the first machine learning application; connect the plurality of code blocks according to the pipeline of the first machine learning application to generate a first output from at least one signal from at least one field device; and deploy the connected code blocks on the firmware of the interface device; wherein deploying the connected code blocks includes creating at least one virtual port that can be connected to the control device, the at least one virtual port being used to transmit the first output to the control device. In an example, the non-transitory storage medium further includes machine-readable instructions stored therein, which, when executed by the processing unit, generate a capability file associated with the interface device, wherein the capability file includes a definition of at least one virtual port, and transmit the generated capability file associated with the interface device to an engineering tool for linking the at least one virtual port with the control device. In another example, the non-transitory storage medium further includes machine-readable instructions stored therein, which, when executed by the processing unit, create at least one virtual input port associated with a data source of the interface module, wherein the at least one virtual input port is used to provide input to at least one of the connected code blocks.
[0054] For the purpose of illustration, a computer-usable or computer-readable non-transitory storage medium may be any device that can contain, store, communicate, propagate or transmit a program for an instruction execution system, device or apparatus or connected thereto. The medium may be an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system (or device or apparatus) and a propagation medium or itself, because the signal carrier is not included in the definition of a physical computer-readable medium, which includes semiconductor or solid-state memory, magnetic tape, removable computer disk, random access memory (RAM), read-only memory (ROM), rigid disk and optical disk (such as, optical disk read-only memory (CD-ROM), optical disk read / write and DVD). The processing unit and program code used to implement each aspect of the present technology may be centralized or distributed (or a combination thereof) known to those skilled in the art. In addition, although the present disclosure describes the configuration tool 110 as an independent component, the configuration tool may be a software component and may be implemented in a distributed control system or an engineering software suite. In addition, in an embodiment, one or more parts of the configuration tool 110 may be implemented in the controller 140.
[0055] Although the present disclosure has been described with reference to certain embodiments, it should be understood that the present disclosure is not limited to these embodiments. Although the present disclosure has been explained using polynomial models and neural networks, these are examples and the present disclosure can be applied to other forms of machine learning-based signal analysis. Similarly, although the present disclosure mentions machine learning applications with a single machine learning model, machine learning applications that utilize one or more models as a whole can also be implemented within the scope of the present invention. In view of the present disclosure, as described herein, many modifications and variations will present themselves to those skilled in the art without departing from the scope of the different embodiments of the present disclosure. Therefore, the scope of the present disclosure is specified by the appended claims, rather than by the above description. All changes, modifications and variations within the meaning and the equivalent scope of the claims are included in their scope. All advantageous embodiments claimed in the method claims can also be applied to the system / device claims.
Claims
1. A method (200) for configuring an interface device (130) connected to a control device (140) and at least one field device (150), the method (200) comprising: a. receiving (210) a first machine learning application comprising a plurality of logic components (420, 430, 440, 450) connected in a pipeline, wherein the first machine learning application is used to analyze at least one signal from the at least one field device (150, 155) using a first machine learning model (120); b. generating (220) a plurality of code blocks (332, 334, 336, 348) using a translator based on the plurality of logic components (420, 430, 440, 450) of the first machine learning application, wherein each code block is associated with a particular logic component from the plurality of logic components (420, 430, 440, 450); c. connecting (230) the plurality of code blocks (332, 334, 336, 348) according to the pipeline of the first machine learning application to generate a first output according to the at least one signal from the at least one field device (150); and d. deploying the connected code blocks (332, 334, 336, 348) on the firmware of the interface device (130); wherein deploying the connected code blocks includes creating at least one virtual port (355) that can be connected to the control device (140), and the at least one virtual port (355) is used to transmit the first output to the control device (140).
2. The method (200) according to claim 1, wherein: The method (200) further comprises: a. generating a capability file associated with the interface device (130), wherein the capability file includes a definition of the at least one virtual port (355), and b. Transmitting the generated capability file associated with the interface device (130) to an engineering tool for linking the at least one virtual port (355) with the control device (140).
3. The method (200) of claim 1, wherein the method (200) further comprises creating at least one virtual input port (318) associated with a data source (320) of the interface device (130), wherein: The at least one virtual input port (318) is used to provide input to at least one of the connected code blocks (332, 334, 336, 348).
4. The method (200) according to claim 1, wherein: Generating the plurality of code blocks (332, 334, 336, 348) includes determining one or more predefined libraries associated with each logic component of the plurality of logic components, wherein each predefined library includes one or more library routines for implementing the corresponding logic component.
5. The method (200) according to claim 1, wherein: Creating at least one virtual port (355) includes identifying a first physical output port (372) from a plurality of physical input and output ports (312, 314, 316, 372, 374, 376, 378), wherein the first physical output port (372) is operable to transmit a signal to the control device (140).
6. The method (200) of claim 1, wherein: Generating a plurality of code blocks (332, 334, 336, 348) includes determining a plurality of values for a plurality of parameters associated with the first machine learning model (120) based on a first optimization technique.
7. The method (200) of claim 1, further comprising training the first machine learning model (120) using historical data from the at least one field device (150).
8. The method (200) according to claim 2, wherein: Generating the capabilities file also includes generating a definition of the at least one virtual port (355), the definition of the virtual port (355) including a mapping between the at least one virtual port (355) and a first physical output port (372) and information associated with the first output.
9. An interface device capable of being connected to at least one field device (150) and a control device (140), the interface device comprising a. one or more ports (312, 314, 316, 318, 355, 360, 372, 374, 376, 378) for receiving and transmitting signals between the control device (140) and the at least one field device (150); b. A firmware module, comprising a plurality of connected code blocks (332, 334, 336, 348), wherein: The plurality of connected code blocks (332, 334, 336, 348) are configured to receive at least one signal from at least one field device (150) and to generate a first output; wherein the one or more ports (312, 314, 316, 318, 355, 360, 372, 374, 376, 378) include at least one virtual port (355) for transmitting the first output to the control device (140), and wherein the plurality of connected code blocks (332, 334, 336, 348) are generated using a translator based on a plurality of logic components (420, 430, 440, 450) of a first machine learning application for analyzing at least one signal from the at least one field device (150) using a first machine learning model (120), wherein each code block is associated with a specific logic component from the plurality of logic components.
10. The interface device according to claim 9, wherein: The one or more ports (312, 314, 316, 318, 355, 360, 372, 374, 376, 378) are associated with a capabilities file including a definition of the at least one virtual port (355), and wherein the capabilities file is used to link the at least one virtual port (355) with the control device (140).
11. The interface device according to claim 9, wherein: The one or more ports (312, 314, 316, 318, 355, 360, 372, 374, 376, 378) include at least one virtual input port (318) associated with a data source (320) of the interface device, wherein the at least one virtual input port (318) is used to provide input to at least one of the connected code blocks.
12. The interface device according to claim 10, wherein: The at least one virtual port (355) is mapped to a first physical output port (372), and wherein a definition of the at least one virtual port (355) includes a mapping between the at least one virtual port (355) and the first physical output port (372) and information associated with the first output.
13. A non-transitory storage medium for configuring an interface device (130) connected to a control device (140) and at least one field device (150), the non-transitory storage medium having machine-readable instructions stored therein, which, when executed by a processing unit, cause the processing unit to: a. receiving a first machine learning application comprising a plurality of logic components (420, 430, 440, 450) connected in a pipeline, wherein: The first machine learning application is for analyzing at least one signal from the at least one field device (150) using a first machine learning model (120); b. generating a plurality of code blocks (332, 334, 336, 348) based on the plurality of logic components (420, 430, 440, 450) of the first machine learning application using a translator, wherein each code block is associated with a particular logic component from the plurality of logic components (420, 430, 440, 450); c. connecting the plurality of code blocks (332, 334, 336, 348) according to the pipeline of the first machine learning application to generate a first output according to the at least one signal from the at least one field device (150); and d. deploying the connected code blocks (332, 334, 336, 348) on the firmware of the interface device (130); wherein deploying the connected code blocks (332, 334, 336, 348) includes creating at least one virtual port (355) that can be connected to the control device (140), and the at least one virtual port (355) is used to transmit the first output to the control device (140).
14. The non-transitory storage medium according to claim 13, wherein: The non-transitory storage medium also includes machine-readable instructions stored therein, which, when executed by the processing unit: a. generating a capability file associated with the interface device (130), wherein the capability file includes a definition of the at least one virtual port (355), and b. Transmitting the generated capability file associated with the interface device (130) to an engineering tool for linking the at least one virtual port (355) with the control device (140).
15. The non-transitory storage medium according to claim 13, wherein: The non-transitory storage medium also includes machine-readable instructions stored therein, which, when executed by a processing unit, create at least one virtual input port (318) associated with a data source (320) of the interface device (130), wherein the at least one virtual input port (318) is used to provide input to at least one of the connected code blocks (332, 334, 336, 348).
Citation Information
Patent Citations
Programming automation in a 3d graphical editor with tightly coupled logic and physical simulation
CN107077339A
Processors, methods, and systems with a configurable spatial accelerator
CN108268278A