Adapting a data model for data communication with an external platform

文档序号:1815141 发布日期:2021-11-09 浏览:2次 中文

阅读说明:本技术 调整数据模型以与外部平台进行数据通信 (Adapting a data model for data communication with an external platform ) 是由 达莱·A·霍索恩 斯蒂芬·C·布赖恩特 尼古拉斯·J·马兰戈尼 于 2021-05-08 设计创作,主要内容包括:本申请涉及调整数据模型以与外部平台进行数据通信。描述了与工业自动化系统相关联的公共网关平台的适配器,其用于将使用公共网关平台的数据模型从各种装置获取的数据与使用各种数据模型的外部部件进行通信。计算装置可以基于获得外部部件的应用程序接口(API)和/或软件开发工具包(SDK)来确定本地数据模型的数据集与外部部件的数据集之间的关系。因此,适配器可以通过提供外部部件的功能作为计算装置的本地功能来使得公共网关平台能够与外部部件交互。即,适配器可以提供使用公共网关平台的本地命令和动作来连接、创建、读取、写入、更新、删除、运行命令和查询以及与外部部件断开连接的功能。(The present application relates to adapting a data model for data communication with an external platform. An adapter of a common gateway platform associated with an industrial automation system is described for communicating data obtained from various devices using a data model of the common gateway platform with external components using various data models. The computing device may determine a relationship between a data set of the local data model and a data set of the external component based on obtaining an Application Program Interface (API) and/or a Software Development Kit (SDK) of the external component. Thus, the adapter may enable the public gateway platform to interact with the external component by providing the functionality of the external component as a native function of the computing device. That is, the adapter may provide functionality to connect, create, read, write, update, delete, run commands and queries, and disconnect from external components using native commands and actions of the common gateway platform.)

1. A tangible, non-transitory, machine-readable medium comprising machine-readable instructions that, when executed by a processor, cause the processor to perform acts comprising:

receiving a request to transmit a first data set to an external component communicatively coupled to the processor;

determining a first data structure of the first data set based on an information model associated with the first data set;

detecting a second data structure of one or more data sets associated with the external component;

determining a relationship between the first data structure and the second data structure;

converting the first data set into a second data set structured according to the second data structure based on the relationship; and

transmitting the second data set to the external component.

2. The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to detect the second data structure comprise: retrieving an application program interface API or a software development kit SDK from the external component indicating the second data structure.

3. The tangible, non-transitory, machine-readable medium of claim 2, wherein the machine-readable instructions, when executed by a processor, cause the processor to determine the relationship between the first data structure and the second data structure comprise: generating a table representing one or more associations between the first data structure and the second data structure based on the API, the SDK, or both.

4. The tangible, non-transitory, machine-readable medium of claim 1, wherein the processor is configured to communicatively couple to the external component via a network socket.

5. The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to perform actions comprising generating an endpoint component based on the relationship, wherein the endpoint component is configured to map the first data set to the second data set based on the relationship.

6. The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to determine the first data structure comprises: raw data is received from one or more control systems, and the received raw data is associated with the first data structure based on the information model.

7. The tangible, non-transitory, machine-readable medium of claim 1, wherein the first data structure comprises the first dataset, a plurality of components, each relationship between the plurality of components, one or more transaction conditions, or any combination thereof.

8. An industrial system, comprising:

a plurality of devices for performing a plurality of operations in the industrial system;

at least one processor configured to perform operations comprising:

receiving a request to transmit a first data set to an external component communicatively coupled to the at least one processor;

determining a first data structure of the first data set based on an information model associated with the first data set;

detecting a second data structure of one or more data sets associated with the external component;

determining a relationship between the first data structure and the second data structure;

converting the first data set into a second data set structured according to the second data structure based on the relationship; and

transmitting the second data set to the external component.

9. The system of claim 8, wherein detecting the second data structure comprises: retrieving an application program interface API or a software development kit SDK from the external component indicating the second data structure.

10. The system of claim 9, wherein determining the relationship between the first data structure and the second data structure comprises: generating a table representing one or more associations between the first data structure and the second data structure based on the API, the SDK, or both.

11. The system of claim 8, wherein the at least one processor is configured to communicatively couple to the external component via a web socket.

12. The system of claim 8, the at least one processor configured to perform operations comprising generating an endpoint component based on the relationship, wherein the endpoint component is configured to map the first data set to the second data set based on the relationship.

13. The system of claim 8, wherein determining the first data structure comprises: raw data is received from one or more control systems, and the received raw data is associated with the first data structure based on the information model.

14. The system of claim 8, wherein the first data structure comprises the first data set, a plurality of components, each relationship between the plurality of components, one or more transaction conditions, or any combination thereof.

15. A method, comprising:

receiving, by a computing device, a request to transmit a first data set to an external component communicatively coupled to the computing device;

determining, by the computing device, a first data structure of the first data set based on an information model associated with the first data set;

detecting, by the computing device, a second data structure of one or more data sets associated with the external component;

determining, by the computing device, a relationship between the first data structure and the second data structure;

converting, by the computing device, the first data set into a second data set structured according to the second data structure based on the relationship; and

transmitting, by the computing device, the second data set to the external component.

16. The method of claim 15, wherein detecting the second data structure comprises: retrieving an application program interface API or a software development kit SDK from the external component indicating the second data structure.

17. The method of claim 16, wherein determining the relationship between the first data structure and the second data structure comprises generating a table representing one or more associations between the first data structure and the second data structure based on the API, the SDK, or both.

18. The method of claim 15, comprising generating an endpoint component based on the relationship, wherein the endpoint component is configured to map the first data set to the second data set based on the relationship.

19. The method of claim 15, wherein determining the first data structure comprises receiving raw data from one or more control systems and associating the received raw data with the first data structure based on the information model.

20. The method of claim 15, wherein the first data structure comprises the first data set, a plurality of components, each relationship between the plurality of components, one or more transaction conditions, or any combination thereof.

Background

The present disclosure relates generally to systems and methods for collecting context of data stored on industrial automation components, such as controllers, devices, and the like. In particular, the present disclosure relates to systems and methods for employing information gateway components that can move data and values associated with the data when the data is requested from a component.

This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present technology that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

The industrial automation system can include an industrial automation layer that includes a plurality of industrial automation components. The industrial automation component can include various components such as valves, electric motors, various sensors, other suitable monitoring devices, and the like. The industrial automation component can provide data indicative of information or status therefrom. Further, industrial automation components can include programming terminals, automation controllers, input/output (I/O) modules, communication networks, Human Machine Interface (HMI) terminals, and the like to receive status and/or information in the form of data. The industrial automation system can provide the received status and/or information in various informational formats to an operator, such as an alarm to change or adjust operation of one or more components of the industrial automation system, or to adjust operation of one or more actuators to manage the industrial automation system, and so forth.

In general, the aforementioned networking components may be associated with information such as different states, sensed data, and the like. The information can be related to the operation of the industrial automation system and can be monitored by one or more automated control and monitoring systems. Certain communication systems are used to transmit information to automation control and monitoring systems of industrial automation systems. For example, each networked device may communicate with one or more automated control and monitoring systems via a wired or wireless communication network. In this regard, it may be useful to improve methods for communication between automation control and monitoring systems and networked devices in industrial automation systems.

Disclosure of Invention

The following sets forth a summary of certain embodiments disclosed herein. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these particular embodiments, and that these aspects are not intended to limit the scope of this disclosure. Indeed, the present disclosure may encompass a variety of aspects that may not be set forth below.

In one implementation, a tangible, non-transitory, machine-readable medium includes machine-readable instructions that, when executed by a processor, cause the processor of an industrial automation system to perform actions. The actions may include: the method includes receiving a request to transmit a first data set to an external component communicatively coupled to a processor, determining a first data structure of the first data set based on an information model associated with the first data set, detecting a second data structure of one or more data sets associated with the external component, and determining a relationship between the first data structure and the second data structure. The actions may also include converting the first data set into a second data set structured according to a second data structure based on the relationship and transmitting the second data set to an external component.

In another embodiment, an industrial automation system is described. The industrial automation system can include a plurality of devices for performing a plurality of operations. Further, one or more processors may perform the operations. The operations may include receiving a request to transmit a first data set to an external component communicatively coupled to a processor, determining a first data structure of the first data set based on an information model associated with the first data set, detecting a second data structure of one or more data sets associated with the external component, and determining a relationship between the first data structure and the second data structure. The operations may also include converting the first data set into a second data set structured according to a second data structure based on the relationship and transmitting the second data set to an external component.

In yet another embodiment, a method of operating an industrial automation system is described. The method may include performing operations using a computing device, the operations including receiving a request to transmit a first data set to an external component communicatively coupled to the computing device, determining a first data structure of the first data set based on an information model associated with the first data set, detecting a second data structure of one or more data sets associated with the external component, and determining a relationship between the first data structure and the second data structure. The method may also include converting the first data set into a second data set structured according to a second data structure based on the relationship and transmitting the second data set to an external component.

Drawings

These and other features, aspects, and advantages of the embodiments described in this disclosure will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:

FIG. 1 illustrates a block diagram representing an example hierarchical level of an industrial automation system in accordance with implementations provided herein;

FIG. 2 illustrates a block diagram of components within a computing device of the industrial automation system of FIG. 1 in accordance with implementations provided herein;

FIG. 3 illustrates an example packaging plant employing the industrial automation system of FIG. 1 in accordance with embodiments provided herein;

FIG. 4 illustrates a block diagram of a relationship between a computing device and a control system that may be employed within the industrial automation system of FIG. 1 in accordance with embodiments provided herein;

FIG. 5 illustrates unstructured raw data that may be transmitted by the control system of FIG. 4 according to embodiments provided herein;

FIG. 6 illustrates hierarchically structured data organized by the computing device of FIG. 1 according to a data model in accordance with implementations provided herein;

FIG. 7 illustrates a flow diagram of a method for defining a data structure by the computing device of FIG. 1, according to embodiments provided herein;

FIG. 8 depicts an example visual representation of a user presenting a connected control system according to embodiments provided herein and block 144 in the flowchart of FIG. 7;

FIG. 9 depicts an example visual representation of presenting a list of data models to a user in accordance with an embodiment provided herein and block 148 of the flowchart of FIG. 7;

FIG. 10 depicts an example visual representation of a hierarchical representation of a component of a presentation data model according to an embodiment provided herein and block 150 in the flowchart of FIG. 7;

FIG. 11 depicts an example visual representation of available data sources presented for user selection in accordance with embodiments provided herein and block 156 of the flowchart of FIG. 7;

FIG. 12 depicts an example visual representation of presenting an application tab including a plurality of data destination components in accordance with embodiments provided herein and block 160 of the flowchart of FIG. 7;

FIG. 13 illustrates a flow diagram of a method for transmitting data organized according to a data model using the computing device of FIG. 1, according to embodiments provided herein.

FIG. 14 illustrates a block diagram that indicates relationships between computing devices and control systems that may be employed within the industrial automation system of FIG. 1 and external components that use different data structures in accordance with embodiments provided herein; and

FIG. 15 shows a flow diagram of a method for transmitting data organized according to a data model to an external component employing a different data model according to embodiments provided herein.

Detailed Description

One or more specific embodiments of the present disclosure will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. When introducing elements of various embodiments of the present disclosure, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of the elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements.

The present disclosure relates generally to systems and methods for collecting data and context of data stored on industrial automation components, such as controllers, devices, and the like. Data models may be used to detail relationships between certain constraints, rules, data values, operations, or other types of information. The data model may specify relationships between some kinds or types of data relative to other types of data. In this regard, the data model may provide context as to how certain data sets relate to other data sets. Thus, a stable and organized information structure can be provided to different software platforms, devices, etc. By way of example, in an industrial automation system that employs an Operational Technology (OT) system and an Information Technology (IT) system, data communicated between the OT system and the IT system may not include context (e.g., attributes) of the data when the data is transmitted. Alternatively, it is possible to transfer the original value of the data without providing the appropriate context for the data.

In this regard, embodiments described herein may include components, such as computing devices, that may collect and preserve the context of data acquired from various devices, such that the computing devices may transmit the acquired data along with the context of the data. For example, if the data model defines data set a as including data set B and data set C, the computing device may retrieve data set B as well as data set C in favor of a request for data set a. In some implementations, the data model can provide context about the relevant data set. The data model may be defined for the data sets as SmartTag (e.g., metadata) or another suitable data structure that is capable of detailing the relationships between the data sets in the data model. By providing the retrieved data set to the data model, the computing device can provide contextual information about relationships between various devices and components in the industrial automation system and enable consistent data transfer between the devices.

In addition to retrieving data sets having particular data structures related to respective data models, the computing device may also provide a user interface that enables a user to provide a context or information model associated with a particular data set. In this manner, a user may add a data model or context to a data set so that the retrieved data may be continued to be transmitted to other devices along with the appropriate context.

By providing context for the data, different software platforms can more efficiently synthesize or analyze the retrieved data. For example, unstructured component data that does not provide context may be preprocessed to group related data sets together prior to analyzing the data sets. Further, by retrieving data sets with appropriate context, the computing device may retrieve the data sets and show how the data sets are related via the particular context.

In addition to retrieving data sets having smarttags and/or other data structures related to the respective data model, the computing device may also provide a user interface for a user to input transition conditions or transaction conditions to define a workflow for transferring data sets using the data model and/or context associated with one or more data sets. For example, a user can describe a workflow using SmartTag and transaction conditions to control data conversion between a data generating component and a data destination component of an industrial automation system. For example, a user may describe a transaction condition by: a trigger event is defined for data retrieved from a first data source (e.g., a temperature sensor) (e.g., when a data value exceeds 300) to initiate capture of data from a second data source (e.g., a pressure sensor). Additionally, the transaction conditions may define how data is to be collected from the data sources. That is, the transaction condition may detail the use of a particular driver and collection path to access data from a data source. In this way, the present embodiment described below better enables the user to: describing different data sets; associating a data set with one or more other data sets by defining relationships between the respective data sets; transaction conditions are defined that detail a customized workflow for data communication through an industrial automation system using the data model described herein. Further details regarding providing context for the data set and defining the manner in which the data set is retrieved from the source and sent to the destination will be described below with reference to fig. 1-13.

By way of introduction, fig. 1 depicts a block diagram embodiment of an example industrial automation system 10 in which the present embodiments may be implemented. Industrial automation system 10 can be any system in the material processing, packaging industry, manufacturing, processing, batch processing, or any technical field that employs one or more industrial automation components. In one embodiment, the industrial automation system 10 may include a factory 12, which factory 12 may comprise a portion of the entire industrial automation system 10. In this regard, the industrial automation system 10 may include other plants 14 that may be employed with the plant 12 to perform industrial automation processes and the like.

Each plant 12 (or plant 14) may be divided into a plurality of zones 16, and the zones 16 may include different production processes using different types of industrial automation components. In one example, one area 16 may include a sub-assembly production process and another area 16 may include a core production process. In another example, each region 16 may be associated with a different operation performed during the manufacturing process. For example, in a fudge-making system, the zone 16 may include a fudge-making zone, a packaging zone, a water filtration zone, and the like. In yet another example, the area 16 may include a production line in which a particular industrial process may be performed. Returning to the example of a fudge manufacturing system, the manufacturing line may include a cooking line in which the fondant beans may be produced, a sorting line in which the fondant beans may be sorted according to a corresponding flavor, and a packaging line at which the sorted fondant beans may be packaged into boxes or the like.

The area 16 can also be associated with the physical location of a plurality of industrial automation components 20 (hereinafter referred to as components 20). The components 20 may include various valves, electric motors, various sensors, other suitable monitoring devices, and the like. The regions 16 may also be associated with different specification regions of the industrial automation system 10 (e.g., batch operation regions, continuous operation regions, discrete operation regions, inventory operation regions, etc.).

The area 16 may be subdivided into smaller units or cells 18, and the cells 18 may be further subdivided into sections 20. Using the above example, the sub-assembly production process area 16 may be subdivided into cells 18, and the cells 18 may represent particular groups of components 20 that may be used to perform an aspect of the sub-assembly production process. In this regard, the unit 18 may comprise a portion of the area 16, such as a first portion of a production line. The unit 18 may also comprise different parts of a particular process.

These units 18 can then be further subdivided into components 20, which components 20 can correspond to various industrial automation components, such as controllers, input/output (I/O) modules, motor control centers, motors, Human Machine Interfaces (HMI), operator interfaces, contactors, starters, sensors, drives, relays, protection devices, switching devices, compressors, network switches (e.g., modular management, fixed management, service-router, industrial, non-management ethernet switches, etc.), and so forth. Although the plants 12, 14, 16, and 18 are referred to as plants, areas, and units, it should be noted that the names of these groupings may differ in various industries.

The component 20 may also relate to various industrial equipment such as mixers, machine conveyors, tanks, skids, professional original equipment manufacturer machines, and the like. The component 20 may also be associated with a device used by the apparatus, such as a scanner, meter, valve, flow meter, etc. In one embodiment, each aspect of the component 20 may be controlled or operated by a single controller (e.g., a control system). In another embodiment, control and operation of each aspect of the component 20 may be distributed via a plurality of controllers (e.g., control systems).

The components 20 may be used within the corresponding units 18, areas 16, and/or plants 12 to perform various operations with respect to the respective units 18, areas 16, and/or plants 12. In certain embodiments, the components 20 can be communicatively coupled to each other, to the industrial control system 22, and the like. In some embodiments, the component 20 may include routers, switching gateways, and other general purpose devices that may facilitate the communicative coupling of the component 20. Additionally, the industrial control system 22 (hereinafter referred to as the control system 22) may also be communicatively coupled to one or more subsystems that may monitor and/or control the operation of each respective unit 18, area 16, or plant 12.

In one embodiment, the control system 22 may include a computing device that may include communication capabilities, processing capabilities, and the like. For example, the control system 22 can be a controller, such as a Programmable Logic Controller (PLC), a Programmable Automation Controller (PAC), or any other controller that can monitor, control, and operate the industrial automation component 20. In other embodiments, the control system 22 may be incorporated into one or more components 20 (e.g., an edge computing device) or may be implemented as a stand-alone computing device (e.g., a general-purpose computer), such as a desktop computer, a laptop computer, a tablet computer, a mobile device computing device, or the like.

In certain embodiments, the control system 22 may be implemented within the device and enable the components 20 to connect and communicate with each other. For example, control system 22 may be implemented within a network router and/or switch. In this manner, network routers and/or switches may host control system 22 to control and operate components 20, and may be communicatively coupled to respective network routers and/or switches. Because network routers and/or switches may act as hubs for data transfer between components 20, control systems 22 embedded within routers and/or switches may be strategically placed in a data network to access or receive data associated with various components 20. In this regard, the control system 22 may perform various types of analysis on the received data and may then more effectively or efficiently control and operate the respective components 20 based on the analysis results.

In addition to the above-mentioned physical devices, the control system 22 may also include software-based simulations of any of the above-mentioned physical devices. For example, the control system 22 may be implemented as software modules that may perform similar operations as certain hardware controllers, devices, and the like. In this regard, the control system 22 may create virtual instances of hardware components (e.g., controllers, I/O modules). These virtual instances may provide a more flexible way in which control system 22 may be implemented to monitor and control components 20.

In one embodiment, the control system 22 may be implemented virtually in a platform accessible to the cloud (i.e., a cloud computing system), one or more servers, various computing devices (e.g., general purpose computers), and the like. In this regard, the control system 22 may operate as a soft controller or as a control engine running in a cloud computing system. By virtually implementing control system 22 in a cloud computing system, control system 22 may perform various analysis and control operations using a distributed computing architecture. As more data associated with the components 20, units 18, areas 16, and plants 14 becomes available, the distributed computing architecture in the cloud computing system may enable the control system 22 to more efficiently provide data analysis. That is, since the cloud computing system can perform data analysis in conjunction with a large number of computing systems and processors, analysis results can be obtained more quickly. In this manner, the respective operations of the components 20, the units 18, the areas 16, and the plant 14 may be controlled in real time or near real time.

In view of the foregoing, it should be understood that, as mentioned throughout this disclosure, the control system 22 may be implemented as a physical (e.g., hardware-based) and/or virtual (e.g., software-based) component for monitoring and/or operating the components 20, the units 18, the areas 16, and the plant 14. Moreover, by providing the ability to incorporate control system 22 into various types of environments, industrial automation system 10 may be well suited to be augmented and developed by adding new components 20.

In certain embodiments, the computing device 24 may be connected to one or more control systems, such as the control system 22. The computing device 24 may receive data from one or more control systems associated with the respective components 20. The computing device 24 may provide structure to the received data, for example, by assigning the received data to a data set according to a data model. The computing device 24 may use the data model to provide context to the received data from the control system 22. In some embodiments, the computing device 24 may receive data from multiple units 18, multiple areas 16, and/or components 20 between different plants 12 and/or plants 14. The computing devices 24 described herein may be referred to in various embodiments as information gateways, edge computing devices, or by other names.

In some embodiments, the computing device 24 may be implemented in different physical devices, such as the control system 22 and/or the component 20, a network router and/or switch, or a standalone computing device (e.g., a general purpose computer) such as a desktop computer, a laptop computer, a tablet computer, a mobile device computing device, and so forth. In other embodiments, the computing device 24 can be implemented as a controller, such as a Programmable Logic Controller (PLC), a Programmable Automation Controller (PAC), or any other controller that can monitor, control, and operate an industrial automation device or component. Additionally, the computing device 24 may include a software-based simulation of any of the above-described physical devices.

As described above, the computing device 24 may be any computing device or controller that may include communication capabilities, processing capabilities, and the like. FIG. 2 shows a detailed block diagram 30 of components in computing device 24 that may be used to perform the techniques described herein.

Referring now to FIG. 2, the computing device 24 may include a communications component 32, a processor 34, a memory 36, a storage device 38, an input/output (I/O) module 40 including I/O ports, a display 42, and the like. The communication component 32 may be a wireless or wired component that may facilitate communication between the units 18, the area 16, the components 20 of the plant 12 or plant 14, the control system 22, and the like.

The communication component 32 may be a wireless or wired communication component that facilitates communication between the computing device 24 and other suitable electronic devices. Processor 34 may be any type of computer processor or microprocessor capable of executing computer executable code. Processor 34 may also include multiple processors that may perform the operations described below.

Memory 36 and storage 38 may be any suitable article of manufacture that may serve as a medium for storing processor executable code, data, and the like. These articles of manufacture may represent computer-readable media (i.e., any suitable form of memory or storage) that may store processor-executable code used by processor 34 to perform the presently disclosed techniques. In some embodiments, memory 36 may include volatile data storage units, such as Random Access Memory (RAM), and storage 38 may include non-volatile data storage units, such as a hard disk. The memory 36 and storage 38 may also be used to store data, data models, and the like. Memory 36 and storage 38 may represent non-transitory computer-readable media (i.e., any suitable form of memory or storage) that may store processor-executable code used by processor 34 to perform the various techniques described herein. It should be noted that non-transitory only indicates that the medium is tangible and not a signal.

The computing device 24 may also include an input/output (I/O) module 40. The I/O module 40 may enable the computing device 24 to communicate with various devices in the industrial automation system. Further, the I/O module 40 may enable the computing device 24 to receive data from the control system 22 and/or other control systems. The I/O module 40 may be an interface that may be coupled to other peripheral components such as input devices (e.g., keyboard, mouse), sensors, input/output (I/O) modules, and the like.

The display 42 may be operative to depict visual representations associated with software or executable code processed by the processor. In one embodiment, the display may be a touch display capable of receiving input from a user. For example, the display 42 may be any suitable type of display, such as a Liquid Crystal Display (LCD), a plasma display, or an Organic Light Emitting Diode (OLED) display. Additionally, in one embodiment, the display 42 may be provided in conjunction with a touch sensitive mechanism (e.g., a touch screen) that may be used as part of the control interface. The display 42 may provide information to the user regarding data received via the communication component 32. This information may include data received from control system 22 or other control systems, and may be associated with various components. The display 42 may also be used by a user to provide input to the computing device 24, such as defining a data model with corresponding data structures, querying for particular data to be collected from various components of the plant 12, and so forth.

It should be noted that the components described above with respect to computing device 24 are by way of example, and that computing device 24 may include additional or fewer components than those shown. Although block diagram 30 is depicted with respect to computing device 24, it should be noted that computing device 24 may be associated with any suitable computing system described herein. It should also be noted that computing device 24 or other suitable components may include all or some of the described components to perform the various techniques described herein.

An example industrial automation system 10 of a packaging plant 50 is depicted in fig. 3, as well as how the packaging plant 50 may be divided and subdivided into areas 16 and cells 18. As shown in fig. 3, the packaging plant 50 may represent an exemplary high-speed packaging line that may handle beverage containers (i.e., a beverage line) that may be employed in the food and beverage industry. In this regard, the packaging plant 50 may include, for example, industrial automation components that may enable machine components to fill, label, package, or palletize containers. The packaging plant 50 may also include one or more conveyor sections that may transport, align, or buffer containers between machine components. Although fig. 3 illustrates a packaging facility, it should be noted that the embodiments described herein are not limited to use with a packaging facility. Rather, it should be understood that the embodiments described herein can be employed in any industrial automation environment.

As shown in fig. 3, the packaging plant 50 may include machine components configured to perform specific functions related to the beverage packaging process. For example, the beverage packaging process begins at a loading station 52, where a stack of empty cans or bottles to be filled is fed into the packaging plant 50 via a conveyor section 54. The conveyor section 54 transports the empty cans from the loading station 52 to the cleaning station 56, where the empty cans and bottles are cleaned and ready for filling at the cleaning station 56. As the cleaned cans and bottles exit the cleaning station 56, the conveyor section 54 may gradually transition to an alignment conveyor section 58 so that the cleaned cans and bottles enter the filling and sealing station 60 in a single file line.

The filling and sealing station 60 can be operated at an optimal rate when the cleaned cans and bottles enter the filling and sealing station 60 in a steady, uniform flow. However, if the transition between the conveyor section 54 and the alignment conveyor section 56 is unstable or faster than desired, the filling and sealing station 60 may not be able to operate at an optimal rate. In this regard, optimizing performance parameters (e.g., speed, size, function, location/arrangement, or number) of the conveyor sections (i.e., conveyor section 54 or alignment conveyor section 58) may benefit the efficiency of the packaging plant 50.

As the sealed cans exit the filling and sealing station 60, a buffer conveyor section 62 may hold the sealed cans to delay their entry into the next station. In addition, the buffer conveyor section 62 may transport the sealed cans in a single file line such that the sealed cans arrive at the sterilization station 64 or labeling station 66 at the desired number of cans at the desired time. Similar to the filling and sealing station 60, the packaging station 64 or labeling station 66 operates efficiently when the buffer conveyor section 62 is operated at optimal performance parameters (e.g., optimal speed, size, function, location/arrangement, or number). After the cans and bottles have been sterilized and/or labeled, they are packaged in boxes (e.g., 6 packs, 24 packs, etc.) at a packaging station 68 and then palletized for transport or storage in a warehouse 72 at a station 70. It will be apparent that for other applications, the particular system components, conveyors, and their functions will vary and be application specific.

Packaging plant 50 may also include computing device 24 and control system 22, which may be located in control room 74, distributed to one or more sensors 76, and the like. Control system 22 may be coupled to one or more sensors 76, and sensors 76 may monitor various aspects of the machine components or conveyor sections of packaging facility 50. The sensors 76 may include any type of sensor, such as pressure sensors, accelerometers, thermal sensors, motion sensors, voltage sensors, and the like. The sensors 76 may be located at various locations within the packaging plant 50 and may measure parameter values of interest relating to the beverage packaging process during operation of the packaging plant 50. For example, in certain embodiments, sensors 76 may include sensors configured to measure the rate of bottles or containers entering or exiting a machine component (i.e., station 54, station 56, station 58, station 64, station 66, station 68, or station 70) per minute, or the cumulative rate of bottles on a portion of a conveyor section (e.g., conveyor section 54 or conveyor section 62). In general, any sensor 76 capable of measuring a parameter value of interest (e.g., rate, pressure, speed, accumulation, density, distance, location/arrangement, number, size, etc.) associated with the beverage packaging process of the packaging plant 50 may be used.

In some embodiments, the packaging plant 50 may include a plurality of industrial automated power components 78 that may be used to control the power used by the various machine components in the packaging plant 50. The power components 78 may include devices that may be used to operate corresponding machine components, such as drives, motors, inverters, switching devices, and the like. For example, the conveyor section 54 may be rotated using a motor that may be controlled via a power component 78, such as a variable frequency drive.

The power components 78 may include a control system 22 that may monitor and control the operation of the respective power components 78. In this regard, the power component 78 may correspond to the component 20 described above with respect to fig. 1. Returning to the example above, the control system 22 of the power component 78, e.g., a driver for controlling a motor that rotates the conveyor section 54, may monitor the voltage provided to the motor and may determine the speed that the conveyor section 54 may have while moving. In one embodiment, the control system 22 of the power component 78 may send data related to the speed of the conveyor section 54 to the control system 22, or to other control systems that may control other components 20. In this manner, control system 22 or other control system may be aware of the operations of power components 78 and may take these operations into account in determining how their respective components should operate.

Considering the packaging plant 50 of FIG. 3, the control system 22 may receive data from a plurality of power components 78 dispersed throughout the packaging plant 50. In some embodiments, control system 22 may contextualize (contextalize) the received data with respect to a predefined scope or hierarchical level. In other embodiments, the computing device 24 may query the data from the control system 22 and may contextualize the data according to different data models as described above. For example, fig. 4 illustrates a communication network 100 in which computing devices 24 of a packaging plant 50 may be communicatively coupled to a plurality of components 20 and/or their respective control systems 22.

In one embodiment, the extent of packaging plant 50 may be categorized based on the functionality of components 20 and/or units 18 of packaging plant 50. For example, referring to fig. 3, loading station 52 may be classified as unit 1, washing station 56 may be classified as unit 2, sealing station 60 may be classified as unit 3, sterilizing station 64 may be classified as unit 4, labeling station may be classified as unit 5, and packaging station 68 may be classified as unit 6.

In some implementations, a user may define, access, and/or modify the data model 108 via the computing device 24. The user may include a plant operator and may use the data destination component 118. The data destination component 118 can include a user interface and a data center, such as the local data center 110 or the cloud-based data center 112.

In view of the foregoing, the computing device 24 may use the communication component 32 to facilitate operation of the communication network 100. For example, the computing device 24 may use the communication component 32 to communicate with one or more control systems 22 (e.g., control system 102, control system 104, and/or control system 106). The control system 22 may monitor and/or control the operation of the components 20 or the operation of a collection of components 20 in the unit 18, the area 16, or the plant 12. For example, the control system 102, the control system 104, and/or the control system 106 may receive data or information from assets, controllers, etc. (e.g., the components 20) that may be located in the unit 18, the area 16, or the plant 12. The computing device 24 may then receive the data collected from the control system 102, the control system 104, and the control system 106 by using the communication component 32.

In one embodiment, the computing device 24 may receive data regarding: how the industrial automation system 10 may be subdivided, how each area 16, unit 18, and various components 20 may interact with each other, which components 20 are part of each plant 12, area 16, or unit 18, and so forth. For example, each region 16 may be associated with a particular manufacturing process. In this regard, data received by the computing device 24 may be processed or contextualized in accordance with the data model 108. For example, the data model 108 may represent the received data as part of other data sets, under different labels, and/or in different hierarchical levels of a hierarchy of data structures.

In some implementations, the computing device 24 can present the received data as having context and in the form of the data model 108. Control system 102, control system 104, and/or control system 106 may each identify a relationship of one or more components 20 to a respective cell 18 or region 16 based on data model 108. Subsequently, control system 102, control system 104, and/or control system 106 may provide the identified relationship to computing device 24.

For example, the computing device 24 may receive data from the control system 102, the control system 104, and the control system 106 that are respectively associated with different components 20. Upon receiving data associated with the component 20, the computing device 24 may identify a data model, such as data model 108, associated with the received data. The computing device 24 may then provide a representation of the received data in accordance with the data model 108, thereby providing the user with context regarding the received data. For example, the data model 108 may indicate that the received data is associated with the plant 12, the area 16, the unit 18, and/or the component 20.

The data model 108 may be defined to process received data associated with a particular component 20. Further, the computing device 24 may use the data model 108 to extract specific details of each component 20. That is, the computing device 24 can process the received data to provide context to the data sets (e.g., other variables such as speed, flow, temperature, and acceleration) received from each industrial component. In addition, the data model 108 may provide contextualized data that includes associations or relationships to other devices, systems, plants, servers, device types, or other categories for classifying the received data.

In some implementations, the data model 108 can be predefined in the storage 38 of the computing device 24. The data model 108, a portion of the data model 108, or a component associated with the model 108 may be transmitted from the control systems 102, 104, and/or 106 to the computing system 24. In some implementations, the user may define the data model 108 for the received data via a user interface of the computing system 24 (e.g., by using the display 42). The computing device 24 may receive instructions defining the data model 108, the computing device 24 may store the received data model 108 on the storage device 38, and may organize the received raw data 114 using the user-defined data model 108. Subsequently, the computing device 24 can provide the structured data 116 to the destination component 118 and/or the user in response to receiving a request for information (e.g., speed data, flow data, and temperature data).

The data model 108 may provide structure to the received raw data 114 such that the received raw data 114 may be provided to a user in the form of structured data 116. Structured data 116 can include a dataset and/or one or more hierarchical representations of the dataset. The data model 108 can also be incorporated into a workflow that can include transaction conditions and conditional transactions between components of the data model 108 while providing structured data 116 with the transferred data set. In some implementations, a user may define such transactions by determining, via the computing device 24, one or more aspects of the data set based on the data model 108. In various embodiments, a user may define a transaction by specifying how data sets are to be retrieved and transferred based on one or more relationships between the data sets of the data model 108. For example, a user may define the following transactions: a data set is retrieved from a data component of a data model associated with a data source and the retrieved data set is transferred to a data component of a different data model that may be part of a data destination component. The different data models may be data models provided by third party providers in the local data center 110 or the cloud-based data center 112 that facilitate the transfer.

The data sets may correspond to different plants, areas, units, components, and/or attributes of components, etc., as shown in more detail in FIG. 6. The relationships of the data sets may correspond to how different plants, areas, units, and/or components relate to one another. For example, in a hierarchical representation of a data set, a plant data set may include one or more regional data sets.

The computing device 24 may then provide the structured data 116 to the local data center 110 or the cloud-based data center 112. For example, the computing device 24 may receive a request for information and, in response to receiving the request, provide contextualized data using the data model 108. The computing device 24 may provide contextualized data to a data center or a user. That is, the computing device 24 may provide a portion of the structured data 116 to a data center or user in response to receiving a request for information (e.g., speed data, flow data, and temperature data).

By way of example, fig. 5 illustrates raw data 114 that may be transmitted from control system 102, control system 104, and/or control system 106 to computing system 24. The raw data 114 may be unstructured and may include all of the data provided by the control systems 102, 104, and 106. Since the raw data 114 is unstructured, processing the raw data 114 can prove to be comprehensive and computationally expensive due to lack of structure or organization.

FIG. 6, on the other hand, depicts an example of structured data 116 organized according to data model 108. The data structures 116 may be associated with hierarchical levels of the data model 108 and corresponding data sources (such as the control systems 102, 104, and/or 106). In this regard, the hierarchical representation of the data structure 116 may include different data sets 120 in hierarchical levels corresponding to different plants 12 or 14, areas 16, cells 18, parts 20, attributes of the various parts 20, and other attributes of one or more data sets, to name a few examples. In practice, the data structure 116 may detail relationships between the data sets 120 in terms of hierarchies, dependencies between the data sets 120, and the like.

In some implementations, the computing device 24 can also receive transactional data 122 related to the structured data 116. The transaction data 122 may include event-driven conditions that specify one or more conditions under which data is to be transferred to other components. Further, the transaction data 122 can specify details that help facilitate data set transactions between data sources and data destinations. The transaction data 122 may be received based on a selection of a data collection scheme/format or driver to retrieve data from a data source received through user input. In this way, the driver can detail how transactions between different components will be facilitated. In one embodiment, the user may select a driver that indicates the manner (e.g., format) in which the requested data set is retrieved from the data source. By way of example, a driver may be defined as FactoryTalk real-time data, Ethernet/IP (common Industrial protocol (CIP)), OPC direct access (e.g., a machine-to-machine communication protocol developed by the OPC Foundation for industrial automation), or any suitable communication protocol. In some implementations, the transaction data 122 can be defined for each component or class of components that can be associated with a plant, area, unit, etc. In addition to the communication protocol, the transaction data 122 may include one or more defined rules, relationships, and/or trigger events that characterize how the data set is stored in the data model 108.

As described in more detail below, the hierarchical representation of the structured data 116 may be predefined, user defined, or modified by a user by way of a Graphical User Interface (GUI) visual representation. It should be understood that the visual representation describes one embodiment, and that the interaction between the user and the computing device 24 may be provided by any feasible interface.

In view of the foregoing, FIG. 7 illustrates a process 140 for contextualizing raw data according to a data model (such as data model 108). Process 140 may be performed by computing device 24 or any suitable computing device for defining data set 120 and/or transaction data 122. It should be understood that the order of process 140 is provided by way of example, and that process 140 may be performed in any suitable order.

Referring now to fig. 7, at block 142, computing device 24 may detect one or more control systems 22, such as control system 102, control system 104, and/or control system 106 of fig. 4. The control system 22 may be communicatively coupled to the computing device 24 using a wired connection or a wireless connection. In various embodiments, the computing device 24 may detect a connected control system 22, for example, by a pre-installed driver on the computing device or a corresponding driver module for the connected control system 22.

At block 144, after detecting one or more connected control systems 22, computing device 24 may present the connected control systems 22 via a display. For example, the computing device 24 may provide a list of all detected control systems 22 as shown in the visual representation 170 of fig. 8. When the data source tab 194 is selected, the visual representation 170 may include the detected control system 22 and/or other available data sources represented for selection by the user. That is, the user may define the data model 108 using the data source presented by the visual representation 170. In some examples, the data source in the visual representation 170 is automatically detected, while in other examples, the data source or at least the data sources of the multiple visual representations are configured by a user.

Referring to FIG. 8, the visual representation 170 may provide additional functionality to the user. Additional functions may include adding a new control system using the input visual representation 172, removing a detected control system using the input visual representation 174, refreshing a list of control systems using the input visual representation 176, clearing a list of control systems using the input visual representation 178, and/or editing a property of a detected control system using the input visual representation 180. Referring back to fig. 7, at block 146, computing device 24 may receive an input indicating a selection of detected control system 22 as the first data source. After receiving the selection, computing device 24 may access the selected control system 22 and receive raw data 114 associated with the selected control system 22.

At block 148, the computing device 24 may present a list of data models 108 that may be used to contextualize the data associated with the control system 22 selected at block 146. Fig. 9 may depict an embodiment of a visual representation 190 that provides an example list of data models 108 that may be selected by a user via the display 42.

The visual representation 190 may include a configuration tab 192, the configuration tab 192 including one or more sub-tabs. For example, the sub tabs may include a data source tab 194, a model tab 196, and an application tab 198. The data source tab 194 may include one or more control systems 22 selectable by a user to identify a data source. The model tab 196 may include the data model 108 that may be selected by a user for use with a selected data source (e.g., one or more control systems 22). The application tab 198 may include a destination component 118 in which the structured data 116 may be sent. The model tab 196 and the application tab 198 are discussed in more detail below. It should be appreciated that in different embodiments, the visual representation for contextualizing the raw data according to the data model may include additional or fewer tabs, and a single tab may be visually represented that includes different portions associated with different information, such as a selectable data source, a selectable data model, and/or a selectable data destination component or application to be used.

Referring back to FIG. 9, the model tab 196 may include a plurality of data models 206 that may be selected by a user. For example, the user may select a data model 108 to be used with the selected control system 22, as shown in FIG. 9. Further, the user may create a data model via adding data model features 200, remove an existing data model via deleting data model features 202, and/or edit an existing data model 108 via editing data model features 204 in the visual representation 190. The data model 108 may define a hierarchy or relationship between different data sets in the data model 108.

At block 150, the computing device 24 may receive input for creating a new data model for the selected control system. The user may create the data model 108 using the added data model features 200 of the visual representation 190. The add data model feature 200 may prompt the user to provide details of the new data model 108. For example, adding the data model feature 200 may prompt the user to go to the visual representation 210 depicted in FIG. 10, and may include an example of a tool provided to the user for creating the hierarchical representation 134 associated with the components of the data model 108. In some implementations, one or more attributes associated with the data sources, detected control systems, respective sensors, and/or industrial automation components can be configured, reconfigured, and/or used as a triggering event by a user via the attributes pane 220 described with reference to fig. 10.

The visual representation 210 may include a data source, such as one or more control systems 22 (e.g., as described with respect to the visual representation 170), which may be represented by a tag 216 (e.g., SmartTag). A data set or portion of a data set of the one or more data sets 120 may be represented by a label 216. For example, the user may use the input visual representation 218 to add and/or describe the tag 216 to represent the control system 22 or a portion of the data originating from the control system 22. The visual representation 210 may also include the data model 108 previously selected in the visual representation 190 by the user or defined by the user using the add-on data model feature 200, for example. Further, the visual representation 210 can include a properties pane 220, the properties pane 220 including one or more properties associated with the selected data source (e.g., resulting from selection of the data source) or the selected component of the data model 108 (e.g., node 1 or child node 2).

In some implementations, the user can select a part 222 of the data model 108 using the visual representation 210, and one or more properties 224 associated with the selected part 222 can be provided to the user via the properties pane 220. The selected component 222 may be the data set 120 and may include other components, such as transaction data 122. The attributes 224 may include different values associated with the selected component 222, values associated with a data set associated with the selected component 222, transaction conditions associated with the selected component 222, or other attributes associated with the selected component. For example, the attributes 224 may include a visual representation of the values of the data set associated with the selected component 222. Further, the properties pane 220 may include properties associated with the transaction data 122. That is, the properties pane 220 may provide a visual representation of the transactional data 122, including: an event-driven condition specifying one or more conditions under which data associated with the selected component 222 may be transferred to other components; one or more defined rules, relationships, and/or trigger events that characterize how the data sets associated with the selected components 222 are stored in the data model 108; and/or other attributes associated with the selected component 222. The user may use the properties pane 220 to define and/or modify transactional data (e.g., the transactional data 122).

At block 152, the computing device 24 may receive input for defining components of the data model 108. The visual representation 210 can include added part features 212 that can add parts to the data model 108 and removed part features 214 that remove parts from the data model 108. By way of example, a user may define a parent component "node 1" and a child component "child node 2" using the add component feature 212. For example, a parent component "node 1" may be defined as a parent component that includes a child component "child node 2", as described below.

At block 154, the user may receive input for defining a data structure (e.g., hierarchical representation 134) associated with the selected portion of the data model 108. For example, a user may associate a data model component "node 1" with a data model component "child node 2" such that the data model component "child node 2" is represented as part of the data model component "node 1", as depicted in FIG. 10 as part of the hierarchical representation 134. In this manner, the user is enabled to define the hierarchical representation 134 of the structured data 116. That is, a user can associate data model components by binding tags using different features in different embodiments, such as dragging and dropping tags 216 to hierarchical levels in the hierarchical representation 134 to associate a data set to other components. In various embodiments related to the described methods, a user may associate different numbers of data model components to define the hierarchical representation 134. It should be noted that the components of the data model 108 may include a data set 120 (e.g., represented by a tag 216) as well as transaction data 122. The user may describe a workflow that specifies how to use the data set 120 and the transactional data 122.

In such embodiments, the user may define one or more data sets 120 and/or transactional data 122 for each hierarchical level of the data model 108, a particular data set in the data model 108, different data sources in the industrial automation system 10, and/or the like. The transaction data 122 may include trigger events defined for attributes 220 of selected components of the data model 108. The workflow may be defined using transaction data (e.g., transaction data 122) having transaction conditions that may define relationships between components of the data model 108 and/or relationships between components of the data model 108 and other data models and/or data destination components 118. Using the properties 224 of the selected component (e.g., selected component 222), the workflow may include one or more triggering events, conditional relationships, or a combination of both. For example, to cause the computing device 24 to perform certain actions (e.g., data transfer, control equipment) with respect to the retrieved data or other components in the industrial automation system 10, one or more conditions may be satisfied with respect to attributes of the retrieved data (e.g., temperature in excess of 200 degrees). The workflow may also automate processes internal to the components of the data model 108 and/or by mapping the components of the data model 108 to one or more external data models.

Proceeding to block 156, the computing device 24 may receive input for associating the selected raw data 114 of the control system 22 with a portion of the data model 108 and/or one or more data model components. By way of example, a user may select the data model component "node 1" and the data source tab 194 to select one or more data sources (e.g., the selected control system 22) to be associated with the data model component "node 1". The plurality of tags 216 may represent available data sources configured, for example, using the visual representation 170 of FIG. 8. That is, the user may select one or more data sources to be associated with the data model component "node 1" from the available data sources window as depicted in the visual representation 170 of FIG. 8. The user may repeat the process for "child node 2" and other components of the data model 108.

At block 158, the computing device 24 may store the defined model in the storage device 38. The data model may be stored on the memory 36 or storage device 38 of the computing device 24.

At block 160, the computing device 24 may present an available data destination component 118 in which data, the data model 108, or both may be sent in response to the application tab 198 being selected. For example, fig. 11 may include a visual representation 240, the visual representation 240 may depict the application tabs 198 of the configuration tabs 192. The application tab 198 may include a plurality of data destination components 118. The application tab 198 may enable a user to select one or more data destination components 118. The data destination component 118 can include a local data center 110, a cloud-based data center 112, and various other applications or programs that can be used to store, organize, or analyze data. The user may associate the new data model 108 or a particular component of the new data model 108 with one or more data destination components.

The selection of the application may include mapping one or more data sets 120 of the data model 108 to one or more data sets associated with a second data model associated with a third party application. For example, fig. 12 depicts a visual representation 250, the visual representation 250 including the data model 108 and a second data model 252 associated with a third-party application. The user may select the second data model 252 using the application tab 198 and the visual representation 240 of FIG. 11. In some implementations, a user can use the described tools to describe a workflow that coordinates how to retrieve and store data sets 120 based on transactional data 122. In this manner, the data set 120 may be customized for a particular third party application based on the transaction data 122, which may be specified by the user. In practice, the transaction data 122 may be configurable such that the data set 120, the conditions for collecting the data set, and the conditions for mapping the data set to the destination component 118 within the second data model 252 may be configurable or settable by a user.

It should be noted that the above-described processes 140, visual representations 170, 190, 210, 240, and 250 are provided for illustrative and descriptive purposes and should not be used as limitations on the scope of the present disclosure. For example, process 140 may be performed in any feasible order, some process steps may be added, and some of the aforementioned blocks may be partially removed depending on the application of the process. Any feasible electronic display may be used with the computing device 24, including non-graphical user interfaces. In various embodiments, a viable user interface may provide a coherent data flow between the industrial automation system 10 and various data destination components 118.

As described above, process 140 may be used to define data model 108 or selected portions of data model 108 by a user. Referring now to FIG. 13, process 280 may describe an example for requesting and receiving data from control system 22 using defined data model 108. For example, computing device 24 may utilize process 280 to provide contextualized data to a data requestor using data model 108, as described in detail below.

At block 282, the computing device 24 may receive a data request. The data request may come from the data destination component 118, be based on the transaction data 122, or both. As discussed above, the transaction data 122 may define a trigger or threshold for a value in the data set that causes a request to be sent from the data destination component 118. Alternatively, the computing device 24 may automatically generate the request based on the values in the dataset meeting or exceeding the threshold defined in the transaction data 122. For example, if the data set corresponds to pressure data, the transaction data 122 associated with the pressure data may specify: if the value exceeds 2250psa, the pressure data should be sent to the data destination component 118. In any case, in response to receiving a request for data, computing device 24 may use data model 108 to identify a corresponding control system 22 associated with the requested data.

At block 284, the computing device 24 may submit the data request to the respective control system 22. In some embodiments, the request may be associated with one or more respective control systems 22 and may be formatted according to conditions specified in the transaction data 122. That is, the transaction data 122 associated with the requested data set may specify a communication protocol (e.g., request type, syntax, communication port) that the computing device 24 should use to request access.

At block 286, the computing device 24 may receive the raw data 114 from the respective control system 22. In some embodiments, computing device 24 may receive raw data 114 and a corresponding data model, such as data model 108, from a corresponding control system 22. That is, the data model 108 may be part of the metadata of the raw data 114, may be stored in a database accessible to the computing system 24, provided with requests, part of the transaction data 122, and so forth. Thus, the computing device 24 may use the data model 108 to provide context for the received raw data 114.

At block 288, the computing device 24 may send the requested data to the data destination component 118. In some implementations, the computing device 24 may organize the raw data according to the data model 108. For example, the computing device 24 may structure the received raw data 114 against the received data model 108 and send the structured raw data 114 to the data destination component 118. For example, if the requested raw data 114 is associated with a child node of another data set, the computing device 24 may transmit the requested raw data 114 with the data set associated with the parent node.

In some implementations, the computing device 24 can send the requested data as structured data to the data destination component 118 according to the data model 108 or the reference data model 108. In any case, the data destination component 118 can in turn store the data according to the data model 108. Thus, the data set retrieved by the data destination component 118 can maintain its context, thereby providing a more comprehensive view of the relational nature of the data set to the user.

By performing the embodiments described herein, the computing system may combine the data set, the data model 108, and the transaction data 122 so that the data destination component 118 (e.g., an application) may efficiently collect and organize the data with its appropriate context. That is, the binding process associates tags, models, and transactions with application instances so that data sets can be stored and/or collected in an efficient manner utilizing predefined properties or default values. Further, the present embodiments described herein enable users to enter new attributes for a particular instance (e.g., a data set) to allow the data set to be contextualized for more efficient data representation. It should be noted that the structured context of the data sets and the conditions of the transactions described herein enable the respective computing devices to operate more efficiently by coordinating the flow of data across limited network connection bandwidth. In addition, contextualized data provides a particular format in which the data set can be stored to enable a user to understand and enable other devices to more efficiently process the data set.

Adapter component for transmitting data to an external platform

In addition to binding data sets 120, transactional data 122, and other types of data to employ the data model 108 to contextualize the data, the present embodiments described herein are also directed to systems and methods that leverage or implement certain functionality using an adapter component, which may be part of the computing device 24, to export contextualized data to an external device. More particularly, the present disclosure relates to utilizing tools provided in a Software Development Kit (SDK) or other tools provided by an external platform such that functions operated on by the external platform may be performed locally by the computing device 24 using the adapter component.

Because a large number of system variables can be monitored and controlled in real-time or near real-time, the computing device 24 can monitor data generated by the industrial automation system 10, which can be associated with a large number of near real-time data. The large amount of data generated by industrial automation system 10 allows a wide range of plant analysis to be applied to the automation systems and processes that make up an industrial enterprise or business. Reports, charts, and other human-readable formats are generally available or may be created for plant personnel and other personnel wishing to monitor and view the generated data in real-time mode or at a later time after the data is stored.

In this regard, the computing device 24 can employ the adapter component to obtain industrial automation data from various data sources located in the industrial automation system 10 for purposes such as those described above. The adapter component (e.g., implemented in hardware or software) may interact with a corresponding external platform via a corresponding protocol and appropriately translate/interpret the data received from each data source to retrieve the data stored therein. In addition to acquiring data from various data sources, the adapter component can interact with an external software platform (e.g., an IoT platform) that can provide visualization tools, analysis tools, monitoring tools, and the like to help organize and collect information from the collected data.

In view of the foregoing, the industrial automation system 10 can provide the structured data 116 to external components (e.g., external platforms, external devices), such as a data center, an Operations Technology (OT) system, and/or an Information Technology (IT) system. External components may use different data structures to store and/or process data. In some implementations, the computing device 24 can generate and use adapter components to associate structured data with data structures of external components using a local data model (e.g., data model 108) of the industrial automation system 10.

In some embodiments, the computing device 24 may obtain an Application Program Interface (API) and/or a Software Development Kit (SDK) of external components. The API and/or SDK may specify an external data model (or a portion of a data model) to be used by the external component. The computing device 24 may determine a relationship between the structured data 116 of the data model 108 and an external data structure of the external component based on the obtained API and/or SDK. Using the relationship between the structured data 116 and the external data structures, the computing device 24 can generate an adapter component. The adapter component can associate data of the data model 108 and the context of the data with external data structures of the external component. Thus, the computing device 24 may use the adapter component to provide data having context based on the identified relationship with the external component.

In particular embodiments, computing device 24 may provide a dedicated adapter component for mapping structured data to external data structures connected to each external component of computing device 24. For example, the computing device 24 may provide different adapter components for different external components based on obtaining the corresponding API and/or SDK. That is, in some other implementations, computing device 24 may determine an adapter component for mapping structured data 116 to a plurality of external components. For example, the computing device 24 may provide adapter components for a plurality of external components based on obtaining the respective APIs and/or SDKs. However, by providing and using adapter components, the computing device 24 can use the local data model while providing structured data to external components configured using different data structures.

FIG. 14 illustrates a communication network 300 in which computing devices 24 of packaging plant 50 may be communicatively coupled to a plurality of components 20 and/or their respective control systems 22 in communication network 300. In the depicted embodiment, the computing device 24 may receive the raw data 114 from the control systems 102, 104, and/or 106. Further, the computing device 24 may determine the structured data 116 according to the data model 108 detailed above. As described above, the computing device 24 can provide the structured data 116 to the data destination component 112.

In the depicted embodiment, the computing device 24 may also provide the structured data 116 to the external component 302 by mapping the structured data 116 to a data model of the external component 302. For example, the computing device 24 may communicatively couple the external component 302 using a network socket connection. However, in other embodiments, other suitable connections may be used. However, the computing device 24 may obtain the API and/or SDK data 304 of the external component 302 to facilitate data communication with the external component 302 using a local data model (e.g., the data model 108) of the computing device 24.

The API and/or SDK data 304 may provide the computing device 24 with a representation of the expected data structures of the external component 302. The computing device 24 may generate an adapter component 306 based on the received API and/or SDK data 304. That is, the computing device 24 may generate a software engine or program a hardware component (e.g., logic circuitry) to operate as the adapter component 306 to facilitate providing the representation of the structured data 116 to the external component 302 using the data structure of the external component 302. The adapter component 306 can identify relationships between the data model 108 and the data structures of the external component 302 based on the API and/or the SDK data 304.

In some implementations, the adapter component 306 can include logic to identify and provide relationships between the data model 108 and structured data of the external component 302. In some implementations, the adapter component 306 can generate the endpoint 308 to transfer the structured data 310 based on a mapping between the data model 108 and the data structure of the external component 302. Structured data 310 can be data that is received by the adapter component 306 and organized according to an external data structure interpretable by the external component 302. Endpoint 308 may be a port or communication point that may stream data directly to an external component according to an external data structure. For example, the computing device 24 may use the endpoint 308 as a proxy to provide contextualized data to the external component 302. That is, the adapter component 306 can modify the structured data 116 such that the endpoint 308 can receive the structured data 310, which structured data 310 can be provided directly to the external component 302.

By way of example, model structures generated from functionality provided within the computing device 24 (e.g., the data model 108) may not be carried to the external component 302 without manually receiving data and manually creating the model structures of the external component 302. However, as described above, the adapter component 306 can replicate model structures and tags within the external component 302 by accessing the API and/or SDK data 304 of the external component 302. For example, in one embodiment, the adapter component 306 can invoke the API and/or SDK data 304 from the computing device 24 through a network socket connection over a network TCP/IP connection. This will enable improved performance for other applications that may use other protocols or APIs (e.g., REST APIs) on other connections (e.g., HTTP connections).

Further, the adapter component 306 can use the API of the external component 302 and/or the SDK data 304 to automatically setup and configure applications, data entries, etc. within the external component 302 without performing manual input or file export and import operations. For example, in one embodiment, the adapter component 306 can use the SDK (e.g., of the API and/or SDK data 304) associated with the external component 302 to generate tools, functions, APIs, etc. that can enable the adapter component 306 to interface with the external component 302. In this manner, the adapter component 306 can leverage its translation and interconnection capabilities with the tools provided in the SDK of the external component 302 to create local tools and commands that can enable a user to generate and execute functions to be performed on the external component 302 via the computing device 24. As a result, data generated or obtained using local tools of the computing device 24 may be provided to the external component 302 such that the external component 302 may maintain data formats, tags, and other attributes generated within the computing device 24.

In some implementations, the computing device 24 can coordinate with the adapter component 306 to perform automated operations in the external component 302 employing local tools generated using the SDK of the external component 302. For example, the data acquired by the computing device 24 may include an information model (e.g., data model 108) that provides relational data about the corresponding data with other data sets. To provide this context to the external component 302, the adapter component 306 can use tools to parse the data to identify a corresponding information model associated with the external component 302. The adapter component 306 can then generate commands for performing operations including sending data and information models to the external component 302. The command, when received by the external component 302, can cause the external component 302 to create a data entry such that the context of the received data is stored within the external component 302 using the format of the external component 302. That is, the command may cause the external component 302 to automatically create data entries and bindings to represent data received by the external component 302 according to a corresponding information model based on the data model 108 stored in the computing device 24.

In view of the foregoing, in some embodiments, external component 302 may correspond to one or more applications in communication with computing device 24, applications executing on computing device 24, or the like. Each external component 302 can be accessed or executed by one or more other client devices and can seek data stored or contained in a data store or data source coupled to the adapter component 306. Indeed, the external component 302 may be accessible by a client device that may seek to retrieve data stored in one or more data sources that are not accessible to the client device. To facilitate connection of the external components 302 to the appropriate data source, the computing device 24 can receive data communications from the external components 302 and route the data communications to the adapter component 306 associated with the particular external component 302. As discussed above, the adapter component 306 can convert or modify the data communications received from the external component 302 into a format or data model 108 recognizable by the computing device 24.

Additionally, the adapter component 306 can use a protocol that enables it to interact with and retrieve data from the external component 302. As a result, the adapter component 306 can allow various applications to request data from various data sources without requiring the respective host device to be directly connected to the data sources, nor requiring the external component 302 or the computing device 24 to be configured with any particular protocol to communicate with the respective data sources. That is, the adapter component 306 can enable the computing device 24 to bridge between various client devices and other industry standard devices, protocols, and applications.

In some implementations, the adapter component 306 can also provide the ability to perform certain operations on the external component 302 that can collect, analyze, and store data provided by the computing device 24. Indeed, some of these operations may include: create entities or entries within the external component 302 from external sources via the adapter component 306, read entity structures and data for external sources (e.g., client devices) from the external component 302 via the adapter component 306, update and modify entity structures and data in the external component 302 from external sources (e.g., client devices) via the adapter component 306, delete entities, entity structure elements and data in the external component 302 via the adapter component 306, and the like.

Indeed, by employing the adapter component 306 described herein, the computing device 24 may avoid using manual processes or manual file XML (extensible markup language) exports and imports to push or extract data directly from other connected client devices to external platforms, which may be used to create entity structures, update entity structures, and delete entity structures within external platforms. In contrast, by using the adapter component 306 to perform the embodiments disclosed herein, the computing device 24 can use the same native functionality of the computing device 24 to access multiple data sources operating according to different programming languages, such that the collected data can be provided directly to the external component 302 in a format that the external component 302 can interpret and use.

Because the adapter component 306 can enable a common gateway platform (e.g., information gateway, edge computing device) to interact with the external component 302, the computing device 24 can provide the functionality of the external component 302 as local functionality to the computing device 24. That is, the adapter component 306 can provide functionality to connect, create, read, write, update, delete, run commands and queries, and disconnect from the external component 302 using local commands and actions that can be interpreted by the computing device 24. As a result, the ability of computing device 24 to understand and interface with various types of components using various programming languages may extend to the functionality of external component 302, and external component 302 may not be able to interpret data received directly from the various types of components.

FIG. 15 shows a process 330 for providing structured data 310 to external component 302. The process 330 may be performed by the adapter component 306 or any suitable computing device. The adapter component 306 can associate the data set 120 and/or the transaction data 122 described above with reference to FIG. 5 with the data set of the external component 302 using the API of the external component 302 and/or the SDK data 304. It should be understood that the order of process 330 is provided by way of example, and that process 330 may be performed in any suitable order.

Referring now to FIG. 15, at block 332, the adapter component 306 can receive a request to stream the structured data 116 to the external component 302. The request may be provided via a client device or other application accessible to the computing device 24. As discussed above, the computing device 24 may communicatively couple the external component 302 or other devices using a web socket connection or other suitable communication protocol.

At block 334, the adapter component 306 can retrieve a first data model (e.g., the data model 108) associated with the structured data 116. Subsequently, at block 336, the adapter component 306 can determine the data set 120 and/or the transactional data 122 associated with the structured data 116 based on the first data model. At block 338, the adapter component 306 may receive an indication of a second data model associated with the external component 302. In some implementations, the adapter component 306 can determine the second data model based on the API and/or SDK data 304 of the external component 302. Thus, the adapter component 306 can identify the external data structure of the external component 302.

At block 340, the adapter component 306 can determine a relationship between the first data model and the second data model. The adapter component 306 can determine a representation of the data structure of the external component 302 based on the first data model and the second data model. For example, the adapter component 306 can generate a table associated with the determined relationship between the first data model and the second data model. That is, the table may indicate the name of the relevant variable, the relevant operation, the relevant function, the relevant data type, and other relevant attributes between the first data model and the second data model.

At block 342, the adapter component 306 can map the structured data 116 to a respective dataset of the second data model based on the determined relationship. In one embodiment, the adapter component 306 can generate an endpoint 308, and the endpoint 308 can include a mapping of the structured data 116 to a dataset of the second data model. Thus, endpoint 308 may be configured to receive structured data 116 and automatically convert it into stream structured data 310. At block 344, the adapter component 306 can transmit the structured data 310 to the mapped data set of the external component via the endpoint 308 according to the second data model. Thus, the computing device 24 can use the local data model (first data model) to stream data in a structured form to the external component 302 according to the external structure of the external component 302. In addition, similar processing may be used to provide streaming data in a structured form to other external components using various data models.

While only certain features of the invention have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

The technology presented and claimed herein is cited and applied to material objects and specific examples of practical nature that clearly improve the art and are thus not abstract, intangible or purely theoretical. Furthermore, if any claim appended hereto contains one or more elements designated as "means for [ performing ] a. However, for any claim that contains elements specified in any other way, such elements are not to be construed according to 35u.s.c 112 (f).

36页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于网络控制的自动下线贴标系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类