掌桥专利:专业的专利平台
掌桥专利
首页

生成工业控制编程的方法、系统和非暂态计算机可读介质

文献发布时间:2023-06-19 13:46:35


生成工业控制编程的方法、系统和非暂态计算机可读介质

技术领域

本文中公开的主题一般地涉及工业自动化系统,并且例如涉及分析以从工业数据中提取业务价值的应用。

背景技术

工业控制器、其相关联的I/O装置、马达驱动器和其他这样的工业装置对现代自动化系统的操作很重要。工业控制器与工厂车间的现场装置进行交互,以控制与诸如产品制造、材料处理、批量处理、监督控制和其他这样的应用的目标有关的自动化处理。工业控制器存储和执行用户定义的控制程序,以实现与受控处理有关的决策。这样的程序可以包括但不限于梯形逻辑、顺序功能图、功能块图、结构化文本、C++、Python、Javascript或其他这样的平台。典型的工业开发平台要求用户使用由开发工作空间驱动的非直观工作流和由开发平台提供的编辑工具来开发工业控制编程和配置,并且需要使用常规光标和键盘驱动的接口与这些工具进行交互。

发明内容

下面呈现简化的概述,以提供对本文中描述的一些方面的基本理解。该概述既非广泛的综述,也不旨在标识关键/重要元素或划定本文中描述的各个方面的范围。该概述的唯一目的是以简化的形式呈现一些构思,作为稍后呈现的更详细的描述的序言。

在一个或更多个实施方式中,提供了一种系统,该系统包括:用户接口部件,其被配置成呈现程序开发接口并且经由与程序开发接口的交互来接收编程输入,该编程输入定义用于在工业控制器上执行的工业控制程序的第一部分;图导入部件,其被配置成导入表示要由工业控制器监测和控制的自动化系统的数字工程图;以及程序生成部件,其被配置成基于对数字工程图的分析来生成工业控制程序的第二部分。

此外,一个或更多个实施方式提供了一种用于生成工业控制编程的方法,该方法包括:由包括处理器的程序开发系统基于提交给程序开发系统的编程输入来生成工业控制程序的第一部分;由程序开发系统导入表示要由使用工业控制程序被编程的工业控制器监测和控制的自动化系统的数字工程图;以及由程序开发系统基于对数字工程图的分析来生成工业控制程序的第二部分。

此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,其上存储有指令,指令响应于执行,使包括处理器的程序开发系统执行操作,操作包括:分析表示要由工业控制器监测和控制的自动化系统的数字工程图;基于分析的结果来生成工业控制程序的至少一部分;以及将工业控制程序导出到工业控制器。

为了实现前述和相关目的,本文中结合以下描述和附图描述了某些说明性方面。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,根据以下具体描述,其他优点和新颖特征可以变得明显。

附图说明

图1是示例工业控制环境的框图。

图2a是示出典型的大数据分析方法的流程图。

图2b是示出其中初始地识别业务价值并且基于业务价值来选择用于流送的数据的分析方法的流程图。

图3是示例智能网关平台的框图。

图4是支持智能标签配置的示例工业装置的框图。

图5是示出被设计用于对工业数据进行建模以供后续AI分析的模型模板的选择和配置的图。

图6是示出用于将模型模板存储在智能网关平台的库中的示例模型分类模式的图。

图7是示出由智能网关平台对工业数据进行收集和结构化的图。

图8是一些工业装置可以支持的四种示例智能数据类型的图示。

图9是描绘已由数据建模部件扩充以包括定义各种AI属性的AI字段的智能数据的项的示例数据模式。

图10是工业泵的示例资产类型层级。

图11是示出其中智能网关平台对来自工业资产的数据进行收集、情境化和结构化并且将所得的结构化和情境化数据提供给AI分析系统的示例架构的图。

图12是示出其中智能网关平台将结构化和情境化数据提供给工业企业的各个级别的分析系统的示例架构的图。

图13是示例可扩展工业分析架构的图。

图14是其中智能网关平台将来自遍及工业企业的不同数据源的结构化和情境化数据馈送到在云平台上执行的基于云的分析系统的示例工业架构的图。

图15是用于对工业数据进行结构化并且对结构化数据执行数据分析以产生相对于期望业务目标的可执行洞察(actionable insight)的示例方法的流程图。

图16是示例工业数据代理系统的框图。

图17是示出支持智能标签的工业装置的标签数据库中的智能标签的配置的图。

图18是示出通过工业数据代理系统结合智能标签来帮助的工业发布和订阅架构的示例高级别数据流的图。

图19是用于建立从工业装置到外部系统(包括但不限于AI或机器学习分析系统)的情境化数据流送的示例方法的流程图。

图20是能够将工程图转换成可执行控制编程和相关联的数据标签定义的示例程序开发系统的框图。

图21是示出由程序开发系统将数字工程图转换成工业控制编程和数据标签定义的图。

图22是示出由程序开发系统基于对一个或更多个数字工程图的分析以及一个或更多个选择的数据建模模板来生成控制程序文件的图。

图23是示出可以由程序开发系统关于生成控制程序的部分来利用的若干示例自动化对象属性的图。

图24示出了将基于对数字设计图的分析而生成的控制程序文件向工业装置的导出。

图25是示出通过程序开发系统的程序导出部件将多个控制程序文件部署到相应工业控制器的图。

图26是用于基于对数字工程图的分析来生成工业控制器编程和相关联的智能标签定义的示例方法的流程图。

图27是示例计算环境。

图28是示例联网环境。

具体实施方式

现在参照附图描述本公开内容,其中,贯穿全文使用相同的附图标记指代相同的元素。在以下描述中,出于说明的目的,阐述了许多特定细节以提供对本公开内容的透彻理解。然而,明显的是,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,公知的结构和装置以框图的形式示出以有利于对其进行描述。

如在本申请中所使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体、或与具有一个或更多个特定功能的操作设备有关的或作为该操作设备的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括固定(例如,用螺丝固定或用螺栓固定)或可移除式固定的固态存储驱动器的(光或磁存储介质的)多个存储驱动器;对象;可执行体;执行线程;计算机可执行程序;以及/或者计算机。作为例示,服务器上运行的应用以及服务器两者可以是部件。一个或更多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一个计算机上以及/或者分布在两个或更多个计算机之间,包括基于云的计算系统。此外,本文中描述的部件可以从其上存储有各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地和/或远程进程例如根据具有一个或更多个数据包(例如,来自与本地系统、分布式系统中的另一部件进行交互和/或经由信号跨网络例如因特网与其他系统进行交互的一个部件的数据)的信号进行通信。作为另一示例,部件可以是具有由电气或电子电路操作的机械部件提供的特定功能的设备,所述电气或电子电路由处理器执行的软件或固件应用来操作,其中,处理器可以在设备的内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,部件可以是通过电子部件而不是机械部件来提供特定功能的设备,电子部件可以在其中包括处理器以执行至少部分地提供电子部件的功能的软件或固件。作为又一示例,接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用程序接口(API)部件。虽然前述示例针对部件的各方面,但是例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。

如本文中所使用的,术语“进行推断(to infer)”和“推断(inference)”通常是指根据经由事件和/或数据捕获的一组观察结果来推理或推断系统、环境和/或用户的状态的过程。例如,可以采用推断来识别特定情境(context)或动作,或者可以生成状态的概率分布。推断可以是概率性的——即,基于数据和事件的考虑对关注的状态的概率分布的计算。推断还可以指用于由一组事件和/或数据构成较高级别的事件所采用的技术。这样的推断使得由一组观察到的事件和/或存储的事件数据构造出新事件或动作,而不管事件是否以紧密的时间接近度关联,以及事件和数据是否来自一个或若干个事件和数据源。

另外,术语“或”旨在意指包括性的“或”,而非排他性的“或”。即,除非另有指定或者根据上下文是清楚的,否则短语“X采用A或B”旨在意指任何自然的包括性排列。即,以下实例中的任何实例满足短语“X采用A或B”:X采用A;X采用B;或X采用A和B两者。另外,除非另有指定或者根据上下文清楚指的是单数形式,否则如本申请和所附权利要求中使用的冠词“一”和“一个”通常应当被解释为意指“一个或更多个”。

此外,本文中采用的术语“集合”排除空集;例如,其中没有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样,本文中利用的术语“组”是指一个或更多个实体的集合;例如,节点组是指一个或更多个节点。

将根据可以包括许多装置、部件、模块等的系统来呈现各个方面或特征。要理解和认识到的是,各个系统可以包括另外的装置、部件、模块等,以及/或者各个系统可以不包括结合附图讨论的全部装置、部件、模块等。也可以使用这些方法的组合。

工业控制器、其相关联的I/O装置、马达驱动器和其他这样的工业装置对现代自动化系统的操作很重要。工业控制器与工厂车间(plant floor)的现场装置进行交互,以控制与诸如产品制造、材料处置、批量处理、监督控制以及其他这样的应用等的目标有关的自动化处理。工业控制器存储和执行用户定义的控制程序,以实现与受控的处理有关的决策。这样的程序可以包括但不限于:梯形逻辑、顺序功能图、功能块图、结构化文本、C++、Python、Javascript或其他这样的平台。

图1是示例工业环境100的框图。在该示例中,许多工业控制器118被部署遍及工业工厂环境,以监测和控制与产品制造、加工、运动控制、批量处理、材料处置或其他这样的工业功能有关的相应工业系统或处理。工业控制器118通常执行相应控制程序以帮助监测和控制组成受控工业资产或系统(例如,工业机器)的工业装置120。一个或更多个工业控制器118还可以包括在个人计算机、服务器刀片、其他硬件平台或云平台上执行的软件控制器。一些混合装置还可以将控制器功能与其他功能(例如,可视化)组合。由工业控制器118执行的控制程序可以包括用于处理从工业装置120读取的输入信号以及控制由工业控制器生成的输出信号的任何可想到的类型的代码,包括但不限于梯形逻辑、顺序功能图、功能块图、结构化文本、C++、Python、Javascript等。

工业装置120可以包括输入装置、输出装置或用作输入装置和输出装置两者的装置,输入装置向工业控制器118提供与受控工业系统有关的数据,输出装置响应于由工业控制器118生成的控制信号以控制工业系统的各方面。示例输入装置可以包括遥测装置(例如,温度传感器、流量计、物位传感器、压力传感器等)、手动操作者控制装置(例如,按钮、选择器开关等)、安全监测装置(例如,安全垫、安全拉绳、光幕等)以及其他这样的装置。输出装置可以包括马达驱动器、气动致动器、信令装置、机器人控制输入、阀等。一些工业装置例如工业装置120M可以在不受工业控制器118的控制的情况下在工厂网络116上自主操作。

工业控制器118可以通过硬连线连接或者通过有线或无线网络与工业装置120通信地对接。例如,工业控制器118可以配备有与工业装置120进行通信的本地硬连线输入和输出以实现对装置的控制。本地控制器I/O可以包括:向现场装置发送离散电压信号以及从现场装置接收离散电压信号的数字I/O,或者向装置发送模拟电压或电流信号以及从装置接收模拟电压或电流信号的模拟I/O。控制器I/O可以通过背板与控制器的处理器进行通信,使得数字信号和模拟信号可以由控制程序读入和控制。工业控制器118还可以使用例如通信模块或集成联网端口通过工厂网络116与工业装置120进行通信。示例性网络可以包括因特网、内联网、以太网、以太网/IP(EtherNet/IP)、装置网(DeviceNet)、控制网(ControlNet)、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线(Fieldbus)、Modbus、Profibus、无线网络、串行协议等。工业控制器118还可以存储可以由控制程序引用并且用于控制决策的持久性数据值,其包括但不限于:表示受控机器或处理的操作状态的测量或计算的值(例如,罐内液位、位置、警报等),或者在自动化系统的操作期间收集的捕获时间序列数据(例如,多个时间点的状况信息、诊断发生等)。类似地,一些智能装置——包括但不限于马达驱动器、仪器或状态监测模块——可以存储用于控制操作状态和/或使操作状态可视化的数据值。这样的装置还可以捕获记录上的时间序列数据或事件以用于后续检索和查看。

工业自动化系统通常包括一个或更多个人机接口(HMI)114,其允许工厂人员查看与自动化系统相关联的遥测数据和状况数据,并且控制系统操作的一些方面。HMI 114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据,以帮助与受控工业处理有关的信息在一个或更多个预开发的操作者接口屏幕上的可视化。HMI 114还可以被配置成允许操作者向工业控制器118的指定数据标签或存储地址提交数据,从而为操作者提供向受控系统发出命令(例如,循环启动命令、装置致动命令等)、修改设置点值等的手段。HMI 114可以生成一个或更多个显示屏,操作者通过这一个或更多个显示屏与工业控制器118进行交互从而与受控处理和/或系统进行交互。示例显示屏可以使用以下处理的图形表示来使工业系统或其相关联的装置的当前状态可视化:其显示计量或计算的值,使用基于状态的颜色或位置动画,呈现警报通知,或者使用用于向操作者呈现相关数据的其他这样的技术。以该方式呈现的数据由HMI 114从工业控制器118读取,并且根据由HMI开发者选择的显示格式被呈现在显示屏中的一个或更多个上。HMI可以包括具有用户安装或预安装的操作系统以及用户安装或预安装的图形应用软件的固定位置装置或移动装置。

一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或装置。这些系统或装置可以包括例如一个或更多个数据历史库(data historian)110,该数据历史库110聚合并且存储从工业控制器118和其他工业装置收集的生产信息。

工业装置120、工业控制器118、HMI 114、相关联的受控工业资产以及其他工厂车间的系统例如数据历史库110、视觉系统和其他这样的系统在工业环境的操作技术(OT)级上运行。更高级别的分析和报告系统可以在信息技术(IT)域中的工业环境的更高企业级处操作;例如,在办公网络108或云平台122上操作。这样的更高级别的系统可以包括例如企业资源规划(ERP)系统104,企业资源规划(ERP)系统104集成并且总体地管理高级别的业务操作,例如,财务、销售、订单管理、营销、人力资源或其他这样的业务功能。鉴于较高级别的业务考量,制造执行系统(MES)102可以在控制级上监测和管理控制操作。报告系统106可以从工厂车间的工业装置收集操作数据,并且生成总结受控工业资产的操作统计数据的每日或轮班报告。

给定的工业企业可以包括在工厂操作期间生成大量信息的这些工业资产中的许多工业资产。随着大数据存储和分析方法的出现,有可能不断地将数据从这些不同工业数据源流送到大数据存储装置(例如,数据湖),并且将这些大且不同的数据集变换为对受控工业处理和机器的可执行洞察。人工智能(AI)和机器学习对于从工业大数据中提取洞察具有广阔的前景。这些分析方法可以发现数据中的模式,数据中的模式可以被利用以预测机器故障以及识别工业数据之间的其他有用关联。随着工厂的设备的老化,对数据之间的新关联的发现可以提供有价值的新洞察。例如,应用于工业大数据的AI分析可以发现泵的轴承的磨损可能会改变泵的振动。从这样的大数据分析中收集的洞察可以产生提高的生产率、优化的生产和新业务价值。

图2a是示出典型的大数据分析方法的流程图。根据该方法,将来自多个工业数据源202的数据流送到大数据存储装置(例如,数据湖或数据库)。将高级别的分析——例如AI、机器学习、统计分析或另外的数据科学方法——应用于这些大且不同的数据集,直到发现有用的关联和可执行洞察。这些可执行洞察可以呈以下形式:业务成果,用于最少化机器停机事件或预测机器停机事件的建议,用于最小化能量利用的建议,用于最大化产品产量的建议或其他这样的业务目标。大数据分析可以通过发现机器、装置、工厂车间事件、传感器输入以及由聚合的大数据集表示的其他可度量因素之间的关联来产生对这些期望业务成果的洞察。

尽管来自工业数据源的数据流可以用于积聚分析(例如,AI、机器学习、数据科学等)可以被应用于的非常大的数据集,但是根据这些大的数据集来得出值的时间以及与存储和处理工业大数据相关联的成本可能是巨大的。这是由于由工业装置和其他工业数据源生成的数据通常是非结构化并且最初不相关的。因此,智能分析必须花费大量的处理时间来学习这些非结构化工业数据集之间的关联和因果关系。考虑到由工业企业生成的大量数据,该方法还需要相当大的数据存储容量。例如,石油和天然气公司可能从单独的压缩机生成大量数据,这在一些情况下每天可以产生500GB(吉字节)的数据,从而一年产生超过PB(拍字节)的数据量。因此,尽管图2a中示出的方法可以使得从大数据集之间的学习的关联发现新洞察,但是相对于被存储和处理的大量数据,该方法也会产生相对少的洞察。

此外,尽管图2a中示出的分析方法可以识别数据集之间的有效且有用的关联,但是大数据分析系统也会识别数据集之间的虚假、误导或无用的关联。因此,最终需要人类来确定分析系统学习的关联是否有效,以及为何存在该关系。通过将由AI分析产生的结果提交给工业专家以供检查或验证,在分析处理的后端将该人类专门知识应用于分析结果,会导致大量分析处理和数据存储浪费在产生虚假结果上。

为了解决这些和其他问题,本文中描述的一个或更多个实施方式提供了智能网关平台,其利用工业专门知识来识别被认为与期望业务目标有关的可用工业数据的有限子集。该方法可以减少应用AI分析的数据空间,并且以数据之间的预定义关联和因果关系的形式提供对AI分析的有用约束,该有用约束帮助数据分析系统更快得出有价值的洞察和业务成果。在一些实施方式中,智能网关平台可以在多级工业分析系统的情境(context)下操作,将预建模的数据馈送到在工业企业的一个或更多个不同级别上执行的一个或更多个分析系统(例如,AI、机器学习或统计分析系统)。

在相关方面,一个或更多个实施方式还提供了处于装置级、网关级和/或云级的工具,其允许用户使用工业发布-订阅方法来订阅关注的数据子集。这些工具可以包括处于工业装置级的智能标签支持,智能标签支持允许根据与选择的数据项有关的分析或业务主题(例如,质量、能量消耗、产品产量、机器运行时间等)来标记选择的数据项(例如,用作用于控制编程的构建块的表示工业资产的自动化对象、智能标签等)。这些标记的数据集可以从较低的装置级被流送到较高的代理或分析级,并且用户或高级别的分析系统可以根据与数据流相关联的标记来订阅关注的所选数据流。在结构化数据(例如,智能标签或自动化对象)的情况下,相关联的数据流包括与这些标签/对象相关联的任何情境化或元数据。以该方式,装置级数据模型提供了将选择的结构化工业数据集馈送到分析系统(例如,工业AI系统)的手段。

工业处理例如泵送、包装、分拣、填充、蒸馏和酿造遵循在一定程度上能够由系统设计者和操作者预测和认识的行为模式。具有特定成套工业机器和处理的知识的人被称为领域专家。本文中描述的工业分析系统的一个或更多个实施方式利用该领域专门知识,根据来自分析的期望业务输出来对选择的工业数据集进行聚合和建模,然后将该建模的工业数据馈送到更高级别的分析系统以进行存储和AI分析。图2b是示出该一般分析方法的流程图。并非如图2a中所描绘的方法中那样收集、存储和分析能够从工业企业获得的所有原始数据(或该可获得的数据的未必大的集合),该方法始于识别期望的业务价值或成果——例如,最少化某种类型的工业机器的停机时间、最大化产品输出、优化能量效率、提高产品质量、减少排放等——并且利用领域专家的关于工业系统中的因果关系的知识来选择与期望业务成果有关的数据集,并且以驱动期望业务成果的方式对数据进行情境化和建模。然后,系统向建模的数据匹配和应用适当的分析和数据处理解决方案。相对于筛选不相关和非结构化工业数据的大集合(如在传统大数据分析方法中一样),该方法可以极大地减少工业数据分析的价值实现时间(time-to-value)。由于编码领域专门知识指定了已知与期望业务目标有关的可用工厂数据的子集,因此系统可以引用该专门知识来仅选择和流送已知与要解决的问题或业务目标有关的数据项,从而减少工业数据分析所需的数据存储量。

根据图2b中描绘的方法,应用工业机器学习和AI的起始点是识别要解决的业务问题。然后,基于限定的领域专门知识来选择来自一个或更多个工业数据源的相关智能数据(也被称为情境化数据)或原始数据以匹配期望业务成果,并且对智能数据进行情境化和建模。在一些实施方式中,可以根据面向对象模型对数据进行建模。在可扩展分析环境的情况下,可以将分析应用于与业务成果最相关的工业企业级别的情境化和建模的智能数据。例如,与工业机器的实时操作有关的分析和动作可以在边缘装置(例如,将工厂网络通信地链接到外部网络或系统的网络基础设施装置)上实现,并且作用在机器级,而不需要更高级别的系统参与来确定必要的控制动作。

图3是根据本公开内容的一个或更多个实施方式的示例智能网关平台302的框图。在本公开内容中说明的系统、设备或处理的各方面可以构成在机器内实施例如在与一个或更多个机器相关联的一个或更多个计算机可读介质(或媒介)中实施的机器可执行部件。这样的部件在由一个或更多个机器——例如计算机、计算装置、自动化装置、虚拟机等——执行时可以使机器执行所描述的操作。

智能网关平台302可以包括装置接口部件304、模型配置部件306、数据建模部件308、网关分析部件310、分析接口部件312、用户接口部件314、一个或更多个处理器316以及存储器318。在各种实施方式中,装置接口部件304、模型配置部件306、数据建模部件308、网关分析部件310、分析接口部件312、用户接口部件314、一个或更多个处理器316和存储器318中的一个或更多个可以彼此电耦接和/或通信地耦接以执行智能网关平台302的功能中的一个或更多个功能。在一些实施方式中,部件304、306、308、310、312和314可以包括存储在存储器318上并且由处理器316执行的软件指令。智能网关平台302还可以与图3中未描绘的其他硬件和/或软件部件进行交互。例如,处理器316可以与一个或更多个外部用户接口装置例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口装置进行交互。在一些实施方式中,智能网关平台302可以用作嵌入包括但不限于边缘装置、工业控制器或HMI终端的另一装置的逻辑实体。

装置接口部件304可以被配置成在一个或更多个工厂设施处的工业数据的源与智能网关平台302之间交换信息。可以由装置接口部件304访问的工业数据的源可以包括但不限于工业控制器、遥测装置、马达驱动器、质量检查系统(例如,视觉系统或其他质量验证系统)、工业安全系统、摄像装置或其他类型的光学传感器、数据收集装置(例如,工业数据历史库)或其他这样的信息源。这些工业数据源可以包括不同类型和供应商的装置,并且包括结构化和非结构化数据的源。在一些实施方式中,装置接口部件304可以经由装置所驻留的工厂网络与这些工业装置交换数据。在一些实施方式中,装置接口部件304还可以经由诸如因特网的公共网络来接收工业数据中的至少一些工业数据。在一些实施方式中,装置接口部件304可以经由一个或更多个公共和/或私有网络直接访问由这些工业装置和系统生成的数据。替选地,装置接口部件304可以经由代理或边缘装置访问这些数据源上的数据,代理或边缘装置聚合来自多个工业装置的数据以经由装置接口部件304迁移到智能网关平台302。

模型配置部件306可以被配置成生成分析模型,分析模型可以由AI或机器学习分析系统与应用适当的分析相关地利用以实现期望业务目标。可以基于从存储在存储器318上的模型模板的库320中选择的对关于业务目标的领域专门知识进行编码的模型模板来生成分析模型。模型模板可以定义关于业务目标的数据项(例如,传感器输入、测量的过程变量、关键性能指标、机器操作模式、环境因素等),以及这些数据项之间的关联。模型配置部件306可以将该模型模板基于用户输入变换为定制模型,该用户输入将由模型模板定义的通用数据项映射到由装置接口部件304发现的实际的数据源。

数据建模部件308可以被配置成基于由分析模型定义的关系对由装置接口部件304收集的工业数据进行建模和情境化,以产生可以被馈送到本地或外部AI分析系统的建模数据。数据建模部件308可以对来自工业数据源的异构集合的结构化(例如,智能标签、自动化对象等)和非结构化数据两者进行建模。

网关分析部件310可以被配置成对建模的工业数据执行本地分析(例如,AI、机器学习、统计分析等)。分析接口部件312可以被配置成与消耗该数据以提取业务价值的外部系统(例如,AI系统、机器学习系统、数据湖等)对接并交换数据。这可以包括向这些外部分析系统发送建模的工业数据或发送由网关分析部件310执行的本地分析的结果。

用户接口部件314可以被配置成在智能网关平台302与具有访问该平台的授权的客户端装置之间交换信息。在一些实施方式中,用户接口部件314可以被配置成生成接口显示并且将接口显示传送到客户端装置,该接口显示允许用户指定要解决的业务目标以及定制或编辑与指定的业务目标相关联的模型模板以将模型模板映射到工业数据源。用户接口部件314还可以将分析结果传送到客户端装置,分析结果包括预测的资产性能问题的通知、用于实现指定的业务目标的建议或其他这样的分析输出。

一个或更多个处理器316可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个功能。存储器318可以是存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。

图4是根据本公开内容的一个或更多个实施方式的支持智能标签和数据流送通道的示例工业装置402的框图。工业装置402可以包括基本上任何类型的数据生成工业装置,包括但不限于工业控制器、马达驱动器、HMI终端、视觉系统、工业光学扫描仪或者其他这样的装置或系统。工业装置402可以包括程序执行部件404、I/O控制部件406、智能标签配置部件408、数据发布部件410、联网部件412、用户接口部件414、一个或更多个处理器418以及存储器420。在各种实施方式中,程序执行部件404、I/O控制部件406、智能标签配置部件408、数据发布部件410、联网部件412、用户接口部件414、一个或更多个处理器418以及存储器420中的一个或更多个可以彼此电耦接和/或通信地耦接以执行工业装置402的功能中的一个或更多个功能。在一些实施方式中,部件404、406、408、410、412和414可以包括存储在存储器420上并且由处理器418执行的软件指令。工业装置402还可以与图4中未描绘的其他硬件和/或软件部件进行交互。例如,处理器418可以与一个或更多个外部用户接口装置例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口装置进行交互。

程序执行部件404可以被配置成编译并执行用户定义的控制程序或可执行的解释代码。在各种实施方式中,控制程序可以以任何合适的编程格式(例如,梯形逻辑、顺序功能图、结构化文本、C++、Python、Javascript等)编写并下载到工业装置402。通常,控制程序使用由作为输入变量的工业装置的模拟输入和数字输入读取的数据值,并且根据控制程序指令、部分地基于输入值来设置工业装置的模拟输出和数字输出的值。I/O控制部件406可以被配置成根据控制程序输出来控制工业装置的数字电输出和模拟电输出的电输出信号,并且将工业装置的模拟输入和数字输入上的电信号转换成可以由程序执行部件404处理的数据值。

智能标签配置部件408可以被配置成基于元数据配置输入数据来设置与针对工业装置402定义的智能标签相关联的元数据值或标记。如下面将更详细描述的,除了标准的一般数据类型(例如,实数的、模拟的、数字的等)之外,工业装置402还被配置成支持与工业特定数据类型对应的智能标签422。智能标签422具有以下相关联的元数据:该相关联的元数据可以由用户经由智能标签配置部件408配置以针对给定的工业应用定制数据标签。如在本文中将更详细地描述的,智能标签422还可以具有以下相关联的元数据:该相关联的元数据以帮助业务驱动的分析的方式基于工业或用户专门知识对与标签422相关联的数据进行情境化,从而在装置级有效地对数据进行预建模。在一些实施方式中,该数据建模可以通过存储在装置402上的垂直元特定或应用特定数据建模模板424来定义,垂直元特定或应用特定数据建模模板424针对各种业务目标定义关键变量以及数据项之间的关系和关联。模板424和智能标签422被存储在存储器420中(例如,连同其他数据类型的其他定义的数据标签一起存储在工业装置的标签数据库中)。

数据发布部件410被配置成向外部系统暴露定义的数据标签(包括智能标签422),从而使得与这些标签相关联的数据能够通过本地网络和/或远程网络被这样的系统发现。在一些实施方式中,数据发布部件410还可以支持向作为工业发布-订阅架构的一部分的更高级别的代理或分析系统的数据流送,其中所得的数据流用作分析系统或用户可以选择性地订阅的数据通道。对于源自智能标签的数据流,数据流包括与标签相关联的任何情境化或数据标记。

联网部件412可以被配置成使用任何合适的网络协议通过有线网络或无线网络与一个或更多个外部装置交换数据。用户接口部件414可以被配置成接收用户输入并且以任何合适的格式(例如,视觉、音频、触觉等)向用户呈现输出。在一些实施方式中,用户接口部件414可以被配置成与在通信地连接到工业装置402(例如,经由硬连线或无线连接)的客户端装置(例如,膝上型计算机、平板计算机、智能电话等)上执行的开发应用通信地对接。用户接口部件414然后可以经由开发应用接收用户输入数据和呈现输出数据。在其他实施方式中,用户接口部件414可以被配置成生成合适的图形接口屏幕并将其提供给客户端装置,并且经由这些图形接口屏幕交换数据。可以经由用户接口部件414接收的输入数据可以包括但不限于用户定义的控制程序或例程、数据标签定义、智能标签元数据配置或其他这样的数据。

一个或更多个处理器418可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个功能。存储器420可以是存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。

如上所述,由智能网关平台302的实施方式实现的工业分析方法利用工业领域专门知识以通过明确定义已知与给定业务目标(例如,减少机器停机时间、减少指定的机器故障例如纸幅破裂、优化指定类型的工业机器的能量利用、提高特定类型的产品的质量等)有关的数据项来减少要在其上应用AI分析的数据空间。这些相关数据项之间的已知关联和/或因果关系(也从领域专门知识得到)也被预定义并且被建模成数据,从而施加有用的分析约束,其相对于在未必大的数据集上应用无约束的大数据分析更快地并且在较少处理开销的情况下获得期望洞察。该领域专门知识以存储在智能网关平台302上的模型模板的形式被编码。

图5是示出被设计成对工业数据进行建模以用于随后的AI分析的模型模板502的选择和配置的图。在一个或更多个实施方式中,智能网关平台302可以存储各自与对应业务目标或成果相关联的模型模板502的库320。示例业务目标可以包括但不限于:减少总的机器停机时间或机器故障的次数;最小化机器电力消耗;优化操作效率(例如,相对于机器消耗的能量的量的机器输出的量);最小化排放;提高产品质量;识别产生最大产品输出、最少机器停机时间或最大产品质量的因素;或其他这样的目标。

在一些实施方式中,可以根据工业或垂直元(vertical)(例如,汽车、石油和天然气、食品和药品、采矿、纺织等)、机器类型或其他这样的分类对这些目标进行分组。图6是示出用于在智能网关平台的库中存储模型模板502的示例模型分类模式的图。用户接口部件314可以生成模型模板选择屏幕并将其传送到客户端装置,模型模板选择屏幕允许用户导航(navigate)模型分类模式以选择与期望工业特定和应用特定业务目标相关联的模型模板。根据该示例模式,模型模板502根据工业或垂直元(例如,汽车、石油和天然气、采矿、食品和药品、发电、纺织等)被分类在分层分类模式内。尽管在图6中描绘了仅一个工业/垂直元层,但是一些工业/垂直元可能包括表示在母工业下分类的子工业的子类别。例如,对“汽车”工业类别的选择可能会提示用户从若干汽车子工业例如轮胎和橡胶、涂装、发动机制造等中进行选择。

在每个工业或垂直元分类(或子工业)之下是与该工业或垂直元有关的一个或更多个机器选择。例如,轮胎和橡胶子工业可以与通常与轮胎制造(例如,压延、挤压、硫化机、轮胎成型机、轮胎采集站等)相关联的若干不同机器相关联。每个机器均与和选择的机器相关的一个或更多个预定义业务目标相关联。一些业务目标可以是相对较高级别的全局目标,例如最少化机器停机时间或故障、最大化产量、最小化能量消耗、优化机器效率等。其他目标可以是对于选择的机器和垂直元特定的或独特的。例如,与纸筒包装机相关联的业务目标可以包括:当将纸从辊送入机器中时使纸撕裂或纸幅破裂最少化,或者当将纸送入机器中时使卡纸减到最少化。在另一示例中,与清洗机相关联的业务目标可以是使不平衡旋转的情况最少化。

选择与所选机器相关联的业务目标调用与该目标相关联的模型模板502。现在回到图5,用户通过提交将模型模板选择分层导航到期望业务目标的模型选择输入510(经由用户接口部件314)来选择期望模型模板502。通常,每个模型模板502在哪些数据项与要解决的问题相关以及这些数据项之间的关联和因果关系方面,编码适用于所选工业和机器特定业务目标的领域专门知识。每个模型模板502指定来自工厂车间的工业装置(例如,工业控制器、遥测装置、传感器等)的哪些数据输入应当由AI或传统分析来检查以学习由选择的业务目标表示的问题的原因和可能的解决方案,并且在适当的情况下还定义与业务目标相关的这些数据输入之间的关联和因果关系。

相关数据项及其之间的关系的这些定义基于从在设计、维护和检修选择的机器方面有经验的工业专家收集的集合性领域专门知识。对于与执行普通工业应用的特定机器有关的给定操作问题,领域专家可能知道应当检查哪些传感输入以确定非最佳机器性能的根本原因,以及哪些机器事件、模式或测量的操作参数与某些结果相关。该集合性知识可以由模型模板502进行编码,并且可以用于对关于期望业务目标的评估的后续AI分析(或传统分析)施加有用的约束。一些模型模板502还可以指定作为要解决的业务问题的函数的指定数据项上运行的分析的类型。

由于相关数据项的源可能跨不同工业企业而变化,因此模型模板502一般地定义这些数据项。例如,与使特定机器的产品输出最大化的业务目标相关联的模型模板502可以指定传送机速度为与评估机器性能以及学习可以增加产品输出的可能的操作修改有关的数据输入之一。然而,该传送机速度数据的源依赖于客户设施处使用中的设备。在一个设施处,该传送机速度值能够从控制传送机马达的马达驱动器上的数据标签获得,而在另一设施处,传送机速度可以由速度传感器测量并且作为模拟信号输出。此外,传送机速度可以在不同设施处以不同数据格式获得;例如,作为非结构化原始数据或者作为具有标识速度值的源的相关联的元数据的结构化值。

一经选择与期望业务目标对应的通用模型模板502,智能网关平台302允许用户通过将由模型模板502指定的每个数据项与能够从用户自己的工业资产获得的数据项的源进行映射来定制模板502。为此,用户接口部件314可以在用户的客户端装置514上呈现接口显示,该接口显示呈现由模板502定义的相关(通用)数据项,并且允许用户针对每个数据项浏览在用户的工业资产516上发现的可用数据项。数据项的源可以由网关平台的装置接口部件304发现,网关平台的装置接口部件304可以浏览工厂网络并且识别组成用户的工业资产的工业装置402上的智能标签422、数据标签508或工业数据的其他源。可以将用户对要映射到由模板502定义的每个数据项的特定工业数据源的选择提交作为数据映射定义512,数据映射定义512将模型模板502变换成定制的分析模型。

通过利用经编码的领域专门知识,该引导的数据映射处理还可以在用户的当前系统实现中当前未测量与期望业务成果有关的某些传感数据项的情况下通知用户。例如,终端用户可能不知道工厂设施内的湿度水平会增加送纸机中纸幅破裂的风险。然而,该关联可以是领域专家已知的,并且因此被编码在与使纸幅破裂减最少化的业务目标相关联的模型模板502中。因此,当用户选择该模型模板502时,智能网关平台302在数据映射处理期间提示湿度数据的源,向用户通知对该信息的需求并且在尚未安装这样的传感器的情况下驱动工厂内的湿度传感器的安装。

一旦模型模板502被定制,智能网关平台302就可以利用所得的定制模型对映射的数据项进行收集和结构化以用于后续分析。图7是示出由智能网关平台302对工业数据进行收集和结构化的图。在该示例中,如上所述,工厂车间数据项到选择的模型模板502的映射产生了定制的数据模型702,其可以由智能网关平台302关于以下操作来引用:收集可用工业数据的指定子集,以及基于期望业务目标对收集的数据进行预建模以用于后续AI分析。

智能网关平台302从不同类型、供应商和型号的工业装置402的不同集合收集数据流。工业装置中的一些(例如,工业装置402a和402e)可以支持生成智能数据或者被使用元数据进行情境化以提供关于生成数据值的情境的附加信息的数据。例如,支持创建智能数据的马达驱动器可以产生传达驱动工业机器或资产的部件的马达的速度的时间序列数据的连续流。如果将速度数据与测量马达速度值时的装置或机器的操作状态(例如,运行、故障等)组合,则该马达速度数据可以产生另外的有价值的洞察。在另一示例中,类似地,可以将装置的电参数(例如,电压、电流和功率因数)链接到测量参数时的装置的操作状态以产生情境化数据。工业装置402的实施方式可以支持这样的情境化智能数据的创建以及该情境化数据在智能标签422中的存储。如果模型702指示该智能数据706与要评估的业务目标有关,则可以通过智能网关平台302从智能标签422(在工业装置402支持的情况下)获得该智能数据706。

一些工业装置402可以使用特殊指令和定制智能标签数据结构来创建情境化数据以执行计算并且为情境化数据创建名称和结构。图8是一些工业装置402可以支持的四种示例智能数据类型的图示。这些数据类型可以补充通常由工业控制器或其他工业装置支持的其他标准数据类型(例如,整数、实数、布尔型、字符串、浮点等)。通常,数据标签(标准数据标签和智能标签422两者)是在工业装置内定义的数据结构,其引用装置内的存储位置(例如,输入值、输出值或内部数据寄存器)并且与相应数据项对应。数据标签可以被配置成具有指定的数据类型,例如,布尔型、浮点、整数、双整型(double integer)、字符串等。开发期间,控制器标签可以被创建并保持在工业装置402的标签数据库中。本文中描述的智能标签422可以被认为是迎合工业自动化应用并且补充传统数据类型的另外的数据类型。

在示出的示例中,智能数据类型包括四种结构化信息数据类型——状态数据标签802、速率数据标签804、里程(Odometer)数据标签806和事件数据标签808。尽管本文中描述的示例假设支持的智能数据包括这四种数据类型,但是应当认识到,在不脱离本公开内容的范围的情况下,一些实施方式可以包括其他智能数据类型。

每个智能标签包括用于存储智能标签的当前值(例如,状态值、速率值、里程值和事件值)的字段以及被配置成存储用于该智能标签的用户定义的配置数据的一个或更多个元数据字段。每个智能标签的元数据值可以根据与智能标签422相关联的特定工业资产或工业应用来定制相关联的智能数据值的分析、管理和呈现。

包含在状态数据标签802中的值可以表示工业资产或装置(例如,机器、生产线、马达驱动器等)的当前状态。包含在状态数据标签802中的状态数据可以表示预定义状态的集合中之一,该预定义状态表示相关联的工业资产或装置的当前状态或状况。例如,状态数据标签可以传达S88状态(即,被定义为ANSI/ISA-88批量处理标准的一部分的状态)、包装机语言状态、为资产定义的状态机的当前状态、阀的状态(例如,打开或关闭)、马达的状态(例如,运行、空闲、故障等)或其他类型的状态。

与状态数据标签802相关联的用户可配置元数据可以定义表示相关联的资产的可用状态的状态机,其中每个定义的状态被配置成响应于检测到的条件而被调用。例如,每个定义的状态可以经由元数据被链接到工业装置402中定义的一个或更多个其他相关数据标签(例如,表示传感器或开关的指示定义的状态的状态的数据标签),使得由状态数据标签802指示的当前状态是相关数据标签的当前值的函数。通常,可以在智能标签元数据内定义相关数据标签之间的这样的关系,以有效地产生可以由外部分析系统(例如,AI分析系统或传统分析系统)利用以快速学习对相关联的工业处理或机器操作的洞察的装置级模型。在一些实现方式中,由智能标签及其相关联的元数据编码的这些装置级模型可以定义数据标签之间的复杂关联和关系。

包含在速率数据标签804中的值可以表示与工业资产或装置相关联的度量的测量速率的整数值或实数值。速率值可以是瞬时速率或表示度量在一段时间内的变化率的值。例如,包含在速率数据标签804中的速率值可以表示温度、压力、速度(例如,传送机或其他马达驱动的机器部件的速度)、总体设备效率(OEE)或其他这样的度量。

与速率数据标签804相关联的用户可配置元数据可以针对相应速率值定义最大值和最小值,使得包含在速率数据标签804中的值不会偏离到由最大值和最小值元数据定义的窗口之外。元数据还可以标识确定事件的一个或更多个数据源(例如,一个或更多个其他数据标签或输入地址)。例如,速率智能标签804的元数据可以定义对应的速率值是否为包含在其他定义的数据标签中的多个其他值的聚合。可以将速率值定义为两个或更多个识别的数据标签的平均或总和,或者数据标签关于时间的积分。另一元数据字段可以用于指定要与速率相关联的工程单位。

包含在里程数据标签806中的值可以表示与工业资产相关联的累积量。例如,里程数据标签806可以被配置成表示具有累积值(rollover value)的累积量,例如与工业资产相关联的零件计数。在这样的情况下,与里程数据标签806相关联的元数据可以包括累积值的定义。里程数据标签806还可以被配置成表示定义的时间间隔期间的量,例如与资产相关联的能量消耗。在定义的时间间隔期间的量的情况下,与里程数据标签806相关联的元数据可以包括时间间隔的定义,其可以按照日开始时间和结束时间、按照时间间隔的开始时间和定义的持续时间、或作为另一时间定义格式来定义。与里程数据标签806相关联的元数据还可以定义驱动里程值的一个或更多个数据源。例如,元数据可以定义与循环完成(CycleComplete)事件相关联的数据标签,使得当循环完成数据标签走高时里程值将增加。里程值还可以被定义为多个值的聚合。在这样的情况下,元数据可以标识其值将被聚合或求和以产生里程值的两个或更多个数据标签。元数据还可以定义与里程值相关联的测量单位(例如,灌装的瓶、操作循环、兆瓦-小时等)。

包含在事件数据标签808中的值可以表示与工业资产相关联的瞬时或持续性事件。例如,事件数据标签808可以表示瞬时事件,例如,按钮事件(例如,“服务按钮被按下”)、传感器事件(例如,“存在零件”、“检测到人”等)、安全装置事件(例如,“光幕被破坏”)或另外的这样的瞬时事件。可以由事件数据标签808表示的持续性事件可以包括但不限于与警报状况相关联的事件(例如,“警报未确认”、“警报已确认”等)。可以由事件数据标签808表示的持续性事件的其他示例可以包括具有标识符和状态的持续性事件。例如,与批量处理相关联的事件可以包括批号(标识符)和相关联的事件(例如,“开始”、“执行”、“完成”等)。与事件数据标签808相关联的用户可配置元数据可以包括其状态聚合地确定要由事件数据标签808表示的事件的其他数据标签的标识符。替选地,如果由事件数据标签808表示的事件是仅单个输入(例如,按钮输入)的函数,则元数据可以标识工业装置的适当的输入地址。

应当认识到,上面结合图8描述的智能标签旨在是示例性的,并且其他类型的智能标签也在本公开内容的一个或更多个实施方式的范围内。

现在返回到图7,智能网关平台302基于应用于选择的模型模板502的先前定义的数据映射基本实时地发现和收集由模型702定义的数据项。在示出的示例中,一些工业装置402(例如,工业装置402a)支持数据在装置级的情境化,而其他工业装置402仅生成存储在标准数据标签508中的未情境化的原始数据708。此外,来自一些工业装置402的数据能够由智能网关平台302经由工厂网络协议(例如,网络协议1或网络协议3)直接访问,而其他第三方或遗留(legacy)工业装置402可以仅经由将装置数据封装在工业标准封装器(例如,过程控制OLE(OPC)或另一中间件协议)中的中间件应用710可访问。如果未在数据源附近对数据进行情境化和建模,则随时间流送该原始数据708创建非结构化大数据。因此,平台的数据建模部件308被配置成通过根据模型702对数据进行命名、组合和聚合来对来自不同数据源的原始数据708进行情境化。可以将所得的经变换的原始数据连同来自支持智能数据标签422的工业装置的任何预情境化的智能数据706一起存储,以产生适合于集体AI或机器学习分析的结构化和情境化数据704。

通常,模型702指定应当被分析以产生对期望业务目标的洞察的数据,并且还向数据建模部件308通知如何将指定的数据项组织和组合成可以驱动分析的有意义的簇(cluster)。这些簇基于由模型702定义的数据项之间的关联和因果关系。尚未在装置级进行预建模和情境化(例如,通过智能标签元数据)的任何原始数据708在被馈送给AI分析之前被数据建模部件308变换为智能数据作为结构化和情境化数据704。这创建了由智能网关平台302收集的所有不同数据的通用表示。在示例场景中,依赖于从其收集数据的工业装置的供应商、型号和/或使用年限,来自生产线的机器的总体设备效率(OEE)数据可以具有不同格式。数据建模部件308可以将该不同OEE数据标准化为通用表示。数据建模部件308还可以将元数据添加到从机器收集的数据以产生情境化智能数据。数据建模部件308基于由模型702定义的数据关联或因果关系来确定将哪些元数据添加到给定的原始数据项。例如,如果模型702指定来自泄漏测试站(泄漏测试站针对气孔问题检查制造的发动机缸体)的泄漏测试结果数据部分地是形成发动机缸体时的压铸炉温的函数,则数据建模部件308可以将该炉温值作为元数据添加到泄漏测试结果数据。

在一些实施方式中,由数据建模部件308添加到收集的智能和原始数据的元数据可以包括引导对数据704的后续AI或机器学习分析的AI元数据。图9是描绘由数据建模部件扩充以包括定义各种AI属性的AI字段904的智能数据902的项的示例数据模式。在一些场景中,模型702可以指定与关注的业务目标有关的一个或更多个关键变量或测量结果,以及关键变量与其他变量或测量结果的关系。这些关系表示如从集体工业专门知识收集的与期望业务目标有关的关键关联或因果关系。基于模型702中定义的这些关系,数据建模部件308可以通过添加AI情境化元数据来扩充相关智能数据。这可以涉及将新AI字段添加到表示关键变量的智能数据902以及被确定为对关键变量有影响的相关智能数据902。新AI字段904的值可以编码关键变量及其相关变量(直接影响关键变量的值的这些变量)之间的关系,以及可以对后续AI和机器学习分析设置有用约束的其他信息。

例如,可以将新AI字段904添加到将智能标签422标识为表示关键变量的关键变量智能标签422。附加AI字段904可以标识影响关键变量的值的其他智能标签422。如果模型702定义了关键变量与其他相关变量之间的数学关系(基于模型702中编码的领域专门知识),则该数学关系也可以被包括在AI字段904中的一个或更多个中(例如,作为限定泵的流量输出、泵消耗的功率和水压之间的关系的数学函数)。

在一些实施方式中,AI字段904还可以定义相对于关键变量要解决的分析问题的类型或种类(例如,建模、聚类、优化、最小化、异常检测、OEE计算等)。分析问题的类型可以基于与模型702相关联的选择的业务目标(例如,确定产品质量落在可接受的容限之外的原因、提高产品输出、最小化能量消耗等)。将这些问题陈述封装在智能数据902的结构中可以向AI分析系统传达要对数据704执行的数据分析的性质,以生成对选择的业务目标的洞察。例如,处于更高级别的分析系统可以引用该AI字段904,并且基于字段的值触发建议的算法或机器分析类型。这与下述传统方法形成对比:通过传统方法,分析系统针对给定的数据集运行一套预定义的分析算法并且选择最佳解决方案——这会是处理强度更大的。

由于该分析问题陈述被嵌入结构化和情境化数据704的结构内,因此与数据704对接的实时分析系统可以识别由AI字段904定义的规定类型的分析,并且以最少的用户干预来执行定义的分析,而不管AI分析系统运行的平台(例如,边缘装置、云平台、服务器、嵌入式平台等)如何。增强智能数据902以附加记录建模的工业系统的变量之间的关系的AI字段904使得这些关系成为智能数据902的可见属性,其可以由处理数据704的分析系统访问和利用。

在一些实施方式中,不是在网关级添加AI字段904,而是可以在工业装置402内在装置级预定义AI建模中的一些或全部。在这样的实施方式中,处于装置级的智能标签422可以包括以下AI字段904:该AI字段904基于由标签表示的工业应用、垂直元或工业资产指定用于从相关联的智能数据获得有意义的洞察的合适类型的算法或机器分析。被设计成以该方式在装置级处在数据结构中指定建议的问题公式化的工业装置402(例如,工业控制器)可以容易地与企业级分析系统集成,并且减少由这些系统为收敛于解决方案和洞察而必须花费的时间和工作的量。在装置级处封装问题描述还可以提供用于执行分布式/协同分析的手段,并且可以简化多供应商解决方案。

数据建模部件308还可以组织和聚合变换的数据以产生结构化和情境化数据704。在一些实施方式中,数据建模部件308可以对数据进行建模以反映数据源所驻留的工业企业层级。例如,由于许多工业系统是模块化和分层的,因此批量处理系统可以由包括表示下述内容的层(从最高到最低)的层级来表示:工业企业、工厂场所、场所内的生产区域、生产区域内的隔间(cell)、隔间内的单元、以及单元内的设备或机器。工厂中的每个区域可以包括许多机器和相关联的工业装置402。可以在机器级处聚合来自连接到给定机器的装置的数据,以产生有意义的情境化数据。该聚合的机器级数据可以包括例如机器的正常运行时间、产量、能量消耗和质量。在层级中的较高级别处对机器数据的进一步聚合可以产生隔间级和场所级数据。每个级别的聚合可以产生对工厂操作的有价值的洞察。这些洞察由于在工厂的层级的不同级别处对数据的组织而成为可能。智能网关平台302可以根据定义的企业层级(其可以是模型702的一部分,或者可以由数据建模部件308单独定义和引用)来对数据进行命名、处理和注释,这是通过要由结构化和情境化数据704提供的期望业务成果驱动的。

智能网关平台302还可以将从工业装置402收集的数据在作为结构化和情境化数据704进行存储之前对从工业装置402收集的数据同步。通常,驱动期望业务成果的相关数据项被同步收集并且被加时间戳以建立关联。例如,如果业务目标是优化由混合饼干面团的混合机消耗的能量,则智能网关平台302可以将混合机的开始和停止时间与来自功率计的功率读数同步,以获得用于处理的相关且准确的数据。模型702还可指定表示面团量、糖量、水量、温度、批量类型(batch type)和批量大小的数据项与能量有关。智能网关平台302可以相应地对该数据进行时间同步和结构化以用于后续数据处理和分析。

在一些实施方式中,数据建模部件308还可以处理原始数据708以为不提供这样的数据的机器创建新OEE数据。例如,如果模型702指示期望业务目标分析需要机器运行时间,则数据建模部件308可以通过从表示计划的生产时间的原始数据值减去表示机器未运行的时间的另一原始数据值来计算该运行时间。在另一示例中,如果模型702指示功率消耗是业务目标分析所需的因素,则数据建模部件308可以组合从马达驱动器获得的电压和电流数据以产生所需的功率数据。由于来自不同供应商的装置可以以不同的单位和格式(例如,伏特、千瓦等)报告电流和电压,因此可以将针对所有驱动器(和其他装置)的功率计算标准化为通用表示。

在一些实施方式中,智能网关平台302还可以被配置成生成由对单独或组合数据值的限制触发的警报和事件。这些通知数据类型可以在智能网关平台302中被命名。

在适当的情况下,数据建模部件308的一些实施方式还可以对原始数据和智能数据中的至少一些进行建模以符合面向对象的资产模型。工业工厂通常操作许多常见的工业资产,包括泵、锅炉和压缩机。许多这样的资产被部署在工厂中,并且在一些情况下,可以存在许多类型和型号的这些资产。一些资产类型可以层级化地来描述。图10是用于工业泵的示例资产类型层级1002。泵可以根据两种不同类型的泵——动态和正位移——进行分类。动态泵可以是离心的或是特殊效果的。离心泵可以是轴流的、混流的或外围的。离心泵的常见类型是潜油电泵。

在一些实施方式中,智能网关平台302可以变换从工业资产接收的数据项(原始数据或智能数据)以添加描述资产在资产层级内的层级路径(例如,泵.动态.离心.外围)的面向对象的模型元数据。这样的层级数据模型可以帮助分析系统为分析、呈现仪表板或其他这样的数据操纵而组织数据。例如,如果根据图10中描绘的泵类型层级对来自各种类型的泵的数据进行建模,则分析系统可以通过分离用于两种不同泵类型的数据并且比较两个所得的数据集来容易地比较这两种不同泵类型(例如,轴流泵和混流泵)的效率。这样的数据建模还可以允许选择特定的泵类型以用于聚焦的、类型特定的数据分析。通过利用这样的层级资产模型,与每个泵相关联的数据(例如,压力、流速、液体量、能量损失、泵效率等)由给定泵的层级路径中的所有子节点继承(例如,给定轴流泵的流速被应用于泵本身以及轴流、离心、动态和泵层级分类)。将情境化智能数据连接到面向对象的资产模型可以产生来自工业控制器和装置的相关数据,该相关数据被映射到资产以通过分析系统快速变换为业务价值。

在传统大数据分析中,数据科学家花费大量时间来预处理或“清理”数据以为分析作准备。在受对期望业务目标的初始选择驱动而使用上述数据管理技术中的一些或全部的情况下,智能网关平台302可以通过将非结构化工业数据变换为利于AI和机器学习分析以及组织化报告或其他功能的情境化和结构化智能数据来消除对这样的数据清理的需要。

尽管上面在智能网关平台302的级别处对数据进行建模的情境中描述了由数据建模部件308执行的数据建模功能,但是工业装置402的一些实施方式可以支持在装置级处执行与数据建模部件308相关联的功能中的任何或全部功能,产生从这些工业装置402获得或流送的情境化智能数据706的至少一部分。此外,装置级智能数据建模中的至少一些(例如,由如上所述的智能标签元数据定义的)可以基于与业务目标有关的领域专门知识在工业装置402上被预定义。在示例实现方式中,存储在支持智能标签422的工业装置402上的垂直元特定和应用特定模板424(其可以类似于模型模板502)可以预定义数据点之间的已知关联并且将这些关联编码在智能标签元数据中。这些关联和关系可以基于相关垂直元和应用的工业专门知识被预定义。智能标签422的数据结构可以封装系统信息(例如,用于锅炉的数据结构)以及与智能标签的数据的分析有关的相关联的领域专门知识(例如,应当被监测以确保锅炉的健康的其他变量的标识)。在一些实施方式中,智能标签422还可以封装相关外部数据,例如,湿度、周中的天数、太阳活动、局部温度等。相对于雇佣成本高、可用性低或相关工业知识有限的数据科学家,基于这样的领域专门知识在装置级处对工业数据预建模可以更快产生可行的分析模型。

通常,可以根据可重用的工业特定和应用特定模板424在装置级处对智能标签422进行结构化和组织,工业特定和应用特定模板424根据预封装的领域专门知识来定义已知的关系和关联。由模板424表示的应用可以包括工业应用(例如,板料冲压、幅材张力控制、压铸等)以及消耗数据并且要求数据以某种方式被组织和格式化的外部软件应用(例如,产品生命周期管理、CAD等)两者。例如,应用特定模板424可以识别与能源、总体设备效率(OEE)等有关的可用数据的子集,并且定义根据数据项之间的关系和关联的对该数据的预组织,对该数据的预组织可以将外部分析系统快速引导到对这些区域的相关洞察。可重用模板424可以基于角色、功能或业务价值(例如,预测性维护)以及馈送到期望功能的智能标签422的子集来识别有意义的数据。所得的处于装置级的数据模型可以在较少的手动编码或准备的情况下在更高级别处被复制和转换。

预定义的装置级模板424也可以与特定装置或工业资产(例如,驱动器、锅炉等)相关联,并且可以定义与对应的装置402相关联的智能标签422的簇。这些模板424还可以定义用于得出装置402的有意义的统计(例如,KPI)的计算以及建议的混搭(mashup)、增强现实叠加或适合于呈现与装置402相关联的数据的其他类型的可视化。这些各种模板424可以将领域专门知识构建到装置数据本身的组织结构中。

在一些实施方式中,装置级模板424也可以由终端用户在工业装置的控制编程的开发期间生成以存储在装置上。在示例实现方式中,可以在其上生成控制程序的集成开发接口(IDE)内使预配置的设备模型可用。这些设备模型可以被选择以包含在程序中,并且同时被并入装置级数据模型中,以用于对由最终程序生成的数据进行情境化。也可以通过解释被导入到IDE中的数字图(例如,P&ID图)来实现设计时建模。工程图或在投标/设计/建造周期期间生成的其他类型的文档可以提示驱动器与其他部件之间的关系,这些关系可以由IDE识别并且被并入装置级(或更高级别)数据模型中。也可以以该方式导入和解释可以从中推断出设计者的意图的其他类型的设计文档(例如,CAD文件)。

由于给定数据标签可以用于不同目的(例如,质量评估、生产等),因此可能在装置级处为同一数据定义了多个模板424,其中每个模板424特定于不同业务或分析目标。在一些实现方式中,更高级别的应用可以根据期望洞察或业务目标来选择可用模板424之一。以该方式,装置级数据建模可以以不同方式封装数据结构,以供多个不同的更高级的应用的定制化消耗,从而允许由多个方以不同方式使用数据。数据也可以被组合以产生向上流过企业层的复合流。

在一些实施方式中,工业装置的智能标签配置部件408还可以允许用户使用定义数据点之间的客户特定关联的定制元数据(例如,经由用户接口部件414)来进一步扩充选择的智能标签422,从而允许终端用户使用其自己的关于哪些数据项与期望业务成果最相关(例如,哪些锅炉或其他资产对于监测以学习期望洞察最重要)的意见或知识来扩充智能标签422。随后,分析系统可以使用预定义和用户定义的智能标签元数据来构建包含内置的领域专门知识以及用户提供的应用专门知识的分析模型,从而快速且容易地将数据驱动到期望业务成果,而无需数据管理员或大量的专家编码。

在一些实施方式中,处于装置级的情境化元数据可以对系统或资产重新配置的改变进行响应。例如,如果以改变相关联的数据的组织的方式重新配置机器或生产线,则对应的工业装置402的智能标签配置部件408可以更新装置的智能标签422以反映这些情境改变。替选地,终端用户可以相应地经由用户接口部件414来容易地更新智能标签。

如上所述,由智能网关平台302生成的结构化和情境化数据704,或者在支持智能标签422和装置级数据建模的装置的情况下从工业装置402作为预建模数据获得的结构化和情境化数据704,可以被馈送到分析系统,该分析系统可以对结构化数据执行AI或机器学习分析,以收集洞察并且生成关于与模型702相关联的业务目标的建议。图11是示出其中智能网关平台302对来自工业装置402的数据进行收集、情境化和结构化并且将所得的结构化和情境化数据704提供给AI分析系统1102的示例架构的图。尽管图11(和本文中描述的其他示例)描绘了数据704被馈送到AI分析系统1102,但是可以在不脱离本公开内容的范围的情况下将其他类型的分析应用于数据704,包括但不限于机器学习或统计分析。在通过将模型的定义的数据项映射到工业装置上的特定数据项(例如,智能标签422和/或标准数据标签508)对模型702进行定制之后,智能网关平台302开始从如上所述的映射的数据源收集数据并且对数据进行变换以产生结构化和情境化数据704。由于基于由模型702定义的相关关联和因果关系——即,被定义为与正被检查的特定业务目标有关的关联和因果关系——对收集的数据进行情境化和结构化,因此这些关联和因果关系作为与收集的数据项相关联的元数据被提供给AI分析系统1102。平台的分析接口部件312可以被配置成与AI分析系统1102交换数据,并且将数据704馈送到分析系统1102。

在应用数据分析之前向AI分析系统1102通知数据项之间的相关数据关联和因果关系可以将有用的约束应用于由AI分析系统1102执行的数据分析。相对于无约束的大数据分析,这些约束可以将分析系统1102更快地驱动到有用的洞察,从而显著减少AI分析系统1102发现洞察并且生成相对于期望业务目标的有用建议所需的时间量。这些预定义的关联和因果关系还可以减少AI分析系统1102发现数据项之间的虚假或无关的关联。通过将提供给AI分析系统1102的数据集限制为仅那些被模型702认为相关的数据项,并且通过基于从集体工业专门知识得出的预定义的关联和因果关系来对这些数据项进行结构化和情境化,智能网关平台302缩小了要由分析系统1102分析的数据空间,从而相对于无约束的大数据分析,帮助分析系统1102更快地发现有用的洞察并且生成建议。收集的数据项的有限集还可以简化数据生命周期管理。

由智能网关平台302收集的数据项的子集,以及由分析系统1102应用于数据的AI或机器学习分析的结果可以作为可视化呈现1104被传送到有权限访问分析结果的一个或更多个客户端装置1106。在可视化呈现1104上呈现的信息可以包括相对于由用户最初选择的业务目标的与工业装置操作有关的建议或可执行洞察。例如,如果最初选择的模型模板502(模型702基于该模型模板502)与最大化某种类型的工业处理的产品输出的业务目标有关,则智能网关平台302将收集、结构化和情境化已知与获得对该问题的可执行洞察有关的数据项。该结构化和情境化数据704被馈送到AI分析系统1102(例如,作为流送智能数据),AI分析系统1102在确定生产率损失的根本原因并且生成建议的对策或可执行洞察的目标下对智能数据流执行AI或机器学习分析。在这点上,由智能网关平台302将相关数据集减小到已知与业务目标有关的那些数据项以及基于模型702被编码到智能数据中的数据项之间的已知关联和因果关系,可以将AI分析系统1102更快地引导到关于定义的业务目标的可执行洞察。

在示例场景中,AI分析系统1102可以基于将AI或机器学习应用于结构化和情境化数据704而确定作为总体处理的一部分的特定生产线(例如,生产线5)的停机时间是生产率损失的重要原因。因此,AI分析系统1102可以基于进一步的AI分析来确定用于减少生产线5的总累积停机时间的一个或更多个可能的对策(例如,降低操作速度、增加对生产线5执行的维护的频率、修改操作序列等)。可以经由可视化呈现1104向用户呈现发现的根本原因和相关联的建议对策。如果AI分析系统1102被设计成执行预测性分析或趋势分析,则系统1102还可以识别数据704内通常在停机事件之前的指示,并且针对这些指示的存在来持续监测结构化和情境化数据704。响应于确定数据704的相关项满足指示即将发生的停机事件的标准,分析系统1102可以生成并且向一个或更多个客户端装置1106传送通知以告知预测的停机事件。

在一些实施方式中,除了呈现对解决指定的业务目标的建议和可执行洞察之外或作为呈现对解决指定的业务目标的建议和可执行洞察的替选方案,分析系统1102还可以基于应用于数据704的分析的结果来生成控制输出1110并将其引导到工业装置402中的一个或更多个。控制输出1110可以被配置成以被预测为将操作朝向指定的业务目标移动的方式改变选择的工业装置402的配置和操作。例如,如果分析系统1102确定降低马达驱动器的速度设置点将减少特定生产线的停机情况,从而实现提高生产输出的业务目标,则系统1102可以将控制输出1110引导到选择的马达驱动器,该选择的马达驱动相应地改变速度设置点。分析系统1102可以根据系统架构经由任何合适的手段将控制输出1110传送给目标工业装置。例如,如果分析系统1102是与工业装置驻留在同一工厂网络上的边缘装置,则控制输出1110可以经由网络被直接传送。在另一示例架构中,分析系统1102可以经由智能网关平台302将控制输出1110传送到目标工业装置402。

如上所述,由网关平台302提交给分析系统1102的结构化和情境化数据704被使用编码在模型702或智能标签元数据(基于模板424)中的一者或两者中的基于数据关系和关联的工业和用户专门知识进行预建模。在一些实施方式中,外部AI分析还可以在操作期间实时地识别另外的关联并且将这些关系反馈回给装置级或网关模型。以该方式,可以根据通过外部分析发现的客户的独特系统和应用的特质来改善处于装置级的或网关平台302上的预封装数据模型。此外,一些实施方式可以实现基于来自专家的响应输入进一步增强装置级模型的混合自驱动AI方法。例如,领域专家可以对聚类结果的质量进行排序,并且可以使用该专家反馈来修改用于聚类的参数。

智能网关平台302将结构化和情境化数据704馈送至的AI分析系统1102可以在智能网关平台302本身上执行(例如,作为网关分析部件310),可以在工厂网络116上的独立的边缘装置上执行,或者可以在工业企业的更高级别或在云平台上执行。图12是示出其中智能网关平台302将结构化和情境化数据提供给处于工业企业的各个级别的分析系统的示例架构的图。如上所述,平台的数据建模部件308根据模型702对从工业装置402收集的原始数据和/或智能数据1208进行情境化、建模和结构化。平台的分析接口部件312将所得的结构化和情境化数据704传递给分析系统以进行AI或机器学习分析。图12中描绘的工业环境包括在企业的各个级别处执行的AI分析系统,包括:与智能网关平台302本身集成的本地网关分析部件310;在边缘装置1206(例如,网络基础设施装置或将工厂网络链接到云、因特网或另一网络的其他类型的装置)上执行的边缘级分析系统1210;以及在云平台上执行的基于云的AI分析系统1204。这些分析系统中的任何分析系统均可以如上所述对结构化和情境化数据704执行分析。这些分析系统中的每个可以也如上所述向经授权的客户端装置1202提供包含通知、建议或可执行洞察的可视化呈现1104。

在一些可扩展分析架构中,除了在智能网关平台302、边缘装置1206和云平台上执行的分析系统之外,分析系统还可以在本地网络上在装置级和企业级上执行。图13是示例可扩展工业分析架构的图。这样的多级分析架构——其中智能网关平台302用作聚合、规格化和预建模数据的源——可以被设计成使得在与正被执行的分析的类型最相关的工业企业的装置或工业企业的级别上执行AI分析。

在该示例架构中,OT环境(与IT环境不同)被定义成包含工厂车间的工业装置、机器、生产线工业服务器和边缘装置。这些OT装置和系统中的许多具有重要的本地处理能力。数据功能例如将来自工业装置402(包括工业控制器和较低级别的工业装置120)的原始工业数据转变为智能数据或者执行旨在调节工业装置402的操作的实时分析等最好在OT级上执行;例如,在智能网关平台302上,在边缘级分析系统1210上或在装置级分析系统1304上。实时分析被定义为在OT域中发生的、导致实时动作的分析,例如,改变工业装置的设置点或以其他方式改变工业处理的操作。其他更高级别(企业级)的分析可能最适合在IT域中执行;例如,通过企业级分析系统1302或基于云的分析系统1204。IT或云域中的分析通常产生更高级别的洞察,以用于使用仪表板或其他可视化呈现在客户端装置上的可视化。这样的更高级别的分析由于其通常不导致对工业资产的即时反馈控制而被称为非实时分析。与机器实时分析形成对照,非实时分析也可以被称为人工实时分析。对于具有遍及OT环境的大量计算资源的制造工厂,大多数数据处理和值提取很可能在OT环境中发生。对于具有有限计算资源的基于现场的资产,大多数数据处理可能替代地在云平台122上发生。

出于简单起见,图13中描绘的示例架构可以被划分为三个层级级别:装置级、系统级和企业级。企业级是IT环境的一部分,而装置级和系统级是OT环境的一部分。装置级分析可以执行诸如下述的实时功能:参照定义的界限来检查测量的操作参数,这可以提供对装置的操作的有用洞察。系统级分析(例如,由边缘级分析系统1210或网关分析部件310执行)可以得出与更高级别的系统操作有关的洞察,例如,预测到纸幅的张力的趋势指示在几个操作周期内即将发生的纸幅破裂。当在控制器和工业计算机中实现时,由装置级和系统级分析获得的操作洞察使得能够实现旨在将系统性能朝向与模型702相关联的业务目标移动的实时控制动作。通常,实时分析由在OT环境中处理实时数据产生。在企业级处,可以分析来自OT环境的选择的情境化数据或智能数据并将其与来自工业企业的其他部分的数据组合,以开发经由客户端装置将可执行洞察传送给用户的数据呈现(例如,仪表板或其他视觉呈现)。

该以可扩展方式定位数据处理和分析功能的方法非常适合具有变化的处理时域(例如,毫秒、秒、分钟、小时等)、资产位置(集中和远程)以及系统关系(例如,自主的、顺序连接的(in-line)、缓冲的、分批的等)的工业物联网(IoT)应用。在这三个定义级别中的每个级别处的分析和AI/机器学习均可以优化工业工厂中的处理和操作以实现期望业务目标。

在包括一个或更多个装置级、系统级和企业级分析系统的架构中,装置级或系统级分析系统可以在适当的情况下在装置级或系统级(例如,在工业控制器或其他工业装置402上、在低级别工业装置120上、在边缘装置1206上等)上执行分析,并且可以根据需要将分析任务转移到企业级分析系统以执行范围上针对企业级的分析。当需要装置级结果时,装置级分析系统1304可以对装置数据执行本地分析。由分析系统1304执行的装置级分析可以包括但不限于:基于与特定工业装置(例如,控制器、传感器、驱动器、仪表等)相关联的本地数据(或与该装置控制的处理或机器相关联的数据)的分析确定该装置是否存在故障风险或应当被替换,确定装置故障的根本原因等。

装置级分析系统1304还可以利用由智能标签422表示的装置级模型以及数据建模模板424来优化实时操作。在示例场景中,在被置于关机状态之后,生产线在被重新启动之后由于生产线重新平衡所需的时间量而可能要花费一些时间才能转换回到正常操作。生产线自身重新平衡并返回其正常工作流所需的时间可以对生产线的总体设备效率(OEE)产生不利影响。为了解决该问题,模板424可以定义用于优化生产线启动的数据建模。模板424可以识别例如可用数据元素(例如,智能标签422)的哪个子集驱动生产线启动的优化以及这些数据元素之间的关系。所得的装置级数据建模可以由控制器处的装置级分析系统1304使用以确定使恢复正常生产线操作所需的时间最少化的最佳启动序列。以该方式——使用装置级模型来帮助本地分析——将计算服务向下驱动到架构的较低级别可以通过在装置级处执行优化分析而不是将数据发送到更高级别的优化系统来减少通信带宽。该方法还可以减少时延,从而使控制级分析应用成为可能(例如,识别驱动器中的泵气蚀,从而使得可以快速调整泵速)。

装置级分析的结果可以由工业装置自身本地地消耗,或者被发送到客户端装置(例如,作为通知或仪表板)。例如,响应于装置级分析系统1304确定托管分析系统1304的工业控制器或装置有故障或不可接受的效率损失的风险,并且在分析系统1304识别出可以减轻或延迟装置故障的自动化对策的情况下,分析系统1304可以生成在托管装置上例如通过以可能减轻故障的方式改变装置的操作来实现对策的控制指令。这样的对策可以包括但不限于:将装置切换到慢操作模式或停止模式,将装置切换到备用电源,改变装置中定义的设置点,启动不同的控制程序或子例程的执行(在工业控制器或其他可编程装置的情况下),或其他这样的对策。

在系统级分析系统1210或310的情况下,可以监测和识别与更复杂的工业自动化系统(而非单个装置)的操作相关联的风险,并且可以实现在范围上针对整个自动化系统的适当的对策。在示例场景中,如果系统级分析系统1210或310基于对由智能网关平台302准备的结构化和情境化数据704的分析预测到生产线有产生过量产品浪费的风险(例如,由于零件废料数量的增加,发现的由生产线执行的处理的低效率,对执行处理的一个或更多个装置上的过度磨损的指示等),系统级分析系统1210、310可以实现旨在减轻产品浪费风险的多装置对策。这可以涉及生成针对组成自动化系统的装置的多个指令数据集,其中指令被配置成以协同的方式改变目标装置的操作以整体上在自动化系统上实现对策,从而降低产品浪费的风险。这样的系统范围的对策可以包括例如降低生产线的生产率、将产品的生产切换到替选生产线(这可能涉及向当前生产线的控制装置发送停止生产的指令,向新生产线发送开始生产的另一指令,并且向适当的上游系统发送开始向新生产线提供材料或零件的又一指令)、从替选生产线或源供应生产线的零件、或其他这样的对策。

尽管在图13中将智能网关平台302描绘为与边缘装置1206分开实施,但是智能网关平台302的一些实施方式可以在边缘装置1206上实施。使用该配置,高级别应用或外部应用可以经由在边缘装置1206上实现的网关功能来发现装置级数据和相关联的模型,该网关功能然后用作标准化接口,标准化接口不管访问数据的分析封装如何均以一致的方式提供数据和相关联的模型信息。通过在边缘处实现智能网关功能,边缘装置1206可以对来自装置级的第三方数据或遗留数据进行建模,从而生成来自不支持预创建的装置级模型的遗留控制器或其他装置的智能标签。在一些场景中,在边缘层处对遗留数据执行数据建模比在诸如云的更高层处执行更有利,这是由于当数据到达这些更高层时数据模型可能会丢失情境(context)。此外,在将未建模的数据移动到这些更高级别时涉及的额外时延可能妨碍对数据加准确的时间戳。因此,边缘装置1206可以被配置成对来自邻近装置层的数据加时间戳,从而确保来自不同装置的数据的准确同步。

除了监测装置和系统并且根据需要实现控制修改之外,装置级、边缘级和系统级分析系统还可以以通知、仪表板或其他图形接口的形式将分析结果发送到经授权的客户端装置。另外,在适当的情况下,装置级、边缘级或系统级分析系统可以将本地分析的结果发送到企业级分析系统1302或基于云的分析系统1204以用于企业级分析。装置级、边缘级和系统级分析系统还可以将本地分析的结果发送到与企业的同一级别或不同级别的其他分析系统。从分析系统中之一被发送到另一分析系统的分析结果可以在接收系统处被处理以用于进一步分析。这样,多级分析系统可以结合执行工厂级分析来执行节点间协同分析,使得在被认为最适合给定分析任务的企业级处执行分析任务。在适当的情况下,还可以将分析从较高级别向下扩展到较低级别。

在示例场景中,在分析系统之间向上或向下扩展分析的决策可以基于正被执行的分析的时间敏感性。例如,如果系统级分析系统(例如,边缘级分析系统1210或网关分析部件310)正在对产品的当前生产运行执行分析,其中分析的结果可以确定要如何执行当前运行,则系统级分析系统可以将分析处理的至少一部分转移到在工业控制器或作为执行生产运行的自动化系统的一部分的另一工业装置402上托管的装置级分析系统1304。通过将相关分析转移到参与控制处理的控制器或装置上托管的装置级分析系统1304,由装置级分析系统1304生成的分析结果可以由控制工业处理的控制装置更容易地利用。通常,分析系统可以被配置成识别标准,该标准指示要将数据或分析结果扩展或转移到另一分析系统,即,受分析的结果影响的特定装置、装置组、工业资产或系统。将分析结果或其他本地可用数据发送到另一分析系统的决策可以基于对以下的确定:结果或数据是否满足指示结果或数据对整个企业架构的另一部分或层的重要性或关联的标准。

在一些实施方式中,除了提供在装置级处被情境化的预建模的工厂车间数据以用于更高级别的分析之外,支持智能标签422和相关联的装置级数据建模的工业装置402还可以允许其装置级数据模型被发现并集成到更高级别的分析模型中。例如,工业装置402上的装置级模板424或其他装置级模型可以由更高级别的系统(例如,分析系统1210、1204或1302、ERP系统、维护系统等)发现并集成到与这些系统相关联的高级别分析模型中。以该方式,智能标签422及其相关联的建模元数据借助于建模模板424在装置级处实现数据工程,并且所得的装置级数据模型可以在不需要人工配置的情况下由更高级别的系统发现并且被送入更高级别的系统。以该方式在装置层处对数据进行建模可以以对消耗数据的系统类型不可知的方式帮助向这些更高级别系统的自动集成。智能标签422还可以通过定义用于分布式系统与分析引擎之间的通信的输入/输出结构来简化分布式分析架构的集成。

通常,智能标签建模在低级别处对数据进行情境化,并且该情境化在数据移动至企业的更高级别时被保持以及被增强。例如,可以基于控制器处可用的信息(例如,时间戳、装置级情境、环境数据、模板424定义的与其他数据标签的关系等)在控制器中使用情境化元数据对与泵或其他工业资产相关联的智能标签422进行建模。在更高级别处,可以用在更高级别处可用的维护数据或其他信息来补充智能标签的数据和相关联的情境元数据(包括内置于智能标签422本身的结构中的封装的领域专门知识),从而在数据向上移动时增强数据模型。在最底层——例如装置层——对数据进行求和和情境化可以通过去除从这些高级别系统学习关联和情境的负担来使数据易于与更高级别的系统集成。将由装置级情境元数据表示的这些装置级模型传播到更高级别也可以允许这些更高级别在无需将数据下推到装置级以进行分析的情况下消耗装置级模型。

当数据向上移动通过企业层级时,可以使用该一般方法将情境化的层逐步地添加到工业数据。例如,当网关平台302从工业装置的智能标签422接收建模的工业数据(即,使用由工业装置基于数据建模模板424添加的装置级情境元数据增强的工业数据)时,网关平台的数据建模部件308可以通过基于为期望业务目标选择的模型模板502使用进一步建模元数据来补充装置级情境元数据来进一步增强装置级模型。然后,可以基于该聚合数据模型对所得的建模的数据执行分析。在示例场景中,可以由网关平台的网关分析部件310来分析逐步建模的数据(包括工业数据值,其相关联的装置级情境元数据以及由网关平台的建模部件308添加的进一步建模元数据)。替选地,网关平台的分析接口部件312可以将逐步建模的数据发送到另一分析系统以用于分析(例如,基于云的分析系统、企业级分析系统、边缘级分析系统等)。无论哪种情况,该逐步的分层的数据建模可以由分析系统快速利用并且准确地产生相对于定义的业务目标(针对定义的业务目标来设计模型)对受控工业处理的可执行洞察。

在一些实施方式中,也可以将由更高级别的分析系统获得的洞察反馈给工业装置420上的装置级模型。例如,AI引擎或处于企业级的另一类型的分析系统——或网关平台的网关分析部件310——可以基于应用于智能标签数据的AI分析或传统算法来学习关键变量,该关键变量指示由工业装置402上的智能标签簇表示的工业资产的整体性能。因此,AI引擎(或者在网关平台302的情况下的数据建模部件308)可以调整智能标签的数据模型结构以将该关键变量编码为智能标签架构的一部分;例如,通过添加定义要监测的关键变量的新数据字段,或者通过修改装置级建模模板424来反映在更高级别的分析系统或网关平台302处发现的新洞察。以该方式,由外部分析系统或更高级别的分析系统作出的发现在装置级被永久编码在相关智能标签422的元数据中,并且该知识可以由引用智能标签422的其他分析系统访问。

在一些实施方式中,高级别的分析系统或网关平台302还可以基于在这些更高的分析级别处获得的洞察来替换、更新或形成装置级分析算法(例如,由装置级分析系统1304执行的分析算法)。在一些实施方式中,该处理还可以沿相反方向(从装置级到更高级别)运作,使得由装置级分析系统1304获得的洞察可以被向上馈送到更高级别的分析系统(例如,边缘级分析系统1210、网关分析、基于云的分析系统1204、企业级分析系统1302等),该更高级别的分析系统相应地更新其分析算法以反映装置级洞察。

除了对来自工业装置的原始数据和智能数据的收集和建模之外,智能网关平台302的一些实施方式还可以被配置成在由模型702指示的情况下(即,在模型702指定该补充数据对于学习对由模型702表示的业务目标的可执行洞察有用的情况下)对来自其他类型的数据源的数据进行收集和建模。图14是其中智能网关平台302将来自遍及工业企业的不同数据源的结构化和情境化数据704馈送到在云平台上执行的基于云的分析系统1204的示例工业架构的图。

如上所述,智能网关平台302可以将不同的结构化数据(例如,来自智能标签422)和非结构化数据标准化,并且基于在模型702中编码的工业领域专门知识对数据进行建模以编码数据之间的关系(关联、因果关系等)。平台302将该数据704馈送到AI分析系统1204,AI分析系统1204基于对结构化和情境化数据704的分析来生成结果。由智能网关平台302收集的数据可以包括来自工厂车间装置以及OT层中的操作和监督软件系统(例如,MES系统、历史库、库存跟踪系统等)两者的两者数据。在示出的示例中,由智能网关平台302收集的用于变换和传输到基于云的AI分析系统1204的数据包括由工业装置402生成的实时控制数据1414。该实时控制数据可以包括存储在装置的数据表中或与装置的数据标签相关联的模拟数据和数字数据。控制数据可以表示例如从受控工业处理读取的测量遥测值或传感器值(例如,温度、压力、流量、物位、速度等)、测量的数字值(例如,零件存在传感器值、安全装置状况、切换设置等)、由装置402生成并定向到受控系统的工业输出装置的受控模拟输出值和数字输出值、计算的性能度量等。

由智能网关平台302收集的其他数据可以包括但不限于:来自驻留在工厂网络116上的数据历史库装置110的日志文件1412,存储在维护计划服务器1402(驻留在办公网络108上)上并且包含关于遍及工业设施的各种机器的维护计划的信息的电子表格文件1411,存储在工作订单数据库1404上并且包含与在工业设施处生产的产品有关的工作订单信息的工作订单数据库文件1408,存储在库存数据库1406上并且包含关于当前和/或预期产品可用性的信息的库存数据库文件1410,或其他这样的数据文件。尽管本示例假定包含在这些相应数据文件类型中的特定类型的信息(例如,被存储为电子表格文件1411的维护计划信息、被存储在工作订单数据库文件1408中的工作订单信息等),但是应当认识到,这些信息类型仅旨在是示例性的,并且其他类型的信息可以被存储在各种文件类型中。这些不同的数据集可以由智能网关平台302根据模型702(指定期望业务目标)收集和变换,并且作为结构化和情境化数据704被发送到基于云的分析系统1204。

由于智能网关平台302对从工业装置402收集的数据进行标准化和建模,因此平台302可以以可以由被设计成消耗所得的结构化和情境化数据704的软件应用(例如,AI或机器学习分析系统)自动发现的一致的模型呈现所得的结构化和情境化数据704。这可以极大地简化与期望业务目标有关的数据的获取和分析。通过参考定义与期望工业特定业务目标和机器特定业务目标(例如,最少化机器停机时间、优化操作效率等)有关的数据项(例如,传感输入、关键性能指标、机器状况等)的定制的模型702,相对于流送和存储来自工厂车间的所有可用时间序列数据,智能网关平台302可以显著减少数据收集和分析所需的存储量。智能网关平台302还使用模型702来对数据进行预定义和预格式化,以供更高级别的分析模型(例如,高级别的面向对象的模型)和分析软件消耗。此外,容器化软件和微服务与智能网关平台302的集成可以通过进一步针对业务价值对数据进行建模、保持和分析而在边缘处添加新价值。

图15示出了根据本申请的一个或更多个实施方式的方法。虽然出于简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应当理解和认识到,本创新不受动作顺序的限制,因为一些动作可以据此以与本文中示出和描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为例如状态图中的一系列相互关联的状态或事件。此外,可能并不需要所有示出的动作来实现根据本创新的方法。此外,当不同实体实施方法的不同部分时,交互图可以表示根据本公开内容的方法或方式。此外,可以彼此组合地实现所公开的示例方法中的两个或更多个示例方法,以实现本文中描述的一个或更多个特征或优点。

图15示出了用于对工业数据进行结构化并且对结构化数据执行数据分析以产生相对于期望业务目标的可执行洞察的示例方法1500。最初,在1502处,接收从与各个业务目标相关联的模型模板的库中选择模型模板的选择数据。模型模板的库可以被存储在智能网关平台上。每个模型模板可以针对给定业务目标定义与确定对相关联的业务目标的可执行洞察有关的一组数据项(例如,传感器输入、控制器数据标签、马达驱动器数据标签等)以及数据项之间的关系(例如,关联、因果关系等)。数据项及其之间的关系基于编码到模型模板中的知识或领域专门知识。可以使模型模板对于其可用的示例业务目标可以包括但不限于最少化机器停机时间、确定机器停机时间的原因、预测机器停机时间、增加产品输出、优化能量效率、提高产品质量或其他这样的目标。

在1504处,在智能网关平台处接收映射数据,该映射数据将由在步骤1502处选择的模型模板定义的数据项映射到一个或更多个工业装置上的相应数据标签。数据项被映射到的数据标签可以是标准工业数据标签,或者可以是存储智能数据的智能标签,智能数据已经由其相关联的智能工业装置预情境化。

在1506处,由智能网关平台从数据标签收集数据。与传统大数据分析系统相比,仅收集被认为与和选择的模型模板相关联的期望业务目标有关的数据流。在1508处,基于由模型定义为与和模型相关联的业务目标有关的数据关联、使用建模元数据来扩充在步骤1506处收集的数据项。这可以包括例如将元数据添加到相应数据项来定义相关联的数据值与其他数据项的数学关系,数学关系是基于由模型定义的关系而确定的。还可以添加以下元数据:该元数据定义要由数据的后续AI分析解决的分析问题的类型(例如,建模、聚类、优化、最小化等),这是针对其期望可执行洞察的特定业务目标的函数。该扩充步骤还可以包括将数据项标准化为通用格式,以准备用于集体AI分析。

在1510处,确定在步骤1506处收集的数据是否是来自智能工业装置的预情境化智能数据。这样的智能装置可以被配置成对由装置生成的数据项使用情境化元数据进行预情境化,情境化元数据提供关于生成数据值的情境的附加信息。该情境化元数据可以包括例如在生成数据值时机器的操作状态(例如,运行、空闲、故障等)、在生成数据时的电力统计(例如,电压、电流、功率消耗等)或可能给予数据项更大的信息值的其他这样的情境元数据。

如果在步骤1506处收集的数据项没有被预情境化(步骤1510处的否),则方法进行至步骤1512,在步骤1512处,由智能网关平台将情境化元数据添加到数据项。在各种实施方式中,智能网关平台可以基于在步骤1502处选择的模型模板或者基于定义机器与装置之间的功能关系的工业企业的模型来选择相关情境化数据项。

如果数据已被预情境化(步骤1510处的是),则方法进行至步骤1514,而无需添加情境化元数据。在1514处,将从步骤1508至步骤1512得到的结构化和情境化数据馈送到人工智能分析系统。在1516处,将AI或机器学习分析应用于结构化和情境化数据,以帮助发现与期望业务目标有关的可执行洞察。在一些替选实施方式中,可以将结构化和情境化数据馈送到其他类型的分析系统(例如,统计分析系统)而非AI分析系统。

在一些实施方式中,通过使用上述数据建模模板424和智能标签422的驻留在工业企业的装置级处的数据模型,可以在装置级处标记源于工业装置402的数据流,并且可以在更高级别处从这些标记数据流收集洞察(例如,通过云中的、边缘装置上的或工业企业的企业级处的分析系统)。在一些实现方式中,可以使用发布-订阅方法来访问这些情境化和标记的数据流,从而来自工业装置402的情境化数据被提供给代理系统并且根据各种主题被标记。然后,包括分析系统的外部系统可以订阅相关主题,并且代理系统将提供与选择的主题对应的可用数据流的子集作为情境化数据流。

图16是根据本公开内容的一个或更多个实施方式的示例工业数据代理系统1602的框图。工业数据代理系统1602可以包括装置接口部件1604、分析系统接口部件1606、数据流发布部件1608、数据标记部件1612、一个或更多个处理器1618以及存储器1620。在各种实施方式中,装置接口部件1604、分析系统接口部件1606、数据流发布部件1608、数据标记部件1612、一个或更多个处理器1618以及存储器1620中的一个或更多个可以彼此电耦接和/或通信地耦接以执行工业数据代理系统1602的功能中的一个或更多个功能。在一些实施方式中,部件1604、1606、1608和1612可以包括存储在存储器1620上并且由处理器1618执行的软件指令。工业数据代理系统1602也可以与图16中未示出的其他硬件和/或软件部件交互。例如,处理器1618可以与一个或更多个外部用户接口装置例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口装置进行交互。在一些实施方式中,代理系统1602可以用作嵌入另外的装置的逻辑实体,另外的装置包括但不限于边缘装置、工业控制器或HMI终端。

装置接口部件1604可以被配置成从工业装置(例如,工业装置402)接收或获得数据流。在一些场景中,该数据可以包括已在工业装置402处例如如上所述通过与数据所源自的智能标签422相关联的元数据进行预建模的情境化数据。这样,数据流包括与其对应的数据标签相关联的数据值(例如,时间序列数据),以及预定义的和学习到的与其他数据标签或值的关联,该关联可以帮助AI系统相对于不相关的数据流更快地收敛于可执行洞察。从工业装置接收的数据流还可以根据从分析角度来看与数据相关的一个或更多个主题被标记。在一些实施方式中,数据流可以由相应装置通过与装置相关联的数据发布部件410发布,并且可以由装置接口部件1604经由一个或更多个安全网络连接(例如,工厂网络、云平台、诸如因特网的公共网络等)接收。

分析系统接口部件1606可以被配置成在代理系统1602与外部分析系统(例如,分析系统1102)之间交换数据。这可以包括:从这些外部系统接收订阅一个或更多个标记数据流的请求,以及根据订阅将选择的数据流发布到相应分析系统。数据流发布部件1608可以被配置成处理来自分析系统(例如,AI分析系统、机器学习系统等)的数据主题订阅请求,并且根据主题选择性地将数据流发布到订阅分析系统。

数据标记部件1612可以被配置成在从装置接收不具有标记的数据的场景中将标记应用于来自工业装置的输入数据。一个或更多个处理器1618可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个功能。存储器1620可以是计算机可读存储介质,其存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息。

在示例场景中,用户可以在控制程序开发期间将主题标记应用于工业控制器或其他工业装置402中的选择的智能标签422以及要由控制程序使用的其他数据标签。图17是示出支持智能标签的工业装置402的标签数据库1702中的智能标签的配置的图。工业装置402可以是例如工业控制器(例如,可编程逻辑控制器或其他类型的可编程自动化控制器),其被配置成执行工业控制程序1704以帮助对工业机器或处理的监测和控制。工业装置402包括存储数据标签定义1714的标签数据库1702,数据标签定义1714可以包括标准数据标签和智能标签422两者的定义。数据标签定义1714可以由用户与对控制程序1704(例如,梯形逻辑程序、顺序功能图程序等)的开发相配合地来配置,并且定义用于存储和标识由控制程序1704生成和消耗的模拟数据值和数字数据值的各种数据类型的数据标签。可以由标签定义1714表示的示例标准数据类型可以包括例如整数数据类型、实数数据类型、布尔数据类型等。除了这些标准数据类型之外,数据标签中的一个或更多个可以包括如上所述的智能标签422。

在该示例场景中,用户可以使用在通信地对接到工业装置402的客户端装置1710(例如,膝上型计算机、台式计算机、平板计算机等)上执行的装置配置应用1708来配置控制程序1704和数据标签定义1714两者。在各种实施方式中,客户端装置1710可以通过由用户接口部件414支持的硬连线连接(例如,通用串行总线连接、以太网连接、串行连接等)或无线连接(例如,近场、WiFi等)与工业装置402对接。装置配置应用1708可以执行可以用于开发控制程序1704及其相关联的数据标签的程序开发环境,相关联的数据标签包括与要使用控制程序1704控制的一个或更多个工业资产相关联的任何智能标签422。

如上所述,标签定义1714中包括的智能标签422可以包括元数据,该元数据对数据进行预建模和情境化以用于后续AI或机器学习分析。如上所述,该情境化元数据中的至少一些可以基于预定义的数据建模模板424,使得元数据定义从编码在模板424中的工业专门知识收集的关系、关联和要对智能标签数据执行的优选分析类型。情境化元数据中的一些还可以包括由用户设置的作为智能标签配置数据1706的一部分的用户定义的情境化。这样的用户定义的情境化可以定义数据项之间的定制关系或关联,以生成符合终端用户的特定工业自动化系统和设备的特质的定制装置级模型。

使用装置配置应用1708,用户还可以配置与各个智能标签422相关联的元数据以定义根据给定工业应用要在装置级处对智能标签的数据执行的预处理。例如,对于定义要由工业装置402控制的瓶子灌装机的状态的智能标签422,用户可以指定要由标签表示的各种状态(例如,运行、初始(Home)、异常、空闲等)。在一些实施方式中,智能标签配置部件408可以支持可以由用户选择并与表示机器或装置状态的给定智能标签422相关联的许多预定义状态。另外地或替选地,用户可以将状态中的一个或更多个状态的名称定义为与智能标签422相关联。

在另一示例中,对于表示将瓶子馈送到灌装机的传送机的速度的智能标签422,用户可以指定速度值的最大值和最小值。因此,智能标签422将不生成在由指定的最大值和最小值定义的范围之外的速度值,并且如果测量的速度值超过定义的最大值或低于定义的最小值,则可以生成错误或警报输出。表示平均温度的另一智能标签422可以被配置成对由用户在元数据中指定的多个模拟温度输入值取平均。对于表示产品计数(例如,由灌装机输出的灌装瓶的数目)的智能数据422,用户可以配置相关联的元数据以定义触发产品计数值的递增的数据标签(例如,表示“灌装循环完成”事件的输入标签或另一智能标签422),以及日班开始时间和日班结束时间,在该日班开始时间与日班结束时间之间,智能数据422的值在被重置为零之前将递增。

除了以上讨论的标签配置方面之外,用户还可以将选择的智能标签422与主题标记相关联,该主题标记指示与相关联的数据有关的主题。为此,装置配置应用1708可以包括配置工具,该配置工具允许用户将选择的标签与相关主题标记相关联,该相关主题标记作为智能标签配置数据1706的一部分被提交。可以与智能标签相关联的示例主题可以包括但不限于产品质量、能量消耗、产品产量、机器运行时间、机器停机时间或其他这样的主题。以该方式,可以根据相关主题在装置层对智能标签422进行预标记并将其发布到其自己的通道(或多个不同相关通道)。

还可以由智能标签配置部件408基于从自动化层得出的推断将一些标记自动添加到选择的智能标签。例如,智能标签配置部件408可以基于关于在工业控制程序1704中如何使用智能标签422的确定来确定与给定智能标签422有关的相关主题(例如,产品质量、维护、机器停机时间、能量优化、排放减少、OEE、生命周期管理等),并且用该主题来标记智能标签422。在一些实施方式中,智能标签配置部件408还可以基于从数据模型702获得的显式或隐式相关主题为给定智能标签422自动选择主题。例如,除了上述数据建模方面之外,数据模型702可以定义与各个智能标签422相关联的相关主题,并且智能标签配置部件408可以基于这些模板定义将适当的主题标记自动分配给这些智能标签422。在一些实施方式中,智能标签配置部件408还可以基于对由模型702定义的数据建模的分析来推断各个智能标签422的相关主题。

图18是示出通过工业数据代理系统1602结合智能标签422帮助的工业发布和订阅架构的示例高级别的数据流的图。根据该示例架构,工业装置402将其情境化的且经标记的智能标签作为数据流1802发送到代理系统1602,数据流1802由代理系统的装置接口部件1604接收并存储。这些数据流1802可以包括表示其各个智能标签422随时间的值的时间序列数据、与每个数据流相关联的标记、以及由智能标签的元数据编码(例如,基于模板424或用户定义的关联)的预定义和学习的关联。

代理系统1602可以将接收的数据流1802发布到其自己的通道,并且允许用户或外部系统(包括诸如AI分析系统1102的分析系统)根据主题订阅选择的关注通道。例如,寻求优化给定生产线的产品质量的分析系统1102可以将订阅数据1804提交给请求订阅可用数据流中具有质量主题标记的子集的代理系统1602。在该示例中,智能标签422及其相关联的用质量主题标记的数据流1802可以包含应当通过机器学习运行以优化产品质量的数据。如上所述,这些标签可以关于应当被监测或优化以获得最佳质量的数据值基于领域专门知识在工业装置402中被预定义。代理系统的数据流发布部件1608处理分析系统的订阅请求,并且作为响应,开始将与质量标记对应的发布的数据通道的子集作为订阅的数据流1806流送到分析系统1102。该基于主题的发布-订阅方法对可用工厂车间数据的总集合进行预过滤,使得仅将与期望业务成果有关的数据流提供给分析系统1102。此外,该过滤的数据流集合根据装置级和/或网关级模型与目标特定情境化信息、关系、关联捆绑在一起,从而进一步减少了分析系统1102分析数据流1806并收敛于可执行成果所需的时间。

尽管上述示例假定数据流在装置级处被标记,但是在一些配置中,数据流可以由代理系统的数据标记部件1612标记。该实现方式可能适用于处理从不支持装置级处的标签标记的遗留工业装置接收的数据流。在这样的场景中,数据标记部件1612允许用户定义要与在装置接口部件1604处接收的选择的未建模数据流相关联的主题,并且在发布之前基于用户定义将适当的主题标记应用于这些数据流。在一些实施方式中,数据标记部件1612可以针对一个或更多个未标记的工业数据项推断相关分析主题,并且用该推断的主题标记数据项。可以基于对数据项的角色或与其他接收的数据项的关系的确定、对数据模型702(如果能够由代理系统1602访问)的分析、对从其他相关数据项接收的情境元数据的分析、从其接收到数据项的工业装置402的标识或通过其他这样的推断技术来学习给定数据项的推断主题。

在一些实施方式中,智能标签422或用于配置智能标签的模板424也可以用于配置许可哪些实体查看给定数据集。例如,工业装置402的所有者不仅可以为各个智能标签配置主题标记,还可以配置被许可从这些智能标签422接收数据流的订户(例如,OEM)的标识。替选地,可以通过标识不被许可查看数据的订户以排他的方式定义数据流的安全性。该订户许可信息可以被包括在智能标签元数据中。在代理方面,当接收到请求订阅标记数据流的订阅数据1804时,数据流发布部件1608可以首先确定请求的数据流是否标记有订阅限制——即对请求的数据流的许可订阅是否限于标识的订户或者是否阻止任何订户接收数据流——并且仅在许可实体接收数据流的情况下建立到订阅实体的数据通道。

该方法可以允许不同类型的实体——终端客户、OEM、系统集成商等——以保护专有数据的安全方式共享项目或系统运行时间信息。例如,由OEM建造的工业资产的所有者可以保持关于该机器如何在其设施内运行的知识产权,作为专有工业控制处理的一部分。智能标签标记可以用于组织驱动OEM要交付的业务成果的选择的数据集。代理系统1602可以利用这些智能标签标记以通过允许OEM仅订阅资产所有者许可其接收的数据集来将该数据子集传送给OEM。在另一示例中,向各种客户出售机器人或其他机器的OEM可以从他们出售的机器匿名地远程收集数据(例如,出于质量目的,使得OEM可以对其机器进行设计以获得最少停机时间),而无需获得与每个客户的特定应用有关的数据。

在一些实施方式中,工业数据代理系统1602可以驻留在工厂设施(例如,在边缘装置上实施)处,工业装置在工厂设施处操作。替选地,代理系统1602可以在云平台上实施并且作为云服务执行,从而向跨不同工业设施的广泛基础的数据发布者和订户提供工业数据代理服务。

图19示出了根据本申请的一个或更多个实施方式的方法。虽然出于简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应当理解和认识到,本创新不受动作顺序的限制,因为一些动作可以据此以与本文中示出和描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为例如状态图中的一系列相互关联的状态或事件。此外,并不需要所有示出的动作来实现根据本创新的方法。此外,当不同实体实施方法的不同部分时,交互图可以表示根据本公开内容的方法或方式。此外,可以彼此组合地实现所公开的示例方法中的两个或更多个示例方法,以实现本文中描述的一个或更多个特征或优点。

图19示出了用于建立从工业装置到外部系统(包括但不限于AI或机器学习分析系统)的情境化数据流的示例方法1900。最初,在1900处,如在工业数据代理系统处从一个或更多个工业装置接收工业数据。数据可以例如由工业数据代理系统接收。工业数据可以源自驻留在装置上的智能标签,并且可以用建模元数据来扩充,该建模元数据定义与业务目标有关的数据项之间的关系和关联。接收的各个数据项可以进一步用标识从分析角度与各个数据项有关的主题的标记来扩充。示例主题可以包括但不限于产品质量、能量消耗、产品产量、机器运行时间、排放减少、OEE、生命周期管理或其他这样的主题。

数据可以由工业数据代理系统接收,该工业数据代理系统可以驻留在装置所驻留的工厂设施处,或者可以作为基于云的服务执行以向广泛基础的数据发布者和订户提供工业数据代理服务。作为接收用建模元数据进行预建模以及预标记的工业数据的替选方案,代理系统本身可以根据由代理系统维护的数据建模模板在工业数据被接收时将标记和/或建模元数据应用于工业数据。

在1904处,从外部系统接收订阅数据。订阅数据请求订阅由标记表示的一个或更多个主题中的选择的主题。在示例场景中,可以从外部分析系统(例如,AI或机器学习系统)接收订阅数据,该外部分析系统的任务是以学习关于指定业务目标(例如,减少工业系统的排放、提高产品质量或产量、优化能量利用等)的可执行洞察为目的来分析来自工业系统的数据。在另一示例中,外部系统可以是与拥有工业装置的工厂外部的实体相关联的数据收集系统(例如,OEM或系统集成商)。

在1906处,确定是否许可外部系统订阅在步骤1904处请求的订阅的主题。这可以由代理系统基于与各个工业数据项相关联的安全元数据来确定,安全元数据可以定义对被许可查看给定主题下标记的数据的实体的限制。如果许可外部系统订阅(步骤1906处的是),则方法进行至步骤1908,在步骤1908处,建立数据通道,该数据通道将标记有指定主题的工业数据的子集流送到外部系统。数据流可以包括与在该主题下标记的数据项相关联的数据值(例如,与工业装置处的对应智能标签相关联的时间序列值)以及建模元数据两者,该建模元数据对数据进行结构化和情境化以帮助订阅系统更快速和准确地收敛于相关可执行洞察。如果不许可外部系统订阅(步骤1906处的否),则方法返回到步骤1902,而不建立数据通道。

如在上面讨论的示例架构中清楚的,在装置级或网关级处的工业数据的预建模和情境化可以帮助相关工业数据到更高级别的分析系统的高效迁移,并且还可以帮助这样的分析系统相对于传统的大数据分析更快地并且以更少的计算开销达到有用的洞察。在装置级数据建模的情况下,在工业装置402上创建智能标签422是该方法的关键配置步骤。如上面结合图17所述,数据标签定义1714——其可以包括智能标签定义——可以由系统设计者与要在工业装置402(例如,诸如PLC的工业控制器)上下载并且执行的控制程序1704的开发相配合地来配置。所得的程序文件定义了要由工业装置402执行的控制程序1704以及由工业装置402用来创建标签数据库1702的数据标签定义。

为了自动化和简化针对工业装置402生成工业控制程序1704和相关联的标签定义1714的处理,以及为了更容易地将工业装置402与消耗装置的数据的高级别分析系统集成,程序开发系统可以被配置成接收数字工程图——例如,计算机辅助设计(CAD)图——作为设计输入,并且基于对这些工程图的分析来生成装置的控制编程的至少一部分和标签定义1714。

图20是根据本公开内容的一个或更多个实施方式的能够将工程图转换成可执行控制编程和相关联的数据标签定义的示例程序开发系统2002的框图。程序开发系统2002可以包括用户接口部件2004、图导入部件2006、程序生成部件2008、程序导出部件2010、一个或更多个处理器2018和存储器2020。在各种实施方式中,用户接口部件2004、图导入部件2006、程序生成部件2008、程序导出部件2010、一个或更多个处理器2018以及存储器2020中的一个或更多个可以彼此电耦接和/或通信地耦接以执行程序开发系统2002的功能中的一个或更多个功能。在一些实施方式中,部件2004、2006、2008和2010可以包括存储在存储器2020上并且由处理器2018执行的软件指令。程序开发系统2002还可以与图20中未描绘的其他硬件和/或软件部件进行交互。例如,处理器2018可以与一个或更多个外部用户接口装置例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口装置进行交互。

用户接口部件2004可以被配置成接收用户输入并且以任何合适的格式(例如,视觉、音频、触觉等)向用户呈现输出。在一些实施方式中,用户接口部件2004可以在显示装置(例如,与台式计算机、膝上型计算机、平板计算机、智能电话等相关联的显示装置)上呈现交互式显示屏幕,其中,显示屏幕用作工业装置编程和/或配置平台的接口。在一些实施方式中,用户接口部件2004可以呈现可选择的设计工具,并且经由与工具的交互来接收编程和装置配置输入。

图导入部件2006可以被配置成将数字工程图或模型导入到系统2002中。可以导入的示例图可以包括例如工业自动化系统的机械图和/或电气图、管道和仪表图(P&ID)、流程图或其他类型的图。可以导入到系统2002中的机械图可以包括自动化系统的二维机械图,或者在一些实施方式中为三维机械模型。

程序生成部件2008可以被配置成基于经由用户接口部件2004接收的设计输入来生成工业装置配置文件或能够在工业装置402(例如,工业控制器)上执行的其他类型的配置输出。该配置输出可以包括可执行控制程序、相关联的数据标签定义(包括情境化智能数据标签定义)和其他装置配置设置。程序生成部件2008可以基于对由图导入部件2006导入的正在设计的自动化系统的工程图的分析来生成数据标签定义和控制程序的至少一部分。程序生成部件2008还可以关于生成针对所选业务目标而被情境化的合适的情境化的数据标签定义,来利用从存储在存储器2020上的模板424的库320中选择的数据建模模板424。

程序导出部件2010可以被配置成导出或下载由程序生成部件2008创建的所得的配置输出。例如,程序导出部件2010可以将控制程序、数据标签定义和装置配置设置下载到目标工业装置402,以帮助对装置进行配置和编程,或者可以将所得的配置文件导出到另一存储位置。

一个或更多个处理器2018可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个功能。存储器2020可以是存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。

图21是示出根据一个或更多个实施方式的由程序开发系统2002将数字工程图转换成工业控制编程和数据标签定义的图。类似于装置配置应用1708,程序开发系统2002可以在客户端装置1710(例如,膝上型计算机、台式计算机、平板计算机等)上执行,并且可以由系统设计者使用来开发控制编程、标签定义和用于要配置的工业装置402的其他配置方面。

在示出的示例中,CAD文件2106形式的工程图被提供给程序开发系统2002。在一些场景中,CAD文件2106可以在用于开发工业自动化系统的工程图的单独的CAD系统2102中开发。这些工程图可以包括例如二维或三维机械图、电气示意图(例如,配电图、I/O图等)、P&ID图、流程图或其他这样的图。

如下面将更详细地描述的,程序开发系统2002可以基于对CAD文件2106中表示的图的分析来推断要由工业装置402执行的控制方面中的至少一些控制方面,并且生成用于执行这些控制功能的控制程序1704的对应部分。作为该程序生成处理的一部分,程序开发系统2002可以生成各种数据类型的适当的数据标签,以支持自动生成的程序例程。这些数据标签中的至少一些可以包括智能标签422,该智能标签422对其对应的数据项进行建模和结构化以供高级别的分析系统1102处理,从而辅助分析系统1102得出对如先前示例所述的要由工业装置402执行的受控工业处理的洞察。与以该方式生成的每个智能标签422相关联的情境化元数据(例如,AI字段904中的AI元数据,如结合图8所讨论的类型特定的元数据等)可以基于通过分析CAD文件2106推断出的控制情境以及与一个或更多个业务目标或期望分析洞察对应的选择的数据建模模板424。一旦控制程序1704及其相关联的智能标签422的开发完成,程序1704及其相关联的标签定义就可以下载到一个或多个工业装置402以供执行。在一些场景中,还可以将用于对智能标签422进行建模的一个或更多个模板424下载到工业装置402。

图22是示出由程序开发系统2002基于对一个或更多个数字工程图的分析以及一个或更多个选择的数据建模模板424来生成控制程序文件2202的图。程序开发系统2002可以支持与赋予上述装置配置应用1708的装置配置和编程功能类似的装置配置和编程功能。例如,程序开发系统2002可以呈现并支持程序开发环境,该程序开发环境可以用于开发控制程序1704及其相关联的数据标签,包括智能标签422。另外,程序开发系统2002包括图导入部件2006和程序生成部件2008,该程序生成部件2008基于对表示要由正在针对其开发控制程序1704的工业装置402控制的自动化系统的导入的数字工程图的分析,来帮助标签定义1714(包括智能标签定义)和控制程序1704的至少一部分的自动生成。

在图22中描绘的示例中,工程图数据作为一个或更多个CAD文件2106(例如,DWG文件、DWT文件、DXF文件等)被提交给程序开发系统2002。然而,程序开发系统2002的实施方式还可以被配置成处理以其他格式提交的工程图数据。提交给系统2002的工程图数据可以表示要由工业装置402控制的自动化系统的基本上任何方面。可以提交给程序开发系统2002并且由程序开发系统2002处理的示例工程图数据可以包括但不限于组成自动化系统的机器和结构(例如,工业机器人、加工站、传送机、操作者工作站、运动装置、马达、气动致动器、安全门等)的2D机械图或3D机械模型;电气示意图,例如定义工业装置402与现场装置之间的数字和模拟输入和输出I/O图或配电图;P&ID图;面板布局图,其描绘了电气部件和控制柜内的控制装置的布置;或其他类型的工程图。

图导入部件2006可以导入CAD文件2106(或其他类型的工程图数据)以供程序生成部件2008处理。在示例场景中,CAD文件2106可以使用单独的工程图应用来开发,并且系统设计者可以使用由程序开发环境提供的交互式导入工具将CAD文件2106导入到程序开发系统2002中。替选地,程序开发系统2002可以是综合设计平台的子系统,该综合设计平台支持工程图和控制编程在同一开发环境中的并行开发。在这样的实施方式中,可以在同一开发环境内的图开发平台与程序开发系统之间共享CAD文件2106。

一旦已经导入了CAD文件2106,程序生成部件2008就可以分析CAD文件2106中包含的图数据,并且基于分析的结果来推断控制意图或要求。程序生成部件2008然后可以基于这些推断的控制意图或要求来生成正在开发的控制程序1704的至少一部分(例如,梯形逻辑编程、功能块图、顺序功能图、结构化文本编程等)。

在示例转换中,CAD文件2106可以包括数字P&ID图、2D或3D机械图和/或电气I/O图中的一个或更多个。程序生成部件2008可以分析这些图以识别图中表示的机器、装置或其他工业资产。这些识别的资产可以包括但不限于罐、泵、传送机、马达驱动器、马达接触器、致动器(例如,止动器、推动器、夹持器等)、工业机器人、安全输入装置(例如,光幕、紧急停止按钮、安全垫等)、手动控制面板装置(例如,按钮、位置开关、照明指示器等)、电磁阀、数字输入装置(例如,光传感器、接近开关等)、遥测装置(例如,仪表、传感器等)或自动化系统的其他这样的部件。程序生成部件2008还可以在图数据内识别控制程序正被开发所针对的工业装置402的表示,包括装置在工业环境内的位置的表示(例如,基于面板布局图)、连接到装置的数字和模拟I/O的输入和输出装置的表示(例如,基于电气I/O图)、或控制装置402的其他方面及其与组成自动化系统的其他装置和资产的关系。

程序生成部件2008还可以基于对图的进一步分析来识别这些识别出的装置、机器和工业资产之间的关系。作为该分析的一部分,程序生成部件2008可以跨不同的图识别相同元素(例如,工业资产、机器和装置)的不同表示。例如,可以分析电气I/O图以识别电连接到要编程的工业装置402(例如,工业控制器)的I/O的现场的输入和输出装置(例如,电磁阀、气动致动器、马达接触器、按钮、接近开关、光检测器、遥测装置、马达驱动器等),以及与每个连接的输入或输出装置相关联的I/O地址。程序生成部件2008还可以基于对其中表示有这些装置和资产的机械图的分析来识别这些输入和输出装置之间、或者这些装置与其他机器或资产之间的物理关系或功能关系。

这些推断的关系中的一些可以基于不同类型的工程图之间的关联来确定。例如,如上所述,可以分析I/O图以识别连接到正被编程的工业控制器的输入和输出装置,以及每个输入或输出装置所连接的I/O地址(例如,在模拟或数字I/O模块,以及I/O装置所连接的模块上的特定I/O点的方面)。程序生成部件2008还可以将该信息与自动化系统的提交的机械图或3D模型关联,提交的机械图或3D模型定义组成自动化系统的机器、装置和其他工业资产之间的物理位置和关系。基于机械图或模型中定义的机器、装置和/或工业资产的布置,程序生成部件2008可以推断要由机械信息所表示的机器和装置的至少子集执行的工业处理或应用的类型(例如,批量处理的类型、流量控制应用、传送机控制、幅材张力控制、码垛堆积、板料冲压、水处理等),并且生成能够执行所识别的控制功能的适当的控制程序例程。作为该自动化程序创建过程的一部分,程序生成部件2008可以参考I/O图数据来确定控制例程中涉及的每个输入和输出装置的正确I/O装置寻址,并且使用这些学习到的I/O地址来定制控制编程。在一些实施方式中,工程图中表示的各种工业资产的标识、功能和/或关系还可以基于嵌入在表示这些资产的图元素中的元数据来识别。

在另一示例场景中,程序生成部件2008可以基于对由图导入部件2006导入的电气或机械图的分析来推断用作启动机器的必要先决条件的许可和互锁,并且基于这些推断的许可和互锁来生成负责开始启动机器的控制程序1704的一部分。例如,程序生成部件2008可以生成控制程序1704的该部分,使得负责启动机器的控制器输出的状态取决于处于其适当状态的每个许可或互锁。这些许可可以是例如相应阀的打开或关闭状态、其他机器的操作模式、相应致动器(例如,推动器、止动器、夹持器等)的初始位置、安全门的锁定状态或其他这样的许可。

为了帮助基于CAD文件2106的分析自动生成控制编程,程序开发系统2002的一些实施方式可以存储定义用于执行通用工业任务或应用(例如,码垛堆积、流量控制、幅材张力控制、拾取和放置应用、传送机控制等)的标准化控制代码的预定义代码段2208的库。在一些实施方式中,代码段2208可以根据工业垂直元(例如,汽车、食品和药品、石油和天然气、纺织、船舶、制药等)、工业应用、或代码段2208适用的机器或装置的类型来分类。在一些实施方式中,程序生成部件2008可以基于工程图中记录的工业资产的布置或配置来推断自动化系统的一部分被设计成执行预定义代码段2208可用的通用控制任务。响应于该确定,程序生成部件2008可以检索相关代码段2208,并且将代码段2208集成到正在开发的控制程序1704中。

作为该代码集成的一部分,程序生成部件2008可以根据需要定制代码段2208,以将代码段2208准确地集成到设计者的系统特定控制程序1704中。例如,存储在代码段库中的代码段2208可以在代码段编程内使用通用占位符代替其值对应于工业控制器的输入和输出的I/O地址或应用特定数字和模拟数据标签。这些通用占位符可以表示例如由遥测装置生成的计量的值(例如,罐填充物位、炉温度、流速、计量功率值等),针对已知用于通用控制任务的控制装置(例如,控制传送机的速度的马达驱动器、电磁阀值、诸如推动器或夹持器的气动致动器等)的输出命令,或其他这样的控制器输入和输出。为了定制该代码段2208,程序生成部件2008可以分析提交的I/O图以识别与通用占位符值对应的I/O装置,并且用针对I/O图内的这些装置指示的数据标签名称或程序特定控制器I/O地址替换代码段2208内的通用占位符。

在支持使用自动化对象(AO)2206的一些实施方式中,程序生成部件2008可以基于与在工程图中识别的工业资产对应的自动化对象2206的控制编程属性来生成在工程图中识别的工业资产的控制代码。可以从由系统2002保持的这样的自动化对象2206的库中检索给定工业机器或资产的自动化对象2206。通常,自动化对象2206用作该基于对象的开发架构的构建块。图23是示出可以由程序开发系统2002基于CAD文件2106中表示的工业资产的标识,关于生成控制程序1704的部分来利用的若干示例自动化对象属性的图。自动化对象2206可以在设计期间被创建和扩充、被集成到更大的数据模型中并且在运行时间期间被消耗。这些自动化对象2206提供跨IDE系统202的通用数据结构并且可以被存储在对象库(例如,存储器2020的一部分)中以供重复使用。对象库可以存储表示各种分类的现实世界工业资产2302的预定义自动化对象2206,现实世界工业资产2302包括但不限于泵、罐、阀、马达、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象2206可以表示工业企业的基本上任何级别的元素,包括单独的装置、由许多工业装置和部件(其中的一些可以与它们自己的自动化对象2206相关联)组成的机器以及整个生产线或过程控制系统。

给定类型的工业资产的自动化对象2206可以对诸如2D或3D可视化、警报、控制编码(例如,逻辑或其他类型的控制编程)、分析、启动程序、测试协议、验证报告、模拟、图表、安全协议以及与由对象2206表示的工业资产2302相关联的其他这样的属性的方面进行编码。还可以用标识相关联的资产的位置的位置信息来对自动化对象2206进行地理标记。在运行时间期间,与给定现实世界资产2302对应的自动化对象2206也可以记录资产的状态或操作历史数据。通常,自动化对象2206用作其对应的工业资产2302的编程表示,并且可以作为控制代码、2D或3D可视化、针对工业资产的知识库或维护指导系统或其他这样的方面的元素并入自动化系统工程中。

一些自动化对象2206还可以对自动化学习属性进行编码,该自动化学习属性可以在运行时间期间用于执行自动化传感器验证或验证传感器数据的恒定性。例如,表示工业资产的类型的自动化对象2206可以指定两个或更多个测量变量作为资产的自动化学习属性的一部分,两个或更多个测量变量的关系(例如比率、差等)在正常操作期间应当保持在一致的范围内。在一些场景中,如基于工业资产的已知操作特性所确定的,指定的测量变量之间的预期关系可以由自动化对象2206明确定义。替选地,自动化对象2206可以被配置成在运行时间期间监测和学习测量变量之间的经验基线关系,从而允许工业资产的不同实现方式之间的变型。在任一场景中,执行包括这样的自动化对象2206的控制程序1704的工业装置402可以根据自动化学习属性监测与指定的测量变量对应的传感器值,并且响应于检测到这些测量变量之间的测量关系偏离由自动化对象2206指定的基线范围而生成警报,其可以指示传感器之一上的故障或错误。

自动化学习属性还可以定义其他类型的自动化学习问题,这些自动化学习问题应当关于确定和监测由对象表示的工业资产的正常性能而被制定和评估。如上所述,这些自动化学习问题可以关于自动化传感器测距被应用于传感器数据。在另一示例中,该自动化学习可以应用于表示机器或处理的关键变量的工业数据的子集,以学习这些关键变量的合适的操作范围(例如,最大值、最小值、典型值等)。一旦学习了这些操作范围,自动化对象2206就可以基于学习到的操作范围(例如,最大设置点和最小设置点)对这些关键变量设置限制,使得工业装置402将响应于确定关键变量偏离学习到的范围而生成警报或执行对策。在另一示例中,自动化对象2206可以允许由用户为选择的操作变量定义最大值、最小值或典型值而不是进行推断。在这样的情况下,自动化对象2206的自动化学习属性可以在运行时间期间用作检查机制,以确保保持这些限制,并且可以响应于确定关键变量已经偏离用户定义的限制而生成警报。

现在返回到图22,程序生成部件2008可以关于生成控制程序1704的部分来利用自动化对象2206(如果可用)。例如,程序生成部件2008可以分析CAD文件2106中表示的机械图和电气图以确定是否在图中表示了识别的类型的工业资产。如果找到对应的自动化对象2206可用的识别的工业资产,则程序生成部件2008可以从自动化对象的库中检索与工业资产类型对应的自动化对象2206,并且生成控制程序1704的一部分以用于基于与自动化对象2206相关联的控制代码(例如,梯形逻辑、功能块图、结构化文本等)来监测和控制工业资产。与自动化对象相关联的控制代码可以包括预测试和验证的代码,该代码可以用于监测和控制与自动化对象2206对应的类型的工业资产。

在如上所述包括自动化学习属性的自动化对象2206的情况下,可以参考工程图以确定适当学习问题,该适当学习问题应当为确定组成自动化系统的工业资产的正常性能或优选性能而被制定和评估。例如,一些数字工程图可以包括定义关键性能变量的嵌入式标签,该关键性能变量的值指示图中表示的工业资产的正常性能或优选性能,并且因此应当被定义为自动化学习的目标。程序生成部件2008可以识别CAD文件2106内的这些嵌入式标签,并且基于在与工业资产的类型或分类对应的自动化对象2206中定义的自动化学习模型,生成识别关键变量和对应的传感器输入的传感器验证模型。程序生成部件2008还可以基于自动化对象2206来制定自动化学习问题,该自动化学习问题要应用于这些传感器输入以评估传感器是否正在生成有效数据或者资产是否正在正确地操作。所得的模型可以被包括在控制程序文件2202中,以供在目标工业控制器上执行。在一些实施方式中,自动化对象2206还可以生成并发出所得的信息模型的可靠性证书。这些证书可以与模型相关联,使得如果将模型转移到其他装置或实体,则证书随模型一起传送。证书可以被这些其他装置或实体理解为验证模型的可靠性和准确性。

作为程序生成处理的一部分,程序生成部件2008还生成定义由程序1704使用的智能标签422(和其他标签)的标签定义1714。如上所述,当在目标工业装置402上定义这些智能标签422时,这些智能标签422存储并识别由控制程序1704生成和消耗的模拟或数字数据值。每个智能标签422还包括元数据,该元数据对存储在该标签422中的数据进行预建模和情境化,以供更高级别的分析系统(例如,系统1102)进行后续分析。类似于上述示例,分配给相应智能标签422的情境化元数据中的至少一些可以基于一个或更多个所选数据建模模板424,使得给定智能标签422的元数据定义关系、关联或要对智能标签的数据执行的分析的优选类型,如从在所选模板424中编码的工业专门知识确定的。

为了帮助与控制程序1704的生成相配合的智能标签422的自动化定义,程序生成部件2008可以选择和检索要用作智能标签数据的装置级建模的基础的一个或更多个数据建模模板424。为此,程序开发系统2002可以维护与上述类似的垂直元特定或应用特定数据建模模板424的库。每个建模模板424特定于特定的业务目标,并且定义关键变量以及与对应的业务目标有关的数据项之间的关系和关联。可以针对其定义建模模板424的示例业务目标可以包括但不限于:减少总的机器停机时间或机器故障的次数;最小化机器电力消耗;优化操作效率(例如,相对于机器消耗的能量的量的机器输出的量);最小化排放;提高产品质量;识别产生最大产品输出、最小机器停机时间或最高产品质量的因素;生命周期管理分析;总体设备效率分析;预测性维护分析;或其他这样的目标。由于给定业务目标的一些数据关系可能取决于自动化系统操作的垂直元(例如,汽车、石油和天然气、食品和药品、纺织等),因此程序开发系统2002的一些实施方式可以根据工业垂直元来组织存储的模板424。此外,与特定类型的工业资产有关的数据建模模板424中的一些可以与对应于资产类型的自动化对象2206相关联。

在一些实施方式中,用户可以选择一个或更多个数据建模模板424,一个或更多个数据建模模板424要由程序生成部件2008使用以对程序的智能标签422进行建模和情境化。为此,由用户接口部件2004生成的开发平台接口可以包括允许用户提交标识要用于对程序的智能标签进行情境化的模板424的模型选择输入2204的工具。例如,用户接口部件2004可以提示用户选择与要由高级别的分析系统1102获得的洞察的类型对应的期望业务目标。程序生成部件2008然后可以选择与指示的业务目标对应的存储的建模模板424。

替选地,程序生成部件2008的一些实施方式可以被配置成基于对CAD文件2106所表示的工程图的分析来推断一个或更多个业务目标。例如,程序生成部件2008可以基于由CAD文件2106所表示的机械图和/或电气图指示的工业资产的配置来推断自动化系统被设计来执行的工业应用(例如,流体转移、纸馈送、板料冲压、码垛堆积、引擎块加工等)。程序生成部件2008还可以基于对CAD文件2106的该分析来推断自动化系统所涉及的工业垂直元。基于该推断的信息,程序生成部件2008可以识别类似的自动化系统的所有者通常关注的一个或更多个业务目标,并且选择与业务目标和工业垂直元对应的一个或更多个建模模板424。

在作为多个终端用户实体可访问的基于云的服务在云平台上实现的程序开发系统2002的实施方式中,系统2002还可以基于对由相应的多个终端用户提交的多组设计数据的分析来推断用于给定工业应用的合适的数据建模模板422。例如,给定将由CAD文件2106所表示的自动化系统执行的工业应用的类型的推断,程序生成部件2008可以识别由类似的自动化系统(即,被设计成执行类似的工业应用的系统)的其他设计者最经常选择的装置级数据建模的类型,并且选择与该优选的数据建模对应的建模模板424。

基于选择的数据建模模板424以及对CAD文件2106的分析,程序生成部件2008生成标签定义1714,该标签定义1714为正在开发的控制程序1704定义智能标签422(以及其他数据标签)。类似于上述其他建模模板,根据哪些数据项(由智能标签422表示)与要解决的问题有关以及这些数据项之间的已知关联和因果关系,每个模型模板424编码适用于所选工业或应用特定的业务目标的领域专门知识。每个建模模板424指定来自正被编程的工业装置402的哪些数据输入应当由高级别的分析系统(例如,系统1102)检查,以学习由选择的业务目标表示的问题的原因和可能的解决方案。在适当的情况下,模型模板424还可以定义与业务目标有关的这些数据输入之间的关联和因果关系。

一旦程序生成部件2008基于对CAD文件2106的分析(例如,基于自动化系统的2D机械图或3D机械模型)识别出组成自动化系统的可用机器和装置,并且从这些机器和装置(例如,基于CAD文件2106中包括的I/O图)识别出对工业装置402可用的数据,程序生成部件2008可以将选择的建模模板424与自动化系统的这些学习到的方面关联,以生成利用适当的情境化元数据来定义合适的智能标签422的标签定义1714。例如,程序生成部件2008可以智能地将在选择的建模模板424中定义的通用数据项占位符(例如,流速、传送机速度、产品计数、温度、功率测量等)与针对控制程序1704定义的特定数据项(智能标签422)映射。该映射可以基于对控制程序1704的哪些特定数据项对应于模板424中定义的一般定义的数据项的推断。该映射过程大致类似于模板中定义的数据项与上面结合图5描述的数据的源之间的手动数据映射。然而,在该情况下,映射由程序开发系统2002基于对CAD文件2106的分析来执行。通常,程序生成部件2008通过下述操作来执行该分析:识别能够从CAD文件2106所表示的自动化系统获得的数据项、将这些数据项与在选择的建模模板424中定义的通用数据项关联、并且生成根据由模板424定义的关联和因果关系对智能标签422进行定义和情境化的标签定义1714。

由程序生成部件2008添加到智能标签422的情境化元数据可以包括AI元数据,如上面结合图9所描述的。例如,基于选择的数据建模模板424,程序生成部件2008可以添加选择的智能标签422的AI字段904的值,该AI字段904的值定义如选择的模板424所定义的表示关键变量的智能标签422与表示已知与关键变量相关的变量的其他智能标签422之间的关系。程序生成部件2008还可以设置选择的智能标签422的AI字段904以指定要由外部分析系统(例如,分析系统1102)执行的算法或机器分析的类型,以从由这些标签422提供的相关联的智能数据中获得有意义的洞察。这些各种类型的装置级数据建模可以对在自动化系统的操作期间由高级别的分析系统1102执行的后续AI和机器学习分析设置有用的约束。

在一些实施方式中,程序生成部件2008还可以如上面结合图17和图18所讨论的用主题标记来标记选择的智能标签。这些标记允许代理系统1602在运行时间期间将与选择的主题对应的数据流作为情境化数据流提供给订阅外部系统。在这样的实施方式中,程序生成部件2008可以基于在选择的数据建模模板424中定义的显式或隐式相关主题、或者通过基于对CAD文件2106所定义的工程图的分析推断相关主题来确定要分配给选择的智能标签422的适当的主题标记(例如,产品质量、维护、机器停机时间、能量优化、排放减少、OEE、生命周期管理等)。例如,可能已知特定主题——例如排放跟踪、电力消耗统计等——对于某些类型的工业应用通常是受关注的。因此,程序生成部件2008可以基于对CAD文件2106的分析来确定由工程图表示的自动化系统被设计成执行已知与特定关注主题相关联的这些工业应用之一。基于该确定,程序生成部件2008可以设置标签定义1714以将适当的主题标记添加到选择的智能标签422。如上面结合图18所讨论的,这些标记允许来自这些智能标签422的数据由数据代理系统1602流送到订阅由标记指示的对应的主题的实体。

在一些实施方式中,程序生成部件2008还可以基于对CAD文件2106的分析来推断要在装置级对一个或更多个智能标签422的数据执行的预处理,并且设置这些智能标签的元数据以定义该预处理。例如,基于确定自动化系统的机械图和/或电气示意图包括与已知的一组操作状态相关联的已知类型的机器(例如,瓶子灌装机)的表示,程序生成部件2008可以将表示机器的状态的状态智能标签422(例如,类似于上面结合图8所讨论的状态数据标签802)定义为标签定义1714的一部分,并且设置该智能标签422的元数据以定义识别的机器的已知状态(例如,运行、初始、异常、空闲等)。程序生成部件2008还可以将该智能标签422链接到表示各种状态的适当的工业控制器输入,如基于对提交给系统2002的电气I/O图的分析所确定的。在运行时间期间,该智能标签422将指示定义的状态中的哪个状态是机器的当前状态。

在另一示例中,程序生成部件2008可以基于对CAD文件2106中包括的机械图和/或电气图的分析来确定自动化系统包括传送机。基于该确定,程序生成部件2008可以生成用于控制该传送机的控制编程(例如,通过选择用于传送机控制的适当的预定义代码段2208,或者通过由其他手段生成控制代码),并且还可以生成表示传送机的速度的智能标签422(例如,如上面结合图8所讨论的速率数据标签804)。程序生成部件2008可以将该智能标签422链接到与传送机的速度信号对应的适当模拟输入,如基于对I/O图的分析所确定的。程序生成部件2008还可以推断智能标签422的适当元数据值,例如传送机速度的最大值和最小值,并且相应地设置智能标签422的元数据。通常,可以由程序生成部件2008基于对CAD文件2106的分析来推断和设置上面讨论的智能标签元数据值中的任何的值(例如,结合图8讨论的元数据值)。

由程序开发系统2002的实施方式实现的方法可以通过解释被导入到系统的程序开发平台中的数字工程图来帮助设计时建模。工程图或在投标/设计/构建周期期间生成的其他类型的文档可以提示工业机器、装置和资产之间的关系,并且这些关系可以由程序开发系统2002识别并且被并入装置级数据模型中。也可以以该方式将可以从中推断出设计者的意图的其他类型的设计文档导入到程序开发系统2002中并进行解释。

基于上面讨论的图分析,程序生成部件2008生成控制程序1704的至少一部分和定义将由控制程序1704使用的智能标签422(和其他数据标签)的相关联的标签定义1714。在完成程序之前,设计者可以生成附加的控制编程以包括在控制程序1704中,或者可以修改由程序生成部件2008自动生成的控制编程的部分。这些程序添加或修改可以使用由程序开发系统2002所支持的开发平台提供的编程工具来实现。在示例场景中,程序生成部件2008可以基于对CAD文件2106的分析来生成至少骨架编程代码,并且该骨架代码可以由开发者根据需要利用附加的编程细节来增强。

程序生成部件2008将所得的控制程序1704和相关联的标签定义1714封装或编译成控制程序文件2202,该控制程序文件2202可以被导出到用于执行的目标工业装置402(例如,工业控制器)并且在目标工业装置402上执行。图24示出了所得的控制程序文件2202导出到工业装置402。一旦控制程序文件2202完成,程序导出部件2010就可以将程序文件2202导出或下载到目标工业装置402以供存储和执行。在工业装置上执行控制程序文件2202导致根据标签定义1714在工业装置402上创建标签数据库(例如,类似于图17中描绘的标签数据库1702),并且根据控制程序1704对工业装置402进行编程。在一些实施方式中,程序导出部件2010还可以将由程序开发系统2002用来对智能标签422进行建模和情境化的一个或更多个数据建模模板424导出到工业装置402。在各种示例场景中,程序开发系统2002可以经由系统2002与装置402之间的直接通信连接,或者经由一个或更多个网络(例如,工厂网络)与工业装置402进行对接。在程序开发系统2002在云平台上作为基于云的服务执行的实施方式中,程序导出部件2010可以经由云平台和工业装置402可访问的安全的公共或私有网络来导出程序文件。

在一些设计场景中,上述程序生成技术可以用于为作为通用自动化系统的一部分或CAD文件2106所表示的自动化系统的集合的相应的多个工业控制器生成多个控制程序文件2202。例如,如果程序生成部件2008确定在CAD文件2106中表示了多个工业控制器,其中每个控制器负责监测和控制较大的自动化系统或环境的子系统,则程序生成部件2008可以针对每个识别的控制器确定由CAD文件2106表示的自动化系统的哪个部分被该控制器监测和控制。基于该信息,程序生成部件2008可以基于对与要由该控制器监测和控制的工业资产对应的CAD文件数据的子集的分析来生成每个控制器的定制的控制程序1704和相关联的标签定义1714。在完成这些控制程序文件2202之后,程序开发系统2002可以将这些文件部署到它们各自的控制器。图25是示出通过程序开发系统2002的程序导出部件2010将多个控制程序文件2202a至2202c部署到相应工业控制器(工业装置402a至402c)的图。在该示例中,程序导出部件2010经由控制器所驻留的工厂网络116将相应控制程序文件2202部署到控制器。

图26示出了根据本申请的一个或更多个实施方式的方法。虽然出于简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应当理解和认识到,本创新不受动作顺序的限制,因为一些动作可以据此以与本文中示出和描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为例如状态图中的一系列相互关联的状态或事件。此外,可能并不需要所有示出的动作来实现根据本创新的方法。此外,当不同实体实施方法的不同部分时,交互图可以表示根据本公开内容的方法或方式。此外,可以彼此组合地实现所公开的示例方法中的两个或更多个示例方法,以实现本文中描述的一个或更多个特征或优点。

图26示出了用于基于对数字工程图的分析来生成工业控制器编程和相关联的智能标签定义的示例方法2600。可以在程序开发系统上实现方法2600,该程序开发系统在本地客户端装置上执行、在客户端装置可访问的服务器或其他类型的计算系统上执行、或者作为基于云的服务在云平台上执行。最初,在2602处,由工业程序开发系统接收一个或更多个数字工程图。工程图可以表示工业自动化系统的机械方面或电气方面中的至少之一,并且可以包括2D机械图、3D机械模型、配电图、电气I/O图、控制面板布局图、P&ID图或其他这样的工程图。

在2604处,基于对在步骤2602处接收到的数字工程图的分析,识别组成工业自动化系统的工业资产。例如,工业程序开发系统可以识别一个或更多个机器或组成系统的其他工业资产,包括但不限于传送机、缸、炉、混合机、加工站、工业机器人、视觉系统或其他质量检查系统、冲压机或其他这样的资产。在2606处,基于对在步骤2602处接收的数字工程图的进一步分析,识别向工业控制器提供输入信号和从工业控制器接收输出信号的I/O装置,该工业控制器将监测和控制工业自动化系统。可以以该方式识别的示例输入装置可以包括但不限于光传感器、接近开关、按钮、开关、安全输入装置(例如,光幕、安全垫等)、遥测装置(例如,流量计、温度计、压力计、填充物位计等)或其他这样的输入装置。可以以该方式识别的示例输出装置可以包括但不限于电磁阀、马达接触器或马达驱动器、致动器(例如,推动器、止动器等)、照明指示器或其他这样的输出装置。

在2608处,基于对工程图的分析来确定是否识别出工业垂直元或工业应用类型。在这点上,工业程序开发系统可以识别出由工程图表示的自动化系统被设计成执行识别的类型的工业应用(例如,流体转移、板料冲压、幅材张力控制、特定类型的批量处理、流量控制、传送机控制、码垛堆积、水处理等),或旨在执行特定于特定工业垂直元的功能(例如,汽车、制药、食品和药品、石油和天然气、纺织、采矿、船舶等)。程序开发系统可以例如基于图中表示的工业资产的集合以及这些资产之间的关系作出该确定,其可以指示特定工业应用或工业垂直元。

如果识别出工业垂直元或工业应用类型(步骤2608为“是”),则方法进行到步骤2610,在步骤2610处,基于在步骤2608处识别的工业垂直元或应用类型从模板的库中选择数据建模模板。选择的模板将由程序开发系统使用,以情境化由要监测和控制自动化系统的工业控制器生成的数据。模板的库可以包括特定于某些工业垂直元或某些类型的工业应用的建模模板。对于通常与垂直元或应用类型相关联的给定业务目标,每个模板可以定义与确定对相关联的业务目标的可执行洞察有关的数据项集合(例如,传感器输入、控制器数据标签、马达驱动器数据标签等),以及数据项之间的关系(例如,关联、因果关系等)。数据项以及数据项之间的关系基于编码到建模模板中的领域专门知识或知识。在一些实施方式中,并非基于推断的垂直元或应用类型来选择建模模板,而是可以由系统设计者手动选择模板以关于情境化智能标签来使用。

在2612处,由程序开发系统基于在步骤2604处的对工业资产的识别、在步骤2606处的对I/O装置的识别以及在2610处选择的数据建模模板,生成控制程序和相关联的智能标签定义。在一些实施方式中,系统可以基于标识以及工业资产之间的关系来推断要对在步骤2604处识别的工业资产执行的监测和控制的类型,并且生成用于执行该监测和控制的控制编程的部分。程序开发系统还可以基于在步骤2602处提交的I/O图来为生成的控制编程确定适当的I/O地址引用。对于智能标签定义,程序开发系统可以生成被认为是支持控制程序必需的智能标签的集合,并且还可以根据在步骤2610处选择的数据建模模板为这些智能标签设置情境化元数据。

本文中描述的实施方式、系统和部件以及其中可以执行本说明书中阐述的各个方面的自动化环境和控制系统可以包括能够通过网络进行交互的计算机或网络部件例如服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线部件、控制部件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器——采用电信号执行逻辑操作的电子集成电路,介质例如为随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移除存储器装置,其可以包括记忆棒、存储卡、闪存驱动器、外部硬盘驱动器等。

类似地,本文中使用的术语PLC或自动化控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个PLC或自动化控制器可以跨网络与各种网络装置进行通信和协作。这可以包括经由网络通信的基本上任何类型的控制装置、通信模块、计算机、输入/输出(I/O)装置、传感器、致动器和人机接口(HMI),该网络包括控制、自动化和/或公共网络。PLC或自动化控制器还可以与各种其他装置进行通信以及控制各种其他装置,各种其他装置例如为标准或安全额定I/O模块,包括模拟、数字、编程/智能I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出装置等。

网络可以包括公共网络,例如因特网、内联网和自动化网络例如控制和信息协议(CIP)网络,包括装置网(DeviceNet)、控制网(ControlNet)、安全网络和以太网/IP。其他网络包括以太网、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线(Fieldbus)、Modbus、Profibus、CAN、无线网络、串行协议等。此外,网络装置可以包括各种可能部件(硬件和/或软件部件)。这些包括如下部件:具有虚拟局域网(VLAN)功能的交换机、局域网(LAN)、广域网(WAN)、代理、网关、路由器、防火墙、虚拟专用网(VPN)装置、服务器、客户端、计算机、配置工具、监测工具和/或其他装置。

为了提供所公开的主题的各个方面的情境,图27和图28以及以下讨论旨在提供对其中可以实现所公开的主题的各个方面的合适环境的简要、概括描述。尽管以上在可以在一个或更多个计算机上运行的计算机可执行指令的一般情境中描述了实施方式,但是本领域技术人员将认识到,也可以组合其他程序模块和/或作为软件和硬件的组合来实现实施方式。

通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域技术人员将认识到,可以使用其他计算机系统配置来实践本发明的方法,其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)装置、分布式计算系统,以及个人计算机、手持计算装置、基于微处理器的或可编程的消费性电子产品等,上述中的每个均可以操作地耦接至一个或更多个相关联的装置。

本文中示出的实施方式也可以在分布式计算环境中实践,其中某些任务由通过通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块可以位于本地和远程存储装置中。

计算装置通常包括各种介质,各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,如下所述,这两个术语在本文中彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可以由计算机访问的任何可用存储介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。

计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、蓝光光盘(BD)或其他光盘存储装置、磁带盒(magneticcassette)、磁带(magnetic tape)、磁盘存储装置或其他磁存储装置、固态驱动器或其他固态存储装置、或其他可以用于存储期望信息的有形和/或非暂态介质。在这点上,应当将本文中应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂态”理解为作为修饰语仅排除传播暂态信号本身,并且不放弃对本身不仅传播暂态信号的所有标准存储装置、存储器或计算机可读介质的权利。

计算机可读存储介质可以由一个或更多个本地或远程计算装置例如经由访问请求、查询或其他数据检索协议来访问,以用于相对于由介质存储的信息进行多种操作。

通信介质通常在诸如调制数据信号例如载波或其他传输机制的数据信号中实施计算机可读指令、数据结构、程序模块或者其他结构化或非结构化数据,并且包括任何信息传送或传输介质。术语“调制数据信号”或“信号”是指以使得将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。

再次参照图27,用于实现本文中描述的方面的各种实施方式的示例环境2700包括计算机2702,计算机2702包括处理单元2704、系统存储器2706和系统总线2708。系统总线2708将包括但不限于系统存储器2706的系统部件耦接至处理单元2704。处理单元2704可以是各种市场上可买到的处理器中的任何处理器。双微处理器和其他多处理器架构也可以用作处理单元2704。

系统总线2708可以是若干类型的总线结构中的任何总线结构,其还可以使用各种市场上可买到的总线架构中的任何总线架构互连到存储器总线(具有或不具有存储器控制器)、外围总线和本地总线。系统存储器2706包括ROM 2710和RAM 2712。基本输入/输出系统(BIOS)可以被存储在非易失性存储器例如ROM、可擦除可编程只读存储器(EPROM)、EEPROM中,该BIOS包含例如在启动期间帮助在计算机2702内的元件之间传送信息的基本例程。RAM2712还可以包括用于缓存数据的诸如静态RAM的高速RAM。

计算机2702还包括内部硬盘驱动器(HDD)2714(例如,EIDE、SATA)、一个或更多个外部存储装置2716(例如,磁软盘驱动器(FDD)2716、存储棒或闪存驱动读取器、存储卡读取器等)和光盘驱动器2720(例如,其可以从CD-ROM光盘、DVD、BD等进行读写)。虽然内部HDD2714被示出为位于计算机2702内,但是内部HDD 2714也可以被配置用于在合适的机架中的外部使用(未示出)。另外,虽然在环境2700中未示出,但除了HDD 2714之外还可以使用固态驱动器(SSD)或者代替HDD 2714使用固态驱动器(SSD)。HDD 2714、外部存储装置2716和光盘驱动器2720可以分别通过HDD接口2724、外部存储接口2726和光盘驱动接口2728连接到系统总线2708。用于外部驱动实现方式的接口2724可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少之一或两者。其他外部驱动连接技术在本文中描述的实施方式的考虑之内。

驱动及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机2702,驱动和存储介质适应任何数据以合适的数字格式的存储。尽管上面对计算机可读存储介质的描述是指各类型的存储装置,但是本领域技术人员应该认识到,无论是当前存在的还是未来开发的,计算机可读的其他类型的存储介质也可以在示例操作环境中使用,并且此外,任何这样的存储介质可以包含用于执行本文中描述的方法的计算机可执行指令。

许多程序模块可以被存储在驱动器和RAM 2712中,包括操作系统2730、一个或更多个应用程序2732、其他程序模块2734和程序数据2736。操作系统、应用、模块和/或数据中的全部或部分也可以被缓存在RAM 2712中。可以利用各种市场上可买到的操作系统或操作系统的组合来实现本文中描述的系统和方法。

计算机2702可以可选地包括模拟技术。例如,管理程序(未示出)或其他中间物可以模拟用于操作系统2730的硬件环境,并且模拟的硬件可以可选地不同于图27中示出的硬件。在这样的实施方式中,操作系统2730可以包括在计算机2702处托管的多个虚拟机(VM)中的一个VM。此外,操作系统2730可以向应用程序2732提供诸如Java运行时间环境或.NET框架的运行时间环境。运行时间环境是一致的执行环境,其允许应用程序2732在包括运行时间环境的任何操作系统上运行。类似地,操作系统2730可以支持容器,并且应用程序2732可以是容器的形式,其是轻量级的、独立的、可执行的软件包,该软件包包括例如代码、运行时间、系统工具、系统库和用于应用的设置。

此外,计算机2702可以具有安全模块例如可信处理模块(TPM)。例如,使用TPM,引导部件哈希(hash)在时间上的下一个引导部件,并且在加载下一个引导部件之前等待结果与安全值的匹配。该处理可以发生在计算机2702的代码执行栈中的任何层处,例如在应用执行级或在操作系统(OS)内核级处应用,从而实现代码执行的任何级别处的安全。

用户可以通过一个或更多个有线/无线输入装置(例如,键盘2738、触摸屏2740和诸如鼠标2742的定点装置)将命令和信息输入到计算机2702中。其他输入装置(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴式耳机、游戏垫、触控笔、诸如摄像装置的图像输入装置、姿势传感器输入装置、视觉运动传感器输入装置、情绪或面部检测装置、诸如指纹或虹膜扫描仪的生物特征输入装置等。这些和其他输入装置通常通过可以耦接至系统总线2708的输入装置接口2744连接到处理单元2704,但是也可以通过其他接口连接,例如,并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、

监视器2744或其他类型的显示装置也可以经由诸如视频适配器2748的接口连接到系统总线2708。除了监视器2744之外,计算机通常还包括其他外围输出装置(未示出),例如,扬声器、打印机等。

计算机2702可以经由到一个或更多个远程计算机(例如,远程计算机2748)的有线和/或无线通信使用逻辑连接在联网环境中操作。远程计算机2748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等装置或其他公共网络节点,并且通常包括相对于计算机2702描述的元件中的许多或全部,然而出于简洁的目的,示出了仅存储器/存储装置2750。描绘的逻辑连接包括到局域网(LAN)2752和/或更大的网络例如广域网(WAN)2754的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中很常见,并且帮助企业范围的计算机网络例如内联网,所有这些均可以连接到全球通信网络例如因特网。

当在LAN联网环境中使用时,计算机2702可以通过有线和/或无线通信网络接口或适配器2756连接到本地网络2752。适配器2756可以帮助与LAN 2752的有线或无线通信,其还可以包括设置在其上的用于以无线模式与适配器2756进行通信的无线接入点(AP)。

当在WAN联网环境中使用时,计算机2702可以包括调制解调器2758,或者可以经由用于通过WAN 2754建立通信的其他手段(例如,经由因特网)连接到WAN 2754上的通信服务器。可以是内部或外部的以及有线或无线装置的调制解调器2758可以经由输入装置接口2742连接到系统总线2708。在联网环境中,相对于计算机2702或其部分描绘的程序模块可以被存储在远程存储器/存储装置2750中。应当认识到,示出的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。

当在LAN或WAN联网环境中使用时,计算机2702可以除了上述外部存储装置2716之外还访问云存储系统或其他基于网络的存储系统,或代替上述外部存储装置2716来访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器2756或调制解调器2758来通过LAN2752或WAN 2754建立计算机2702与云存储系统之间的连接。一经将计算机2702连接到相关联的云存储系统,外部存储接口2726可以借助于适配器2756和/或调制解调器2758对由云存储系统提供的存储如同其是其他类型的外部存储那样进行管理。例如,外部存储接口2726可以被配置成提供对云存储源的访问,就好像这些源物理地连接到计算机2702一样。

计算机2702可以是能够操作以与可操作地以无线通信可操作地设置的任何无线装置或实体进行通信,例如,打印机、扫描仪、台式和/或便携式计算机、便携式数据助手、通信卫星、与可无线检测的标签(例如,信息亭、报摊、商店货架等)相关联的任何设备或位置以及电话。这可以包括无线保真(Wi-Fi)和

图28是可以与所公开的主题交互的样本计算环境2800的示意框图。样本计算环境2800包括一个或更多个客户端2802。客户端2802可以是硬件和/或软件(例如,线程、进程、计算装置)。样本计算环境2800还包括一个或更多个服务器2804。服务器2804还可以是硬件和/或软件(例如,线程、进程、计算装置)。例如,服务器2804可以容纳线程以通过采用如本文中所述的一个或更多个实施方式来执行变换。客户端2802与服务器2804之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据分组的形式。样本计算环境2800包括可以用来帮助客户端2802与服务器2804之间的通信的通信框架2806。客户端2802可操作地连接到可以用于存储客户端2802本地信息的一个或更多个客户端数据存储装置2808。类似地,服务器2804可操作地连接到可以用于存储服务器2804本地信息的一个或更多个服务器数据存储装置2810。

上面描述的内容包括本创新的示例。当然,不可能为了描述所公开的主题而描述部件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到,本创新的许多进一步的组合和置换是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的改变、修改和变型。

特别地,关于由上述部件、装置、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行描述的部件的指定功能的任何部件(例如,功能等同物),即使该部件结构上不等效于执行所公开的主题的本文中示出的示例性方面的功能的所公开的结构。在这点上,还将认识到,所公开的主题包括系统以及具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。

另外,虽然可能仅关于若干实现方式中的一个实现方式公开了所公开的主题的特定特征,但是这样的特征可以与其他实现方式的对于任何给定或特定应用可能是期望和有利的一个或更多个其他特征组合。此外,就在具体实施方式或权利要求中使用了术语“含有”和“包含”及其变体而言,这些术语旨在以类似于术语“包括”的方式为包含性的。

在本申请中,词语“示例性”用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。相反,使用词语“示例性”旨在以具体的方式呈现构思。

本文描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、设备或制品。如本文所使用的术语“制品”旨在包含可以从任何计算机可读装置、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储装置(例如,硬盘、软盘、磁条……)、光盘[例如,高密度磁盘(CD)、数字通用光盘(DVD)……]、智能卡和闪存装置(例如,卡、棒、键驱动器……)。

技术分类

06120113808446