调整数据模型以与外部平台进行数据通信

文档序号:1815141 发布日期:2021-11-09 浏览:1次 >En<

阅读说明:本技术 调整数据模型以与外部平台进行数据通信 (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.)

调整数据模型以与外部平台进行数据通信

相关申请的交叉引用

本申请要求于2020年5月8日提交的标题为“External Platform Adapter for aCommon Gateway Platform”的美国临时专利申请第63/022,213号的权益,该美国临时专利申请的全部内容通过引用结合到本文中用于所有目的。

背景技术

本公开内容总体上涉及用于收集在例如控制器、装置等工业自动化部件上存储的数据的上下文的系统和方法。特别地,本公开内容涉及用于采用信息网关部件的系统和方法,当从部件请求数据时,该信息网关部件可以移动数据以及与该数据相关联的值。

本部分旨在向读者介绍可能与下面描述和/或要求保护的本技术的各个方面相关的领域的各个方面。认为该讨论有助于向读者提供背景信息以促进更好地理解本公开内容的各个方面。因此,应当理解,应当从该角度来解读这些陈述,而不是将这些陈述作为对现有技术的承认。

工业自动化系统可以包括包含多个工业自动化部件的工业自动化层。工业自动化部件可以包括各种部件,例如阀、电动马达、各种传感器、其他合适的监测装置等。工业自动化部件可以提供指示来自其中的信息或状态的数据。此外,工业自动化部件可以包括编程终端、自动化控制器、输入/输出(I/O)模块、通信网络、人机接口(HMI)终端等,以接收数据形式的状态和/或信息。工业自动化系统可以向操作者提供所接收的各种信息化格式的状态和/或信息,例如改变或调整工业自动化系统的一个或更多个部件的操作的警报、或者调整一个或更多个致动器的操作,以管理工业自动化系统等。

通常,上述联网部件可以与例如不同的状态、感测数据等信息相关联。信息可以与工业自动化系统的操作相关,并且可以由一个或更多个自动化控制和监测系统监测。特定通信系统被用于将信息传输至工业自动化系统的自动化控制和监测系统。例如,每个联网装置可以经由有线通信网络或无线通信网络与一个或更多个自动化控制和监测系统进行通信。出于这种考虑,改进用于工业自动化系统中自动化控制和监测系统与联网装置之间的通信的方法可能是有用的。

发明内容

下面阐述本文中公开的特定实施方式的概述。应当理解的是,呈现这些方面仅是为了向读者提供这些特定实施方式的简要概述,并且这些方面并不旨在限制本公开内容的范围。实际上,本公开内容可以包括可能未在下面阐述的各个方面。

在一个实施方式中,一种有形非暂态机器可读介质包括机器可读指令,该机器可读指令在由处理器执行时使工业自动化系统的处理器执行动作。该动作可以包括:接收用于将第一数据集传输至通信地耦接至处理器的外部部件的请求,基于与第一数据集相关联的信息模型确定第一数据集的第一数据结构,检测与外部部件相关联的一个或更多个数据集的第二数据结构,以及确定第一数据结构与第二数据结构之间的关系。该动作还可以包括基于该关系将第一数据集转换成根据第二数据结构进行结构化的第二数据集,并且将第二数据集传输至外部部件。

在另一实施方式中,描述了一种工业自动化系统。该工业自动化系统可以包括用于执行多个操作的多个装置。此外,一个或多个处理器可以执行操作。该操作可以包括接收用于将第一数据集传输到通信地耦接至处理器的外部部件的请求,基于与第一数据集相关联的信息模型来确定第一数据集的第一数据结构,检测与外部部件相关联的一个或更多个数据集的第二数据结构,以及确定第一数据结构与第二数据结构之间的关系。该操作还可以包括基于该关系将第一数据集转换成根据第二数据结构进行结构化的第二数据集,并且将第二数据集传输至外部部件。

在又一实施方式中,描述了一种操作工业自动化系统的方法。该方法可以包括使用计算装置来执行操作,该操作包括接收用于将第一数据集传输至通信地耦接至计算装置的外部部件的请求,基于与第一数据集相关联的信息模型来确定第一数据集的第一数据结构,检测与外部部件相关联的一个或更多个数据集的第二数据结构,以及确定第一数据结构与第二数据结构之间的关系。该方法还可以包括基于该关系将第一数据集转换成根据第二数据结构进行结构化的第二数据集,并且将第二数据集传输至外部部件。

附图说明

当参照附图阅读以下

具体实施方式

时,将更好地理解本公开内容中描述的实施方式的这些和其他特征、方面和优点,其中,遍及附图,相似的附图标记表示相似的部分,在附图中:

图1示出了根据本文中提供的实施方式的表示工业自动化系统的示例分层层级的框图;

图2示出了根据本文中提供的实施方式的图1的工业自动化系统的计算装置内的部件的框图;

图3示出了根据本文中提供的实施方式的采用图1的工业自动化系统的示例包装工厂;

图4示出了根据本文中提供的实施方式的可以在图1的工业自动化系统内采用的计算装置与控制系统之间的关系的框图;

图5示出了根据本文中提供的实施方式的可以由图4的控制系统传输的非结构化原始数据;

图6示出了根据本文中提供的实施方式的由图1的计算装置根据数据模型组织的分层结构化数据;

图7示出了根据本文中提供的实施方式的用于由图1的计算装置定义数据结构的方法的流程图;

图8描绘了根据本文中提供的实施方式和图7的流程图中的框144的向用户呈现所连接的控制系统的示例可视化表示;

图9描绘了根据本文中提供的实施方式和图7的流程图中的框148的向用户呈现数据模型列表的示例可视化表示;

图10描绘了根据本文中提供的实施方式和图7的流程图中的框150的呈现数据模型的部件的分层表示的示例可视化表示;

图11描绘了根据本文中提供的实施方式和图7的流程图中的框156的呈现供用户选择的可用数据源的示例可视化表示;

图12描绘了根据本文中提供的实施方式和图7的流程图中的框160的呈现包括多个数据目的地部件的应用选项卡的示例可视化表示;

图13示出了根据本文中提供的实施方式的用于使用图1的计算装置来传输根据数据模型组织的数据的方法的流程图。

图14示出了根据本文中提供的实施方式的指示可以在图1的工业自动化系统内采用的计算装置和控制系统与使用不同数据结构的外部部件之间的关系的框图;以及

图15示出了根据本文中提供的实施方式的用于将根据数据模型组织的数据传输至采用不同数据模型的外部部件的方法的流程图。

具体实施方式

下面将描述本公开内容的一个或更多个具体实施方式。为了提供对这些实施方式的简洁描述,可能未在说明书中描述实际实现方式的所有特征。应当理解,在任何这样的实际实现方式的开发中,如在任何工程或设计项目中,必须做出大量的特定于实现方式的决策来达到开发者的具体目标,例如与系统相关约束和商业相关约束相兼容,这些具体决策依实现方式的不同而各不相同。此外,应当理解,这样的开发努力可能是复杂且耗时的,但对于受益于本公开内容的普通技术人员而言,这样的开发努力仍然是设计、制造和生产的例行任务。在介绍本公开内容的各种实施方式的元件时,“单数形式”、“该(the)”以及“所述(said)”旨在表示存在一个或更多个元件。术语“包括(comprising)”、“包含(including)”和“具有(having)”旨在是包含性的并且表示可能存在除了所列出的元件以外的附加元件。

本公开内容一般涉及用于收集在诸如控制器、装置等工业自动化部件上存储的数据和数据的上下文的系统和方法。数据模型可以用于详述某些约束、规则、数据、数据值、操作或其他类型的信息之间的关系。数据模型可以指定一些种类或类型的数据之间相对于其他类型的数据而言的关系。就此而言,数据模型可以提供关于某些数据集与其他数据集如何相关的上下文。因此,可以向不同的软件平台、装置等提供稳定且有组织的信息结构。通过示例的方式,在采用操作技术(OT)系统和信息技术(IT)系统的工业自动化系统中,当传输数据时在OT系统与IT系统之间通信的数据可能不包括数据的上下文(例如,属性)。替代地,可能在不提供有关数据的适当上下文的情况下传输数据的原始值。

出于这种考虑,本文中描述的实施方式可以包括可以收集和保存从各种装置获取的数据的上下文的部件,如计算装置,使得计算装置可以将所获取的数据连同数据的上下文一起传输。例如,如果数据模型将数据集A定义为包括数据集B和数据集C,则在有利于对数据集A的请求的情况下,计算装置可以获取数据集B以及数据集C。在某些实施方式中,数据模型可以提供关于相关数据集的上下文。可以针对数据集将数据模型定义为SmartTag(例如,元数据)或能够在数据模型中详述数据集之间的关系的另一合适的数据结构。通过向数据模型提供检索到的数据集,计算装置可以提供有关工业自动化系统中各种装置和部件之间的关系的上下文信息,并且实现装置之间连贯的数据传送。

除了检索与相应数据模型有关的具有特定数据结构的数据集之外,计算装置还可以提供使用户能够提供与特定数据集相关联的上下文或信息模型的用户接口。以这种方式,用户可以向数据集添加数据模型或上下文,使得检索到数据可以与适当的上下文一起被继续传输给其他装置。

通过为数据提供其上下文,不同的软件平台可以更有效地对检索到的数据进行合成或分析。例如,在分析数据集之前,可以对未提供上下文的的非结构化部件数据进行预处理,以将相关的数据集组合在一起。此外,通过检索具有适当上下文的数据集,计算装置可以获取数据集并且显示出这些数据集是如何经由特定上下文相关的。

除了检索具有SmartTag和/或与相应数据模型相关的其他数据结构的数据集之外,计算装置还可以为用户提供用户接口,以输入转换条件或事务条件,来定义用于使用与一个或更多个数据集相关联的数据模型和/或上下文来传送数据集的工作流。例如,用户可以使用SmartTag和用以控制工业自动化系统的数据生成部件与数据目的地部件之间的数据转换的事务条件来描述工作流。例如,用户可以通过以下方式来描述事务条件:针对从第一数据源(例如,温度传感器)检索到的数据定义触发事件(例如,当数据值超过300时),该触发事件用以启动从第二数据源(例如,压力传感器)捕获数据。另外,事务条件可以定义将如何从数据源收集数据。即,事务条件可以详述使用特定驱动器和收集路径从数据源访问数据。以这种方式,以下描述的本实施方式更好地使用户能够进行以下操作:描述不同的数据集;通过定义各个数据集之间的关系来将数据集与一个或更多个其他数据集相关联;定义事务条件,该事务条件用于详述使用本文中描述的数据模型通过工业自动化系统进行数据通信的定制工作流。下面将参照图1至图13描述关于为数据集提供上下文以及定义从源检索数据集和将其发送至目的地的方式的其他细节。

通过介绍的方式,图1描绘了可以在其中实现本实施方式的示例工业自动化系统10的框图实施方式。工业自动化系统10可以是材料处理、包装工业、制造、处理、批处理或采用了一个或更多个工业自动化部件的任何技术领域中的任何系统。在一个实施方式中,工业自动化系统10可以包括工厂12,该工厂12可以包含整个工业自动化系统10的一部分。就此而言,工业自动化系统10可以包括可以与工厂12一起被采用以执行工业自动化处理等的其他工厂14。

每个工厂12(或工厂14)可以被划分为多个区域16,区域16可以包括使用不同类型的工业自动化部件的不同生产过程。在一个示例中,一个区域16可以包括子装配生产过程,并且另一区域16可以包括核心生产过程。在另一示例中,每个区域16可以与在制造过程中执行的不同操作有关。例如,在豆形软糖制造系统中,区域16可以包括豆形软糖制作区域、包装区域、水过滤区域等。在又一示例中,区域16可以包括可以在其中执行特定工业过程的生产线。回到豆形软糖制造系统的示例,该生产线可以包括可以在其中产生软糖豆的烹饪线、可以根据相应的风味对软糖豆进行分拣的分拣线、以及可以在此将已分拣的软糖豆包装到盒子等中的包装线。

区域16还可以与多个工业自动化部件20(在下文中被称为部件20)的物理位置相关联。部件20可以包括各种阀、电动马达、各种传感器、其他合适的监测装置等。区域16还可以与工业自动化系统10的不同规范区域(例如批量操作区域、连续操作区域、离散操作区域、库存操作区域等)相关。

区域16可以被细分为较小的单位或单元18,单元18可以被进一步细分为部件20。使用上述示例,子装配生产过程区域16可以被细分为单元18,单元18可以表示可以用来执行子装配生产过程的一个方面的部件20的特定组。就此而言,单元18可以包括区域16的一部分,例如生产线的第一部分。单元18也可以包括特定过程的不同部分。

然后可以将这些单元18进一步细分为部件20,部件20可以对应于各个工业自动化部件,例如控制器、输入/输出(I/O)模块、马达控制中心、马达、人机接口(HMI)、操作员接口、接触器、起动器、传感器、驱动器、中继设备、保护装置、开关装置、压缩机、网络交换机(例如,模块化管理型、固定管理型、服务-路由器型、工业型、非管理型以太网交换机等)等。尽管将工厂12、工厂14、区域16和单元18称为工厂、区域和单元,但应当注意,在各种工业中,这些分组的名称可以不同。

部件20还可以涉及各种工业设备,例如混合器、机器传送机、罐、滑橇、专业的原始设备制造商机器等。部件20还可以与被设备使用的装置例如扫描仪、仪表、阀、流量计等相关联。在一个实施方式中,部件20的每个方面可以由单个控制器(例如,控制系统)控制或操作。在另一实施方式中,对部件20的每个方面的控制和操作可以经由多个控制器(例如,控制系统)来分配。

部件20可以在对应的单元18、区域16和/或工厂12内使用,以执行针对相应的单元18、区域16和/或工厂12的各种操作。在某些实施方式中,部件20可以通信地彼此耦接、耦接至工业控制系统22等。在一些在实施方式中,部件20可以包括路由器、交换网关以及可以利于部件20的通信耦接的其他通用装置。另外,工业控制系统22(在下文中称为控制系统22)还可以通信地耦接至一个或更多个子系统,一个或更多个子系统可以监测和/或控制每个相应单元18、区域16或工厂12的操作。

在一个实施方式中,控制系统22可以包括计算装置,该计算装置可以包括通信能力、处理能力等。例如,控制系统22可以是控制器,例如可编程逻辑控制器(PLC)、可编程自动化控制器(PAC)或者可以监测、控制和操作工业自动化部件20的任何其他控制器。在其他实施方式中,控制系统22可以被并入一个或更多个部件20(例如,边缘计算装置),或者可以被实现为独立的计算装置(例如,通用计算机),例如台式计算机、膝上型计算机、平板计算机、移动设备计算装置等。

在某些实施方式中,控制系统22可以被实现在装置内并且使部件20能够彼此连接和通信。例如,控制系统22可以被实现在网络路由器和/或交换机内。以这种方式,网络路由器和/或交换机可以托管控制系统22以控制和操作部件20,并且可以通信地耦接至相应的网络路由器和/或交换机。由于网络路由器和/或交换机可以用作用于部件20之间的数据传送的集线器,因此嵌在路由器和/或交换机内的控制系统22可以被策略性地放置在数据网络中,以访问或接收与各种部件20相关联的数据。就此而言,控制系统22可以对所接收的数据执行各种类型的分析,并且然后可以基于分析结果更有效地或更高效地控制和操作相应的部件20。

除了以上提及的物理装置之外,控制系统22还可以包括对任何上述物理装置的基于软件的仿真。例如,控制系统22可以被实现为可以像某些硬件控制器、装置等那样执行类似操作的软件模块。就此而言,控制系统22可以创建硬件部件(例如,控制器、I/O模块)的虚拟实例。这些虚拟实例可以提供可以实现控制系统22以监测和控制部件20的更灵活的方式。

在一个实施方式中,可以在可访问云的平台(即,云计算系统)、一个或更多个服务器、各种计算装置(例如,通用计算机)等中虚拟地实现控制系统22。就此而言,控制系统22可以作为软控制器或者作为在云计算系统中运行的控制引擎来操作。通过在云计算系统中虚拟地实现控制系统22,控制系统22可以使用分布式计算架构来执行各种分析和控制操作。随着与部件20、单元18、区域16和工厂14相关联的更多数据变得可用,云计算系统中的分布式计算架构可以使控制系统22能够更高效地提供数据分析。即,由于云计算系统可以结合大量计算系统和处理器来执行数据分析,因此能够更快地获得分析结果。以这种方式,可以实时或接近实时地控制部件20、单元18、区域16和工厂14的相应操作。

考虑到前述内容,应当理解,如遍及本公开内容所提及的,控制系统22可以被实现为用于监测和/或操作部件20、单元18、区域16和工厂14的物理部件(例如,基于硬件)和/或虚拟部件(例如,基于软件)。而且,通过提供将控制系统22结合到各种类型的环境中的能力,工业自动化系统10可以良好地适合于通过添加新的部件20来扩充和发展。

在某些实施方式中,计算装置24可以连接至一个或多个控制系统,例如控制系统22。计算装置24可以从与相应部件20相关联的一个或多个控制系统接收数据。计算装置24可以例如通过根据数据模型将所接收的数据分配给数据集来向所接收的数据提供结构。计算装置24可以使用数据模型向来自控制系统22的所接收的数据提供上下文。在一些实施方式中,计算装置24可以从多个单元18、多个区域16和/或不同工厂12和/或工厂14之间的部件20接收数据。本文中描述的计算装置24在不同的实施方式中可以被称为信息网关、网关、边缘计算装置、或者被称为其他名称。

在一些实施方式中,计算装置24可以被实现在不同的物理装置中,例如控制系统22和/或部件20、网络路由器和/或交换机、或者独立的计算装置(例如,通用计算机)如台式计算机、膝上型计算机、平板计算机、移动设备计算装置等。在其他实施方式中,计算装置24可以被实现为控制器,例如可编程逻辑控制器(PLC)、可编程自动化控制器(PAC)、或者可以监测、控制和操作工业自动化装置或部件的任何其他控制器。另外,计算装置24可以包括对任何上述物理装置的基于软件的仿真。

如上所述,计算装置24可以是可以包括通信能力、处理能力等的任何计算装置或控制器。图2示出了可以用来执行本文中描述的技术的计算装置24中的部件的详细框图30。

现在参照图2,计算装置24可以包括通信部件32、处理器34、存储器36、存储装置38、包括输入/输出(I/O)端口的I/O模块40、显示器42等。通信部件32可以是无线或有线部件,其可以利于单元18、区域16、工厂12或工厂14的部件20、控制系统22等之间的通信。

通信部件32可以是利于计算装置24与其他合适的电子装置之间的通信的无线或有线通信部件。处理器34可以是能够执行计算机可执行代码的任何类型的计算机处理器或微处理器。处理器34还可以包括可以执行下述操作的多个处理器。

存储器36和存储装置38可以是可以用作存储处理器可执行代码、数据等的介质的任何合适的制品。这些制品可以表示可以存储由处理器34使用以执行当前公开的技术的处理器可执行代码的计算机可读介质(即,任何合适形式的存储器或存储装置)。在一些实施方式中,存储器36可以包括易失性数据存储单元,例如随机存取存储器(RAM),并且存储装置38可以包括非易失性数据存储单元,例如硬盘。存储器36和存储装置38还可以用来存储数据、数据模型等。存储器36和存储装置38可以表示可以存储由处理器34使用以执行本文中描述的各种技术的处理器可执行代码的非暂态计算机可读介质(即,任何合适形式的存储器或存储装置)。应该注意,非暂态仅指示介质是有形的而不是信号。

计算装置24还可以包括输入/输出(I/O)模块40。I/O模块40可以使计算装置24能够与工业自动化系统中的各种装置通信。此外,I/O模块40可以使计算装置24能够从控制系统22和/或其他控制系统接收数据。I/O模块40可以是可以耦接至其他外围部件例如输入装置(例如,键盘、鼠标)、传感器、输入/输出(I/O)模块等的接口。

显示器42可以操作成描绘与由处理器处理的软件或可执行代码相关联的可视化表示。在一个实施方式中,显示器可以是能够接收来自用户的输入的触摸显示器。例如,显示器42可以是任何合适类型的显示器,例如,液晶显示器(LCD)、等离子体显示器或有机发光二极管(OLED)显示器。另外,在一个实施方式中,显示器42可以与可以用作控制接口的一部分的触敏机构(例如,触摸屏)结合来提供。显示器42可以向用户提供关于经由通信部件32接收的数据的信息。该信息可以包括从控制系统22或其他控制系统接收的数据,并且可以与各种部件相关联。显示器42还可以由用户使用以向计算装置24提供输入,例如定义具有相应数据结构的数据模型,查询要从工厂12的各种部件收集的特定数据等。

应当注意,以上关于计算装置24描述的部件是作为示例的,并且与所示的部件相比,计算装置24可以包括附加部件或更少的部件。尽管框图30是针对计算装置24描绘的,但是应当注意,计算装置24可以与本文中描述的任何合适的计算系统相关联。还应当注意,计算装置24或其他合适的部件可以包括所描述部件中的全部部件或一些部件以执行本文中描述的各种技术。

图3中描绘了包装工厂50的示例工业自动化系统10以及包装工厂50可以被如何划分和细分为区域16和单元18。如图3所示,包装工厂50可以表示可以在食品和饮料工业中采用的可以处理饮料容器的示例性高速包装线(即,饮料线)。就此而言,包装工厂50可以包括例如可以使机器部件能够对容器进行填充、加标签、包装或码垛的工业自动化部件。包装工厂50还可以包括一个或更多个传送机区段,其可以在机器部件之间运输、对齐或缓冲容器。尽管图3示出了包装工厂,但是应当注意,本文中描述的实施方式不限于用于包装工厂。而是应当理解,可以在任何工业自动化环境中采用本文中描述的实施方式。

如图3所示,包装工厂50可以包括被配置成执行与饮料包装过程有关的特定功能的机器部件。例如,饮料包装过程开始于装载站52,在装载站52处,经由传送机区段54将待填充的空罐或空瓶的垛供给到包装工厂50中。传送机区段54将空罐从装载站52运输到清洗站56,在清洗站56处,清洗空罐和空瓶并准备好进行填充。随着清洗过的罐和瓶离开清洗站56,传送机区段54可以逐渐过渡到对齐传送机区段58,使得清洗过的罐和瓶以单行作业线进入填充和密封站60。

当清洗过的罐和瓶以稳定、均匀的流进入填充和密封站60时,填充和密封站60可以以最佳速率运行。然而,如果传送机区段54与对齐传送机区段56之间的过渡不稳定或比期望的快,则填充和密封站60可能无法以最佳速率运行。就此而言,优化传送机区段(即,传送机区段54或对齐传送机区段58)的性能参数(例如,速度、尺寸、功能、位置/布置或数量)可以有益于包装工厂50的效率。

随着经密封的罐离开填充和密封站60,缓冲传送机区段62可以保持经密封的罐以延迟它们进入下一站。另外,缓冲传送机区段62可以以单行作业线运输经密封的罐,使得经密封的罐在期望的时间以期望的罐数量到达消毒站64或贴标签站66。与填充和密封站60类似,当缓冲传送机区段62以最佳性能参数(例如最佳速度、尺寸、功能、位置/布置或数量)操作时,包装站64或贴标签站66高效地运行。在罐和瓶已经被消毒和/或贴标签之后,在包装站68处将它们包装到箱中(例如6个一包、24个一包等),然后在站70处将它们码垛以供运输或将其存储在仓库72中。明显的是,对于其他应用,特定的系统部件、传送机及其功能将有所不同,并且针对应用来具体调整。

包装工厂50还可以包括计算装置24和控制系统22,其可以位于控制室74中,分布到一个或更多个传感器76上等。控制系统22可以耦接至一个或更多个传感器76,传感器76可以监测包装工厂50的机器部件或传送机区段的各个方面。传感器76可以包括任何类型的传感器,例如压力传感器、加速计、热传感器、运动传感器、电压传感器等。传感器76可以位于包装工厂50内的各个位置,并且可以在包装工厂50的运行期间测量与饮料包装过程相关的所关注的参数值。例如,在某些实施方式中,传感器76可以包括被配置成测量每分钟进入或离开机器部件(即,站54、站56、站58、站64、站66、站68或站70)的瓶或容器的速率、或者瓶在传送机区段(例如,传送机区段54或传送机区段62)的部分上的累积速率的传感器。通常,可以使用能够测量与包装工厂50的饮料包装过程相关的所关注的参数值(例如,速率、压力、速度、累积、密度、距离、位置/布置、数量、尺寸等)的任何传感器76。

在一些实施方式中,包装工厂50可以包括多个工业自动化动力部件78,其可以用于控制由包装工厂50中的各种机器部件使用的动力。动力部件78可以包括可以用来操作对应的机器部件的装置,例如驱动器、马达、逆变器、开关装置等。例如,传送机区段54可以使用马达进行旋转,该马达可以经由诸如变频驱动器的动力部件78控制。

动力部件78可以包括可以监测和控制相应动力部件78的操作的控制系统22。就此而言,动力部件78可以对应于以上关于图1描述的部件20。返回上面的示例,动力部件78的控制系统22,例如用于控制使传送机区段54旋转的马达的驱动器,可以监测提供给马达的电压并且可以确定传送机区段54移动时可以具有的速度。在一个实施方式中,动力部件78的控制系统22可以将与传送机区段54的速度相关的数据发送至控制系统22,或者发送至可以控制其他部件20的其他控制系统。以这种方式,控制系统22或其他控制系统可以了解动力部件78的操作,并且可以在确定其相应部件应当如何操作时考虑这些操作。

考虑图3的包装工厂50,控制系统22可以从分散在整个包装工厂50中的多个动力部件78接收数据。在一些实施方式中,控制系统22可以关于预先定义的范围或分层层级将所接收的数据上下文化(contextualize)。在其他实施方式中,计算装置24可以从控制系统22查询数据,并且可以根据如上所述的不同数据模型将数据上下文化。例如,图4示出了通信网络100,在该通信网络100中,包装工厂50的计算装置24可以通信地耦接至多个部件20和/或其相应的控制系统22。

在一个实施方式中,可以基于包装工厂50的部件20和/或单元18的功能对包装工厂50的范围进行分类。例如,参照图3,装载站52可以被分类为单元1,清洗站56可以被分类为单元2,密封站60可以被分类为单元3,消毒站64可以被分类为单元4,贴标签站可以被分类为单元5,并且包装站68可以被分类为单元6。

在一些实施方式中,用户可以经由计算装置24定义、访问和/或修改数据模型108。用户可以包括工厂操作人员并且可以使用数据目的地部件118。数据目的地部件118可以包括用户接口和数据中心,例如本地数据中心110或基于云的数据中心112。

考虑到前述内容,计算装置24可以使用通信部件32来促进通信网络100的操作。例如,计算装置24可以使用通信部件32来与一个或更多个控制系统22(例如,控制系统102、控制系统104和/或控制系统106)通信。控制系统22可以监测和/或控制单元18、区域16或工厂12中的部件20的操作或部件20的集合的操作。例如,控制系统102、控制系统104和/或控制系统106可以从可能位于单元18、区域16或工厂12中的资产、控制器等(例如,部件20)接收数据或信息。然后计算装置24可以通过使用通信部件32来接收从控制系统102、控制系统104和控制系统106收集的数据。

在一个实施方式中,计算装置24可以接收关于以下情况的数据:工业自动化系统10可以被如何细分,每个区域16、单元18和各种部件20可以如何彼此交互,哪些部件20是每个工厂12、区域16或单元18的一部分等。例如,每个区域16可以与特定的制造过程相关。就此而言,可以根据数据模型108来处理或上下文化由计算装置24接收的数据。例如,数据模型108可以将所接收的数据表示为其他数据集的一部分、表示在不同标签下、以及/或者表示在数据结构层次的不同层次级别中。

在某些实施方式中,计算装置24可以将所接收的数据呈现为具有上下文并且呈数据模型108的形式。控制系统102、控制系统104和/或控制系统106可以基于数据模型108各自识别一个或更多个部件20与相应的单元18或区域16的关系。随后,控制系统102、控制系统104和/或控制系统106可以将所识别的关系提供给计算装置24。

例如,计算装置24可以从控制系统102、控制系统104和控制系统106接收分别与不同的部件20相关联的数据。当接收到与部件20相关联的数据,计算装置24可以识别与所接收的数据相关联的数据模型,例如数据模型108。然后,计算装置24可以根据数据模型108提供对所接收的数据的表示,从而向用户提供关于所接收的数据的上下文。例如,数据模型108可以指示所接收的数据与工厂12、区域16、单元18和/或部件20相关联。

数据模型108可以被定义成处理与特定部件20相关联的所接收的数据。此外,计算装置24可以使用数据模型108来提取每个部件20的具体细节。即,计算装置24可以处理所接收的数据以向从每个工业部件接收的数据集(例如速度、流量、温度和加速度等其他变量)提供上下文。另外,数据模型108可以提供包括与其他装置、系统、车间、服务器、装置类型或用于将所接收的数据分类的其他类别的关联或关系的上下文化的数据。

在一些实施方式中,可以在计算装置24的存储装置38中预定义数据模型108。数据模型108、数据模型108的一部分、或者与模型108相关联的部件可以从控制系统102、104和/或106传输至计算系统24。在某些实施方式中,用户可以经由计算系统24的用户接口(例如通过使用显示器42)来定义用于所接收的数据的数据模型108。计算装置24可以接收定义数据模型108的指令,计算装置24可以将所接收的数据模型108存储在存储装置38上,并且可以使用用户定义的数据模型108来组织所接收的原始数据114。随后,计算装置24可以响应于接收到对信息(例如,速度数据、流量数据和温度数据)的请求而向目的地部件118和/或用户提供结构化数据116。

数据模型108可以向所接收的原始数据114提供结构,使得所接收的原始数据114可以以结构化数据116的形式提供给用户。结构化数据116可以包括数据集和/或数据集的一个或更多个分层表示。数据模型108还可以被并入工作流中,该工作流可以包括数据模型108的部件之间的事务条件和条件事务,同时提供具有所传送的数据集的结构化数据116。在一些实施方式中,用户可以通过经由计算装置24基于数据模型108确定数据集的一个或更多个方面来定义此类事务。在不同的实施方式中,用户可以通过基于数据模型108的数据集之间的一个或更多个关系指定要如何检索和传送数据集来定义事务。例如,用户可以定义如下事务:从与数据源相关联的数据模型的数据部件检索数据集,并且将检索到的数据集传送至可以作为数据目的地部件的一部分的不同数据模型的数据部件。所述不同数据模型可以是由本地数据中心110或基于云的数据中心112中的第三方提供者提供的利于传送的数据模型。

数据集可以对应于不同的工厂、区域、单元、部件和/或部件的属性等,如图6中更详细地示出的。数据集的关系可以对应于不同的工厂、区域、单元和/或部件如何彼此相关。例如,在数据集的分层表示中,工厂数据集可包括一个或更多个区域数据集。

然后,计算装置24可以向本地数据中心110或基于云的数据中心112提供结构化数据116。例如,计算装置24可以接收对信息的请求,并且响应于接收到请求而使用数据模型108来提供上下文化的数据。计算装置24可以将上下文化的数据提供给数据中心或用户。即,计算装置24可以响应于接收到对信息(例如,速度数据、流量数据和温度数据)的请求而向数据中心或用户提供结构化数据116的一部分。

通过示例的方式,图5示出了可以从控制系统102、控制系统104和/或控制系统106传输至计算系统24的原始数据114。原始数据114可以是非结构化的,并且可以包括由控制系统102、104和106提供的所有数据。由于原始数据114是非结构化的,因此可以证明处理原始数据114由于缺乏结构或组织而是综合性的并且在计算上高成本。

另一方面,图6描绘了根据数据模型108组织的结构化数据116的示例。数据结构116可以与数据模型108的分层层级以及相应的数据源(诸如控制系统102、104和/或106)相关联。就此而言,数据结构116的层级表示可以包括与不同的工厂12或14、区域16、单元18、部件20、各个部件20的属性以及一个或更多个数据集的其他属性(仅举几个示例)相对应的分层层级中的不同数据集120。实际上,数据结构116可以详述就层级而言数据集120之间的关系、数据集120之间的相关性等。

在一些实施方式中,计算装置24还可以接收与结构化数据116相关的事务数据122。事务数据122可以包括指定要将数据传输至其他部件的一个或更多个条件的事件驱动条件。此外,事务数据122可以指定帮助促进数据源与数据目的地之间的数据集事务的细节。可以基于通过用户输入接收的对用以从数据源检索数据的数据收集方案/格式或驱动器的选择来接收事务数据122。以这种方式,驱动器可以详述将如何促进不同部件之间的事务。在一个实施方式中,用户可以选择表示从数据源检索所请求的数据集的方式(例如,格式)的驱动器。作为示例,驱动器可以被定义为FactoryTalk实时数据、以太网/IP(通用工业协议(CIP))、OPC直接访问(例如,由OPC基金会开发的用于工业自动化的机器到机器通信协议)、或任何合适的通信协议。在一些实施方式中,可以针对可以与工厂、区域、单元等相关联的每个部件或每类部件来定义事务数据122。除了通信协议之外,事务数据122可以包括表征数据集如何被存储在数据模型108中的一个或更多个定义的规则、关系和/或触发事件。

如以下更详细描述的,可以通过图形用户接口(GUI)可视化表示的方式来预定义、用户定义、或由用户修改结构化数据116的层次表示。应当理解,可视化表示描述一个实施方式,并且用户与计算装置24之间的交互可以由任何可行的接口提供。

考虑到前述内容,图7示出了用于根据数据模型(诸如数据模型108)将原始数据上下文化的过程140。过程140可以由计算装置24或用于定义数据集120和/或事务数据122的任何合适的计算装置来执行。应当理解,过程140的顺序是通过示例的方式提供的,并且过程140可以以任何合适的顺序执行。

现在参照图7,在框142处,计算装置24可以检测一个或多个控制系统22,例如图4的控制系统102、控制系统104和/或控制系统106。控制系统22可以使用有线连接或无线连接通信地耦接至计算装置24。在不同的实施方式中,计算装置24可以例如通过计算装置上的预安装的驱动器或针对所连接的控制系统22的相应的驱动器模块检测已连接的控制系统22。

在框144处,在检测到一个或多个连接的控制系统22之后,计算装置24可以经由显示器来呈现连接的控制系统22。例如,计算装置24可以提供如图8的可视化表示170中所示的所有检测到的控制系统22的列表。当选择数据源选项卡194时,可视化表示170可以包括检测到的控制系统22和/或表示出来以供用户选择的其他可行数据源。即,用户可以使用由可视化表示170呈现的数据源来定义数据模型108。在一些示例中,可视化表示170中的数据源是自动检测到的,而在其他示例中,可视化表示的数据源或至少多个可视化表示的数据源由用户配置。

参照图8,可视化表示170可以向用户提供附加功能。附加功能可以包括使用输入可视化表示172添加新的控制系统、使用输入可视化表示174移除检测到的控制系统、使用输入可视化表示176刷新控制系统的列表、使用输入可视化表示178清除控制系统的列表、和/或使用输入可视化表示180编辑检测到的控制系统的属性。返回参照图7,在框146处,计算装置24可以接收指示选择检测到的控制系统22作为第一数据源的输入。在接收到选择之后,计算装置24可以访问所选择的控制系统22并且接收与所选择的控制系统22相关联的原始数据114。

在框148处,计算装置24可以呈现可以用于将与框146处所选择的控制系统22相关联的数据上下文化的数据模型108的列表。图9可以描绘提供可由用户经由显示器42选择的数据模型108的示例列表的可视化表示190的实施方式。

可视化表示190可以包括配置选项卡192,该配置选项卡192包括一个或多个子选项卡。例如,子选项卡可以包括数据源选项卡194、模型选项卡196和应用选项卡198。数据源选项卡194可以包括可由用户选择以标识数据源的一个或多个控制系统22。模型选项卡196可以包括可由用户选择以与所选择的数据源(例如,一个或多个控制系统22)一起使用的数据模型108。应用选项卡198可以包括可以在其中发送结构化数据116的目的地部件118。模型选项卡196和应用选项卡198将在下面更详细地讨论。应当理解,在不同的实施方式中,用于根据数据模型将原始数据上下文化的可视化表示可以包括附加的或更少的选项卡,可以将包括与不同信息相关联的不同部分的单个选项卡可视化表示,所述不同信息例如是可选择的数据源、可选择的数据模型和/或可选择的数据目的地部件或要使用的应用。

返回参照图9,模型选项卡196可以包括可由用户选择的多个数据模型206。例如,用户可以选择要与所选择的控制系统22一起使用的数据模型108,如图9所示。此外,用户可以在可视化表示190中经由添加数据模型特征200创建数据模型、经由删除数据模型特征202移除现有数据模型、以及/或者经由编辑数据模型特征204编辑现有数据模型108。数据模型108可以定义数据模型108中的不同数据集之间的层次或关系。

在框150处,计算装置24可以接收用于针对所选择的控制系统创建新数据模型的输入。用户可以使用可视化表示190的添加数据模型特征200来创建数据模型108。添加数据模型特征200可以提示用户提供新数据模型108的细节。例如,添加数据模型特征200可以提示用户去往图10中所描绘的可视化表示210,并且可以包括提供给用户以用于创建与数据模型108的部件相关联的分层表示134的工具的示例。在一些实施方式中,与数据源、检测到的控制系统、相应传感器和/或工业自动化部件相关联的一个或多个属性可以由用户经由参照图10描述的属性窗格220来配置、重新配置和/或用作触发事件。

可视化表示210可以包括可以由标签216(例如,SmartTag)表示的数据源,例如一个或多个控制系统22(例如,如关于可视化表示170所描述的)。一个或多个数据集120中的数据集或数据集的一部分可以由标签216表示。例如,用户可以使用输入可视化表示218来添加和/或描述标签216以表示控制系统22或源自控制系统22的数据的一部分。可视化表示210还可以包括例如由用户先前在可视化表示190中选择的或由用户使用添加数据模型特征200定义的数据模型108。此外,可视化表示210可以包括属性窗格220,该属性窗格220包括与所选择的数据源(例如,通过选择数据源得到)或数据模型108的所选择的部件(例如,节点1或子节点2)相关联的一个或多个属性。

在一些实施方式中,用户可以使用可视化表示210来选择数据模型108的部件222,并且与所选择的部件222相关联的一个或多个属性224可以经由属性窗格220被提供给用户。所选择的部件222可以是数据集120,并且可以包括事务数据122等其他部件。属性224可以包括与所选择的部件222相关联的不同值、与关联于所选择的部件222的数据集相关联的值、与所选择的部件222相关联的事务条件、或与所选择的部件相关联的其他属性。例如,属性224可以包括与所选择的部件222相关联的数据集的值的可视化表示。此外,属性窗格220可以包括与事务数据122相关联的属性。即,属性窗格220可以提供事务数据122的可视化表示,包括:指定可以将与所选择的部件222相关联的数据传输至其他部件的一个或更多个条件的事件驱动条件;表征与所选择的部件222相关联的数据集如何被存储在数据模型108中的一个或更多个定义的规则、关系、和/或触发事件;和/或与所选择的部件222相关联的其他属性。用户可以使用属性窗格220来定义和/或修改事务数据(例如,事务数据122)。

在框152处,计算装置24可以接收用于定义数据模型108的部件的输入。可视化表示210可以包括可以向数据模型108添加部件的添加部件特征212以及从数据模型108移除部件的移除部件特征214。通过示例的方式,用户可以使用添加部件特征212来定义父部件“节点1”和子部件“子节点2”。例如,父部件“节点1”可以被定义为包括子部件“子节点2”的父部件,如下所述。

在框154处,用户可以接收用于定义与数据模型108的所选择的部分相关联的数据结构(例如分层表示134)的输入。例如,用户可以将数据模型部件“节点1”与数据模型部件“子节点2”相关联,使得数据模型部件“子节点2”被表示为数据模型部件“节点1”的一部分,如图10中所描绘的作为分层表示134的一部分。以这种方式,使得用户能够定义结构化数据116的分层表示134。即,用户可以通过在不同实施方式中使用不同特征来绑定标签以关联数据模型部件,例如将标签216拖放到分层表示134中的分层层级以将数据集关联到其他部件。在与所描述的方法相关的不同实施方式中,用户可以关联不同数目的数据模型部件以定义分层表示134。应当注意,数据模型108的部件可以包括数据集120(例如,由标签216表示)以及事务数据122。用户可以描述指定如何使用数据集120和事务数据122的工作流。

在这样的实施方式中,用户可以定义一个或更多个数据集120和/或针对数据模型108的每个分层层级、数据模型108中的特定数据集、工业自动化系统10中的不同数据源等的事务数据122。事务数据122可以包括针对数据模型108的所选择的部件的属性220定义的触发事件。可以使用具有可以定义数据模型108的部件之间的关系以及/或者数据模型108的部件与其他数据模型和/或数据目的地部件118之间的关系的事务条件的事务数据(例如,事务数据122)来定义工作流。使用所选择的部件(例如,所选择的部件222)的属性224,工作流可以包括一个或多个触发事件、条件关系或两者的组合。例如,要使计算装置24针对检索到的数据或工业自动化系统10中的其他部件执行某些动作(例如,数据传送、控制设备),可以就检索到的数据的属性而言满足一个或多个条件(例如,温度超过200度)。工作流还可以使数据模型108的部件内部的过程自动化以及/或者通过将数据模型108的部件映射到一个或多个外部数据模型。

进行至框156,计算装置24可以接收用于将所选择的控制系统22的原始数据114与数据模型108的一部分和/或一个或更多个数据模型部件相关联的输入。通过示例的方式,用户可以选择数据模型部件“节点1”和数据源选项卡194以选择要与数据模型部件“节点1”相关联的一个或更多个数据源(例如,所选择的控制系统22)。多个标签216可以表示例如使用图8的可视化表示170配置的可用数据源。即,用户可以从如图8的可视化表示170中描绘的可用数据源窗口中选择要与数据模型部件“节点1”相关联的一个或更多个数据源。用户可以对“子节点2”和数据模型108的其他部件重复该处理。

在框158处,计算装置24可以将所定义的模型存储在存储装置38中。数据模型可以被保存在计算装置24的存储器36或存储装置38上。

在框160处,计算装置24可以呈现可以在其中响应于应用选项卡198被选择而发送数据、数据模型108或两者的可用的数据目的地部件118。例如,图11可以包括可视化表示240,可视化表示240可以描绘配置选项卡192的应用选项卡198。应用选项卡198可以包括多个数据目的地部件118。应用选项卡198可以使用户能够选择一个或多个数据目的地部件118。数据目的地部件118可以包括本地数据中心110、基于云的数据中心112以及可以用于存储、组织或分析数据的各种其他应用或程序。用户可以将新数据模型108或新数据模型108的特定部件与一个或多个数据目的地部件相关联。

对应用的选择可以包括将数据模型108的一个或更多个数据集120映射到与关联于第三方应用的第二数据模型相关联的一个或多个数据集。例如,图12描绘了可视化表示250,可视化表示250包括数据模型108和与第三方应用相关联的第二数据模型252。用户可以使用图11的应用选项卡198和可视化表示240来选择第二数据模型252。在一些实施方式中,用户可以使用所描述的工具来描述工作流,该工作流协调如何基于事务数据122来检索和存储数据集120。以这种方式,可以根据可以由用户指定的事务数据122,对特定的第三方应用定制数据集120。实际上,事务数据122可以是可配置的,使得数据集120、用于收集数据集的条件、以及用于将数据集映射到第二数据模型252内的目的地部件118的条件可以是可由用户配置或设置的。

应当注意,以上描述的过程140、可视化表示170、可视化表示190、可视化表示210、可视化表示240和可视化表示250是出于说明性和描述性目的而提供的,并且不应当被用作对本公开内容的范围的限制。例如,可以以任何可行的顺序执行过程140,可以添加一些过程步骤,并且可以根据过程的应用而部分地去除一些前面提及的框。可以与计算装置24一起使用任何可行的电子显示器,包括非图形用户接口。在不同的实施方式中,可行的用户接口可以在工业自动化系统10与各种数据目的地部件118之间提供连贯的数据流。

如上所述,过程140可以用于由用户定义数据模型108或数据模型108的所选择的部分。现在参照图13,处理280可以描述用于使用所定义的数据模型108从控制系统22请求和接收数据的示例。例如,计算装置24可以利用处理280来使用数据模型108向数据请求者提供上下文化的数据,如下面详细描述的。

在框282处,计算装置24可以接收数据请求。数据请求可以来自数据目的地部件118、基于事务数据122、或上述两者。如上所讨论的,事务数据122可以对数据集中的值定义触发或阈值,该触发或阈值使得从数据目的地部件118发送请求。可替选地,计算装置24可以基于数据集中的值满足或超过事务数据122中定义的阈值来自动生成请求。例如,如果数据集对应于压力数据,则与压力数据相关联的事务数据122可以指定:如果值超过2250psa,则应当将压力数据发送至数据目的地部件118。在任何情况下,响应于接收到数据请求,计算装置24可以使用数据模型108来识别与所请求的数据相关联的相应的控制系统22。

在框284处,计算装置24可以将数据请求提交给相应的控制系统22。在一些实施方式中,该请求可以与一个或多个相应的控制系统22相关联,并且可以根据事务数据122中指定的条件而被格式化。即,与所请求的数据集相关联的事务数据122可以指定计算装置24应当用来请求访问的通信协议(例如,请求类型、语法、通信端口)。

在框286处,计算装置24可以从相应的控制系统22接收原始数据114。在一些实施方式中,计算装置24可以从相应的控制系统22接收原始数据114及相应的数据模型,例如数据模型108。即,数据模型108可以是原始数据114的元数据的一部分,可以存储在计算系统24可访问的数据库中,被提供有请求、事务数据122的一部分等。因此,计算装置24可以使用数据模型108来提供针对所接收的原始数据114的上下文。

在框288处,计算装置24可以将所请求的数据发送至数据目的地部件118。在一些实施方式中,计算装置24可以根据数据模型108来组织原始数据。例如,计算装置24可以针对所接收的数据模型108将所接收的原始数据114结构化,并且将结构化的原始数据114发送至数据目的地部件118。例如,如果所请求的原始数据114与另一数据集的子节点相关联,则计算装置24可以将所请求的原始数据114和关联于父节点的数据集一起发送。

在一些实施方式中,计算装置24可以根据数据模型108或参考数据模型108将所请求的数据作为结构化数据发送至数据目的地部件118。在任何情况下,数据目的地部件118可以进而根据数据模型108存储数据。因此,数据目的地部件118检索到的数据集可以保持其上下文,从而为用户提供数据集的关系性质的更全面的视图。

通过执行本文中描述的实施方式,计算系统可以使数据集、数据模型108和事务数据122相结合,使得数据目的地部件118(例如,应用)可以高效地收集和组织具有其适当上下文的数据。即,绑定处理将标签、模型和事务与应用实例相关联,使得可以利用预定义的属性或默认值以高效方式存储和/或收集数据集。此外,本文中描述的本实施方式使用户能够为特定实例(例如,数据集)输入新属性,以允许将数据集上下文化以实现更有效的数据表示。应当注意,本文中描述的数据集的结构化上下文和事务的条件通过协调经过有限的网络连接带宽的数据流,使得相应的计算装置能够更高效地操作。此外,上下文化的数据提供了特定的格式,可以以这种格式存储数据集以使用户能够理解并且使其他装置能够更有效地处理数据集。

用于向外部平台传输数据的适配器部件

除了绑定数据集120、事务数据122和其他类型的数据以采用数据模型108来将数据上下文化之外,本文描述的本实施方式还针对使用适配器部件来调整或实现某些功能的系统和方法,该适配器部件可以是计算装置24的一部分,以将上下文化的数据导出到外部装置。更具体地,本公开内容涉及利用软件开发工具包(SDK)中提供的工具或由外部平台提供的其他工具,使得外部平台下操作的功能可以由计算装置24使用适配器部件本地地执行。

由于可以实时或接近实时地监测和控制大量系统变量,因此计算装置24可以监测由工业自动化系统10生成的数据,这些数据可以与大量接近实时的数据相关联。由工业自动化系统10生成的大量数据使得可以将宽范围的工厂分析应用于组成工业企业或商业的自动化系统和处理。报告、图表以及其他人类可读格式通常是可用的或者可以被创建,以用于希望以实时模式或者在该数据被存储之后的后来时间监视和查看所生成的数据的工厂人员和其他人员。

出于这种考虑,计算装置24可以采用适配器部件来从位于工业自动化系统10中的各种数据源获取工业自动化数据,以用于例如上述目的。适配器部件(例如,以硬件或软件实现)可以经由相应的协议与相应的外部平台交互,并且适当地翻译/解释从每个数据源接收的数据,以获取存储在其中的数据。除了从各种数据源获取数据之外,适配器部件可以与外部软件平台(例如,IoT平台)交互,该外部软件平台可以提供可视化工具、分析工具、监测工具等,以帮助从收集的数据组织和收集信息。

考虑到前述内容,工业自动化系统10可以将结构化数据116提供给外部部件(例如,外部平台、外部装置),例如数据中心、操作技术(OT)系统和/或信息技术(IT)系统。外部部件可以使用不同的数据结构来存储和/或处理数据。在一些实施方式中,计算装置24可以生成并使用适配器部件,以使用工业自动化系统10的本地数据模型(例如,数据模型108)将结构化数据与外部部件的数据结构相关联。

在一些实施方式中,计算装置24可以获得外部部件的应用程序接口(API)和/或软件开发工具包(SDK)。API和/或SDK可以指定外部部件要使用的外部数据模型(或数据模型的一部分)。计算装置24可以基于获得的API和/或SDK来确定数据模型108的结构化数据116与外部部件的外部数据结构之间的关系。使用结构化数据116与外部数据结构之间的关系,计算装置24可以生成适配器部件。适配器部件可以将数据模型108的数据和数据的上下文与外部部件的外部数据结构相关联。因此,计算装置24可以使用适配器部件根据所识别的与外部部件的关系来提供具有上下文的数据。

在特定实施方式中,计算装置24可以提供用于将结构化数据映射到连接至计算装置24的每个外部部件的外部数据结构的专用适配器部件。例如,计算装置24可以基于获得相应的API和/或SDK来为不同的外部部件提供不同的适配器部件。也就是说,在一些其他实施方式中,计算装置24可以确定用于将结构化数据116映射到多个外部部件的适配器部件。例如,计算装置24可以基于获得相应的API和/或SDK来为多个外部部件提供适配器部件。然而,通过提供和使用适配器部件,计算装置24可以使用本地数据模型,同时向使用不同数据结构进行配置的外部部件提供结构化数据。

图14示出了通信网络300,在该通信网络300中,包装工厂50的计算装置24可以通信地耦接至多个部件20和/或其相应的控制系统22。在所描绘的实施方式中,计算装置24可以从控制系统102、104和/或106接收原始数据114。此外,计算装置24可以根据上面详述的数据模型108来确定结构化数据116。如上所述,计算装置24可以向数据目的地部件112提供结构化数据116。

在所描绘的实施方式中,计算装置24还可以通过将结构化数据116映射到外部部件302的数据模型来向外部部件302提供结构化数据116。例如,计算装置24可以使用网络套接字连接来通信地耦接外部部件302。然而,在其他实施方式中,可以使用其他合适的连接。然而,计算装置24可以获得外部部件302的API和/或SDK数据304,以便于使用计算装置24的本地数据模型(例如,数据模型108)与外部部件302进行数据通信。

API和/或SDK数据304可以向计算装置24提供外部部件302的预期数据结构的表示。计算装置24可以基于接收到的API和/或SDK数据304生成适配器部件306。即计算装置24可以生成软件引擎或者对硬件部件(例如,逻辑电路)进行编程以作为适配器部件306来操作,以便于使用外部部件302的数据结构向外部部件302提供结构化数据116的表示。适配器部件306可以基于API和/或SDK数据304来识别数据模型108与外部部件302的数据结构之间的关系。

在一些实施方式中,适配器部件306可以包括逻辑电路,以识别和提供数据模型108与外部部件302的结构化数据之间的关系。在一些实施方式中,适配器部件306可以基于数据模型108与外部部件302的数据结构之间的映射关系来生成端点308,以传送结构化数据310。结构化数据310可以是由适配器部件306接收并根据外部部件302可解释的外部数据结构组织的数据。端点308可以是可以根据外部数据结构将数据直接流式传输到外部部件的端口或通信点。例如,计算装置24可以使用端点308作为向外部组件302提供上下文化数据的代理。即,适配器部件306可以修改结构化数据116,使得端点308可以接收结构化数据310,该结构化数据310可以被直接提供给外部部件302。

通过示例的方式,在没有手动接收数据和手动创建外部部件302的模型结构的情况下,从计算装置24内提供的功能生成的模型结构(例如,数据模型108)可能不会被携载到外部部件302。然而,如上所述,适配器部件306可以通过访问外部部件302的API和/或SDK数据304来复制外部部件302内的模型结构和标签。例如,在一个实施方式中,适配器部件306可以通过网络TCP/IP连接上的网络套接字连接从计算装置24调用该API和/或SDK数据304。这将使得可以使用其他连接(例如,HTTP连接)上的其他协议或API(例如,REST API)的其他应用的性能提高。

此外,适配器部件306可以使用外部部件302的API和/或SDK数据304来自动设置和配置外部部件302内的应用、数据条目等,而无需执行手动输入或文件导出和导入操作。例如,在一个实施方式中,适配器部件306可以使用与外部部件302相关联的(例如,API和/或SDK数据304的)SDK来生成可以使得适配器部件306能够与外部部件302接口的工具、功能、API等。以这种方式,适配器部件306可以利用其翻译和与外部部件302的SDK中提供的工具的互连能力来创建本地工具和命令,这些工具和命令可以使用户能够生成和执行将经由计算装置24在外部部件302上执行的功能。作为结果,使用计算装置24的本地工具生成或获取的数据可以被提供给外部部件302,使得外部部件302可以维护计算装置24内生成的数据格式、标签和其他属性。

在一些实施方式中,计算装置24可以与适配器部件306协调以采用使用外部部件302的SDK生成的本地工具来执行外部部件302中的自动化操作。例如,由计算装置24获取的数据可以包括信息模型(例如,数据模型108),该信息模型提供关于相应的数据与其他数据集的关系数据。为了向外部部件302提供该上下文,适配器部件306可以使用工具来解析数据,以识别与外部部件302相关联的对应信息模型。适配器部件306然后可以生成用于执行操作的命令,这些操作包括向外部部件302发送数据和信息模型。命令在由外部部件302接收时可以使外部部件302创建数据条目,使得所接收的数据的上下文使用外部部件302的格式存储在外部部件302内。即,命令可以使外部部件302自动创建数据条目和绑定,以根据基于存储在计算装置24中的数据模型108的对应信息模型来表示由外部部件302接收的数据。

考虑到前述内容,在一些实施方式中,外部部件302可以对应于与计算装置24进行通信的一个或更多个应用、在计算装置24上执行的应用等。每个外部部件302可以由一个或更多个其他客户端装置访问或执行,并且可以寻求存储或包含在耦接至适配器部件306的数据存储器或数据源中的数据。实际上,外部部件302可以由客户端装置访问,客户端装置可以寻求获取存储在客户端装置不可访问的一个或更多个数据源中的数据。为了便于外部部件302连接至适当的数据源,计算装置24可以从外部部件302接收数据通信,并且将数据通信路由至与特定外部部件302相关联的适配器部件306。如上所讨论的,适配器部件306可以将从外部部件302接收的数据通信转换或修改为计算装置24可辨别的格式或数据模型108。

另外,适配器部件306可以使用某种协议,该协议使得其能够与外部部件302交互并从中获取数据。作为结果,适配器部件306可以允许各种应用从各种数据源请求数据,而不需要相应的主机装置直接连接至数据源,也不需要外部部件302或计算装置24配置有任何特定的协议来与相应的数据源进行通信。即,适配器部件306可以使得计算装置24能够在各种客户端装置与其他工业标准装置、协议和应用之间桥接。

在一些实施方式中,适配器部件306还可以提供在外部部件302上执行某些操作的能力,这些操作可以收集、分析并存储由计算装置24提供的数据。实际上,这些操作中的一些可以包括:经由适配器部件306从外部源创建外部部件302内的实体或条目,经由适配器部件306从外部部件302读取针对外部源(例如,客户端装置)的实体结构和数据,经由适配器部件306从外部源(例如,客户端装置)更新和修改外部部件302中的实体结构和数据,经由适配器部件306删除外部部件302中的实体、实体结构元素和数据等。

实际上,通过采用本文所述的适配器部件306,计算装置24可以避免使用手动处理或手动文件XML(可扩展标记语言)导出和导入来将数据从其他连接的客户端装置直接推送或提取到外部平台,该导出和导入可以用于创建实体结构、更新实体结构和删除外部平台内的实体结构。相反,通过使用适配器部件306执行本文公开的实施方式,计算装置24可以使用计算装置24的相同本地功能来访问根据不同编程语言操作的多个数据源,使得收集的数据可以以外部部件302能够解释和使用的格式直接提供给外部部件302。

由于适配器部件306可以使得公共网关平台(例如,信息网关、网关、边缘计算装置)能够与外部部件302交互,因此计算装置24可以提供外部部件302的功能作为计算装置24的本地功能。即,适配器部件306可以提供使用可由计算装置24解释的本地命令和动作来连接、创建、读取、写入、更新、删除、运行命令和查询以及从外部部件302断开的功能。作为结果,计算装置24理解使用各种编程语言的各种类型的部件以及与之接合的能力可以扩展到外部部件302的功能,外部部件302可能不能解释直接从各种类型的部件接收的数据。

图15示出了用于向外部部件302提供结构化数据310的过程330。过程330可以由适配器部件306或任何合适的计算装置来执行。适配器部件306可以使用外部部件302的API和/或SDK数据304,将上文参照图5描述的数据集120和/或事务数据122与外部部件302的数据集相关联。应当理解,过程330的顺序是通过示例的方式提供的,并且过程330可以以任何合适的顺序执行。

现在参照图15,在框332处,适配器部件306可以接收将结构化数据116流式传输到外部部件302的请求。该请求可以经由计算装置24可访问的客户端装置或其他应用来提供。如上所讨论的,计算装置24可以使用网络套接字连接或其他合适的通信协议来通信地耦接外部部件302或其他装置。

在框334处,适配器部件306可以检索与结构化数据116相关联的第一数据模型(例如,数据模型108)。随后,在框336处,适配器部件306可以基于第一数据模型来确定与结构化数据116相关联的数据集120和/或事务数据122。在框338处,适配器部件306可以接收与外部部件302相关联的第二数据模型的指示。在一些实施方式中,适配器部件306可以基于外部部件302的API和/或SDK数据304来确定第二数据模型。因此,适配器部件306可以识别外部部件302的外部数据结构。

在框340处,适配器部件306可以确定第一数据模型与第二数据模型之间的关系。适配器部件306可以基于第一数据模型和第二数据模型来确定外部部件302的数据结构的表示。例如,适配器部件306可以生成与所确定的第一数据模型与第二数据模型之间的关系相关联的表。即,该表可以指示第一数据模型与第二数据模型之间的相关变量名、相关操作、相关函数、相关数据类型和其他相关属性。

在框342处,适配器部件306可以基于所确定的关系将结构化数据116映射到第二数据模型的相应数据集。在一个实施方式中,适配器部件306可以生成端点308,端点308可以包括结构化数据116到第二数据模型的数据集的映射。因此,端点308可以被配置成接收结构化数据116并自动将其转换成流结构化数据310。在框344处,适配器部件306可以根据第二数据模型经由端点308将结构化数据310传输至外部部件的映射数据集。因此,计算装置24可以使用本地数据模型(第一数据模型)来根据外部部件302的外部结构将结构化形式的数据流式传输到外部部件302。此外,类似的处理可以用于向使用各种数据模型的其他外部部件提供结构化形式的流数据。

虽然本文中仅示出和描述了本发明的某些特征,但是本领域技术人员将会想到很多修改和变化。因此,要理解的是,所附权利要求书旨在覆盖落入本发明真实精神内的所有这样的修改和变化。

本文中提出和要求保护的技术被引用并应用于具有实际性质的物质对象和具体示例,这些物质对象和具体示例明确地改善了本技术领域,因而不是抽象的、无形的或纯理论的。此外,如果本文随附的任何权利要求包含被指定为“用于[执行][功能]......的装置”或“用于[执行[功能]......的步骤”的一个或更多个元件,则这种元件根据35U.S.C112(f)进行解释。然而,对于包含以任何其他方式指定的元件的任何权利要求,这种元件不根据35U.S.C 112(f)进行解释。

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

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类