集成PLC历史记录的分布式嵌入式数据和知识管理系统的制作方法

文档序号:15104308发布日期:2018-08-04 16:30阅读:235来源:国知局

本发明涉及用于智能PLC的分布式数据管理系统。各种系统和方法可应用于工业自动化应用以及使用智能PLC的各种其它应用。



背景技术:

可编程逻辑控制器(PLC)配置为执行软件的专门的计算机控制系统,该软件连续地收集关于输入设备状态的数据以控制输出设备的状态。PLC通常包括三个主要组件:处理器(其可包括易失性存储器)、包括应用的易失性存储器、以及用于连接到自动化系统中的其他设备的一个或多个输入/输出(I/O)端口。

常规自动化系统遵循金字塔结构,该金字塔结构要求将所有原始数据(数百万个采样点)从PLC传输到上层(例如,SCADA或MES级别)的历史记录。将数据推入上层降低了数据的分辨率和就绪性,这进而限制对从PLC行为中提取见解的分析的高效性,并且提高了延迟以干预用于实施控制优化控制过程。PLC基于其对过程数据和控制器逻辑的特权访问来支持深度数据分析的能力在常规系统中未得到充分利用。后者是由于静态控制器逻辑/配置,其当前不支持控制逻辑的动态的自适应改变或试车后阶段的改变,并且在需要时也不支持对其他PLC的数据和上下文的感知。

常规自动化系统的另一个缺点是现场级控制器不维持和管理知识库。例如,大多数常规的基于以太网的控制器连接到它们的主设备,主要是将原始数据传输到监控级系统,而没有意识到它们的对等数据、知识和行为,这将决策过程推向上层。控制器的上下文不用于获得更深的分析见解。分析数据模型当前建立在控制器的上下文信息(例如,可用于数据反向工程的功能块元数据的表示)不可用的上层。作出效率低的决策。本地存储的历史性输入/输出数据以及较低级的知识和分析数据模型的不可用性影响了用于控制本地设备的高效决策。

常规自动化系统在PLC上本地保留的历史记录知识数量也极为有限。这又限制了PLC的功能性。例如,如果需要最近的历史信息(即,短期数据),则当前不能执行周期内处理。这导致计算在外部执行并被推回到PLC。另外,PLC缺乏本地历史记录限制了执行实时数据分析的可能性,该实时数据分析支持目的在于优化系统操作的控制参数的动态适应。

此外,在PLC和其他控制层设备处没有本地信息的情况下,在常规自动化系统中实施高效和强健的现场分析解决方案,如果可能的话,也是具有挑战性的。用于现场分析的常规解决方案当前被实施为批处理,支持对过去生产(例如,过去批次)的回顾性分析。对生产的在线分析是仅能延迟一段时间。因此,对于时间要求严格的过程而言,基于分析的对控制直接干预通常是不切实际的。



技术实现要素:

本发明的实施例通过提供与由控制层设备诸如智能PLC提供的分布式存储系统有关的方法、系统和装置,解决和克服上述不足和缺点中的一个或多个。例如,本文描述的技术通过允许数据和分析从分布式系统分布到周期内分析处理引擎,解决使得本地历史记录数据和上下文化知识在分布式数据基础设施中可用的问题。本文描述的技术特别适合但不限于各种工业自动化应用。

根据本发明的一些实施例,用于在工业生产环境中存储数据的系统,该系统包括:分布式数据管理系统,存储在多个智能可编程逻辑控制器设备上。每个智能可编程逻辑控制器设备包括:易失性计算机可读存储介质,包括过程图像区域;非易失性计算机可读存储介质;控制程序,配置为向生产单元提供操作指令;输入/输出组件,配置为在每个扫描周期期间用与生产单元相关联的数据更新过程图像区域;分布式数据管理组件,包括分布式数据管理系统的实例;上下文化组件、历史记录组件以及数据分析组件。上下文化组件配置为通过用自动化系统上下文信息注释过程图像区域的内容来生成上下文化的数据。历史记录组件配置为在本地存储过程图像区域的内容和上下文化的数据,并且使得内容通过分布式数据管理组件在分布式数据管理系统上可用。数据分析组件配置为执行一个或多个推理算法,以使用分布式数据管理组件来分析存储在分布式数据管理系统上的数据。

在一些实施例中,上述系统进一步包括知识管理器组件,其配置为在控制程序的运行期间,基于一个或多个陈述性知识模型动态地修改一个或多个推理算法。这些陈述性知识模型可以包括例如使用Web本体语言(OWL)表达的本体、使用预测模型标记语言(PMML)标准表达的预测模型、和/或使用规则交换格式(RIF)标准表达的一个或多个规则。

在上述系统的一些实施例中,由每个相应智能可编程逻辑控制器设备的数据分析组件使用的推理算法基于一个或多个供应商指定的知识模型来配置。这些供应商指定的知识模型可以包括:例如与多个智能可编程逻辑控制器设备的一个或多个能力相关的信息;在多个智能可编程逻辑控制器设备处可用的诊断知识;和/或由多个智能可编程逻辑控制器设备使用的数据布局信息。

上述系统的各种特征可以基于主机硬件的处理能力来调整、增强或改进。例如,在一些实施例中,每个相应的智能可编程逻辑控制器设备进一步包括一个或多个处理器,该一个或多个处理器配置为执行控制程序,并且与控制程序的执行并行地修改一个或多个与控制程序的执行并行的推理算法。

根据本发明的另一实施例,用于在工业生产环境中存储数据的方法包括第一智能可编程逻辑控制器执行控制程序,该控制程序配置为在多个扫描周期内向生产单元提供操作指令,和在多个扫描周期中的每个期间,用与生产单元相关联的数据更新过程图像区域。该方法进一步包括第一智能可编程逻辑控制器通过用自动化系统上下文信息注释过程图像区域的内容来生成上下文化的数据,和将过程图像区域的内容和上下文化的数据插入到第一智能可编程逻辑控制器上的本地非易失性计算机可读介质中。本地非易失性计算机可读介质是存储在第一智能可编程逻辑控制器和多个第二智能可编程逻辑控制器上的分布式存储系统的一部分。例如,可以基于对操作指令和与生产单元相关联的数据的改变,触发将与生产单元相关联的数据插入到本地非易失性计算机可读介质中。第一智能可编程逻辑控制器执行一个或多个推理算法,以用于分析存储在分布式存储系统上的数据。

在本发明的不同实施例中,上述方法可以具有附加的特征、改进或其它变化。例如,在一些实施例中,该方法进一步包括:在控制程序的运行期间,第一智能可编程逻辑控制器基于一个或多个陈述性知识模型动态地修改一个或多个推理算法。在上述方法的一些实施例中,本地非易失性计算机可读介质包括具有表等效视图的NoSQL数据库。

上述方法中使用的推理算法可以例如基于一个或多个供应商指定的知识模型来配置。例如,这些供应商指定的知识模型可以包括:与第一智能可编程逻辑控制器的一个或多个能力相关的信息;在第一智能可编程逻辑控制器处可用的诊断知识;和/或由第一智能可编程逻辑控制器使用的数据布局信息。

在一些实施例中,上述方法可以在并行计算环境中执行。例如,在一个实施例中,第一智能可编程逻辑控制器使用包括在第一智能可编程逻辑控制器中的处理器的第一核来执行控制程序。可以使用包括在第一智能可编程逻辑控制器中的处理器的第二核来动态地修改推理算法。

根据本发明的其它实施例,用于在工业生产环境中存储数据的制品包括保存有用于执行上述方法的计算机可执行指令的非暂时性的有形的计算机可读介质,具有或不具有上述附加特征。

附图说明

通过下面参照附图对说明性实施例进行的详细描述,本发明的其它特征和优点将变得显而易见。

当结合附图阅读时,本发明的前述和其它方面可以从下面的详细描述最好地理解。为了说明本发明,在附图中示出了当前优选的实施例,然而,应当理解,本发明不限于所发明的特定手段。包括以下附图:

图1提供示出根据一些实施例的工业自动化系统的体系结构图,其中智能设备形成用于自动化系统数据的分布式数据管理系统(DDMS);

图2提供根据一些实施例的智能PLC的概念视图;

图3提供根据一些实施例的用于分布式数据和知识管理以及分布式分析的DDMS体系结构的图示;

图4提供根据一些实施例的如何将信息传入和传出DDMS节点的概念视图;

图5提供根据一些实施例的DDMS节点实例如何支持将大数据传入分布式数据基础设施/从分布式数据基础设施传出的附加图示;

图6提供根据一些实施例的由外部设备或应用触发的智能PLC逻辑规则更新的示例;

图7提供根据一些实施例的如何在DDMS基础设施上实施分片数据访问的图示;以及

图8示出根据本发明的一些实施例的用于检索和处理分布式数据管理系统内的数据的三步式过程。

具体实施方式

本文描述的系统、方法和装置总体上涉及跨多个智能可编程逻辑控制器(在本文中称为“智能PLC”)实施的分布式存储系统。根据本文描述的各种实施例,智能PLC是非同构节点集群中的节点,其实施多个角色(例如,控制、高带宽数据获取等)中的一个,并且根据需要从其它节点获取数据,以在不可能位于常规MES系统中的级别处执行嵌入式分析。此外,智能PLC可以检索本地知识或其他节点的知识。这种本领与本地历史记录、知识模型和推理能力以及现场分析相结合,为集群上强大的知识驱动分布式分析打开了大门,因此使得智能PLC集群成为整个自动化过程的强大的实时数据存储、知识存储、分析和接口引擎。智能PLC可以利用分布式数据和分析技术,以便将控制系统定义有:(1)基于真实场分析的增加的功能性,(2)在配置、添加、定制、更改和移除组件方面增加的灵活性,以及(3)现有功能和开发能力的快速安装、伸缩。所有这些都急剧减少了安装、操作、优化、监控、诊断所需的人员数量和人员的专业知识,并且还减少了执行这些功能所需的培训。本文描述的技术可以用于例如提供时间、数据(例如,时间序列数据)、数据组织和数据名称在工业自动化系统上的相干图像,并且在创建数据时使得数据立即可用。

图1提供示出根据一些实施例的工业自动化系统100的结构图,其中智能设备形成用于自动化系统数据的分布式数据管理系统(DDMS)。DDMS可以定义为包含过程信息的分布式数据和知识库,在其上具有数据分析层。分布存在于节点群集上。DDMS的每个实例承担了客户端和服务器的角色,其中的一个角色可以在特定时间根据DDMS实例的作用来激活。通常,启动进程的节点充当客户端,而处理或存储数据的其余节点充当服务器。然而,节点可以同时充当客户端和服务器,并且一次执行一个或多个进程,这可以根据当前的处理需求和工作负载而变化。

在图1的示例中,每个DDMS节点是一个智能PLC。简而言之,根据不同实施例,智能PLC提供可以以各种组合呈现的若干技术特征。例如,智能PLC包括用于时间序列数据的高效存储机制(即,“历史记录”功能),其允许高分辨率的带时间戳的数据的短期/中期存档。对于高保真数据,(如果有的话)很少的事件被丢失。可以使用高效的压缩算法(例如,摆动门的变化)来减少存储和通信需求。下面参照图2更详细地讨论智能PLC。应当注意,图1表示可与本文描述的技术一起使用的体系结构的高级简化概观。可以修改该体系结构以包括可以存在于现实世界实施中的附加设备,例如路由设备、到附加数据网络的连接等。

应当注意,虽然图1中的DDMS节点是智能PLC,但是本发明并不限于此。DDMS的其他实施例可以包括作为其他满足用于承载DDMS实例的一些最小计算要求(例如,兼容的操作系统、存储器和磁盘)的智能设备的节点。此外,应当注意,图1中呈现的体系结构不包括任何主机或中心节点。

分布式数据管理可以在不同实施例中使用不同技术在工业自动化系统100上实施。在一些实施例中,分布式文件系统(DFS)用于在由智能PLC 105A、105B、105C、110A、110B和110C生成的设备存储数据。DFS提供以与分布式数据库系统相比相当低的成本,在处理能力和存储方面进行快速伸缩的能力。因此,对于包括许多可并行处理操作的应用,DFS可以为数据的分布式存储提供更高效的解决方案。在其他实施例中,智能PLC用于实施鲁棒的分布式数据库管理系统,该系统提供可使用的诸如原子性、一致性、隔离性和耐久性等特性,以及可伸缩性和处理能力。其可以提供支持以类似SQL方式查询的数据管理层,作为对许多节点上的分区数据访问的抽象,并且还提供可以利用数据所在节点上的本地数据处理(即,数据局部性)的功能。

在图1的示例中,工业自动化系统100所采用的分布式数据管理系统的节点包括智能PLC 105A、105B、105C、110A、110B和110C。尽管图1仅示出六个智能PLC,但是应当理解,任何数量的智能PLC可以与本文所述的技术一起使用。因此,由图1中提供的体系结构支持的分布式数据管理系统可通过根据系统需要添加或移除计算资源来动态地增长和缩小。此外,分布式数据管理系统的存储容量可以通过添加专用或商品硬件资源(例如,服务器机架、附加控制器)来增加。例如,如下面更详细地解释的,在一些实施例中,添加分布式数据库115服务器作为分布式数据管理系统的节点,以提供存储在智能PLC 105A、105B、105C、110A、110B和110C上的数据的长期存储。可以使用本领域通常已知的任何技术来将节点添加到分布式数据管理系统。例如,在一些实施例中,新设备可以被部署有与分布式数据管理系统通信的功能。在其他实施例中,此功能可以例如使用通过脚本执行的推送技术远程上传到新的或现有的设备。

每个智能PLC 105A、105B、105C、110A、110B和110C包括分布式数据管理组件。在一些实施例中,包括在每个智能PLC处的分布式数据管理组件能够经由相同的接口将源于控制器的数据存储到共享存储器或文件系统上。例如,如下面参照图3更详细地讨论的,每个智能PLC 105A、105B、105C、110A、110B和110C包括嵌入式过程历史记录,其具有本地历史化的数据的名称、含义和组织的本地视图。使用分布式数据管理组件,可以在系统100上共享由每个相应历史记录生成的数据。

存储在每个智能PLC 105A、105B、105C、110A、110B和110C处的数据可以由在控制器内部或任何设备上运行的客户端应用用掉,其中该设备可访问由图1所示的系统100提供的分布式数据管理系统。除了存储之外,每个智能PLC 105A、105B、105C、110A、110B和110C还可以包括集群管理服务和处理引擎,其允许诸如分布式存储和通信等任务,以及分布式处理和协调。

用于在智能PLC 105A、105B、105C、110A、110B和110C上定位和管理数据的技术可以根据分布式存储的实施方式而变化。例如,在DFS、诸如Hadoop DFS用于分布式存储的实施例中,智能PLC 105A、105B、105C、110A、110B和110C中的一个或多个用作“名称节点”。每个名称节点管理在DFS中的所有文件的目录树,并跟踪文件数据存储在了整个系统100中哪里。客户端应用可以与名称节点通信,以定位文件或对文件执行操作(添加、复制、移动、删除等)。名称节点通过返回存储数据的相关设备的列表来响应成功的请求。应当注意,名称节点是DFS的单一故障点。因此,在一些实施例中,可以使用多个名称节点来提供冗余。

在使用分布式数据库管理系统来实施分布式存储的实施例中,可以使用分片技术将数据存储在智能PLC 105A、105B、105C、110A、110B和110C上。如本领域所熟知的,分片是分布式数据库用于定位其分区的数据的策略。此机制经常用于支持需要分布和高吞吐量操作的数据集的部署。这通过分片密钥定义来完成,该分片密钥定义是用于在控制器之间分离数据的标准。分片映射可以由特定服务器实例存储或存储在每个控制器内。在这两种情况下,所有设备都可以访问分片信息。由于分片元数据保存数据/控制器位置映射,所以每个分片密钥保存设备可以协调与其他对等体的数据传输过程。因此,分布式数据管理系统(诸如使用智能PLC 105A、105B、105C、110A、110B和110C实施的系统)可以提供跨网络的并行化和低数据流量。

智能PLC 105A、105B、105C、110A、110B和110C可以使用标准网络协议(例如,TCP、RPC等)经由网络连接而彼此通信。此通信可以例如用于实施分布式数据的获取和分布式处理任务。在这两种情况下,可以从任何控制器启动该过程,并且后者将触发到存储所需数据的其他控制器的新连接。注意,广播消息不需要跨过各种网络发送,因为协调器仅将具有所请求的数据的控制器作为目标(例如,开始数据的获取或分布式处理任务/映射简化作业的控制器),从而消除了不必要的网络流量。此外,如果处理是分布式处理任务,则除了处理的结果之外,没有数据将通过网络传递。这是通过发送计算代码并在保存有感兴趣的数据的控制器上执行计算代码来实现的。

除了彼此通信之外,智能PLC 105A、105B、105C、110A、110B和110C还可以与任何其它TCP、开放数据库连接(ODBC)和/或OPC统一架构(UA)客户端(诸如分布式数据库115、数据分析/可视化站120、一个或多个人机接口(HMI)125、SCADA服务器130、历史记录/PIM服务器140、和与制造执行系统(MES)和/或实验室信息管理系统(LIMS)相关联的服务器145)通信。体系结构的每个组件可使用本地内联网(例如,经由以太网实施)来和一个或多个因特网150、155、160连接。

分布式数据库115是存储在智能PLC 105A、105B、105C、110A、110B和110C上不再可用的数据的高容量存储服务器。该数据仍然可用于分布式数据管理系统,并且其就如系统中的另一分布式节点一样地运行。分布式数据库115可例如使用可提供实时的分布式的长期数据访问的NoSQL、可伸缩和快速数据存储来实施。其可包括ODBC连接器,类似于其他关系数据库的配置。

工业自动化系统100中的任何客户站都可以将算法从算法存储器注入智能PLC 105A、105B、105C、110A、110B和110C中的一个或多个。智能PLC 105A、105B、105C、110A、110B和110C可以以分布式的方式(在多个控制器上)执行算法,然后聚合结果并将其发送到客户站。在图1的示例中,数据分析/可视化站120还保存有应用/算法存储器,应用/算法存储器可以被上传并可以在智能PLC 105A、105B、105C、110A、110B和110C上执行。此外,在一些实施例中,位于整个生产设施中的人机接口(HMI)125可用于或者直接地或者经由数据分析/可视化站120来访问分布式数据管理系统。在一些实施例中,数据分析/可视化站120可以包括图形用户界面(GUI),其配置为例如接收对存储在分布式数据管理系统应用中的数据的请求,和/或显示与存储在分布式数据库系统上的数据相关的可视化。类似的功能也可在HMI 125或系统的其它组件处可用。

由智能PLC 105A、105B、105C、110A、110B和110C提供的分布式数据管理系统可以与现有自动化基础设施组件进行互操作。例如,监控和数据采集(SCADA)服务器130可以使用OPC UA和/或ODBC客户端连接并从智能PLC 105A、105B、105C、110A、110B和110C以及系统的其他组件(例如,分布式数据库115)获取分布式数据。类似地,历史记录/PIM服务器140和与MES/LIMS 145相关联的服务器可以在分布式数据管理系统上访问数据,而对它们的现有操作进行很少的修改或者没有修改。当时间和资源允许时,可以修改这些较高层组件,以更高效地利用包括在智能PLC 105A、105B、105C、110A、110B和110C中的每个处的分布式数据管理组件进行操作。

图1所示的DDMS体系结构可以支持大量的智能PLC。如上所述,每个智能PLC(或更一般地,节点)承载一个DDMS的实例。该实例为控制器带来分布式存储和处理能力,控制器可以相互通信并与客户端或工程站通信,以便例如:组织和索引本地数据和知识,以保持数据和知识的整体一致性并知道什么在哪里;基于每个PLC中的本地历史记录对分析任务结果进行历史记录;更新分布式的长期存储或用于缓存的本地存储;更新智能PLC知识和配置(规则、参数、集群设置、阈值等);执行数据分析任务,即本地计算或分布式计算;以及获取分布式或本地数据并检索应答查询所需的结果。

图2提供根据一些实施例的智能PLC 200的概念视图。过程图像组件225是控制器的CPU易失性系统存储器中的存储区域,其在每个处理/扫描周期中基于与生产设备相关联的数据(例如,所连接的I/O的输入和输出)来更新。在每个处理步骤中,控制应用230读取过程图像组件225,执行部署的应用逻辑,并将结果写回到过程图像组件225中。

继续参照图2,每个周期的过程图像由历史记录组件220读取并永久地本地存储在非易失性物理存储介质上。此外,历史记录组件220可另外存储与过程图像数据(下面关于上下文化组件215描述的)相关的上下文信息。历史记录组件220可以配置为部署数据压缩算法,以减少数据量并向应用提供对过去的过程图像的访问。数据或者可以存储固定时间窗口长的时间,或者使用在线算法来实现动态缓存试探法。作为历史记录组件220的一部分,智能数据生成算法可以连续地分析过程图像和上下文,以调整连接的I/O的数据生成参数(例如,采样率)。例如,对于快速变化的传感器信号,可以选择高采样率,而对于缓慢变化的传感器信号,较低的采样率就足够了。

分布式数据管理组件212允许智能PLC 200作为分布式数据管理系统或分布式文件系统(例如,参见图1)的实例来操作。使用分布式数据管理组件212,智能PLC可以与在工业自动化系统中操作的其它设备共享由历史记录组件220生成的数据。以这种方式,系统的智能PLC 200的历史、上下文和分析视图可以使用并行分布式处理算法与控制器和其它设备共享。例如,历史记录组件220具有由智能PLC 200本地历史化的数据的名称、含义和组织的本地视图。使用分布式数据管理组件212,可以共享自动化系统的这种视图。

对于其中使用DFS作为存储的实施例,分布式数据管理组件212将是提供适当DFS功能的嵌入式过程。例如,在使用前述Hadoop DFS的实施例中,分布式数据管理组件212可以是允许智能PLC 200作为集群中的数据节点来操作的软件。因此,分布式数据管理组件212可以用于将历史记录数据的区块格式化和组织成可在整个集群中传输、复制和处理的数据块(data chunks)。在一些实施例中,分布式数据管理组件212还可以用于从名称节点获得其他数据节点的地址,其中,对新创建的数据块在不进行存储或计算转换的情况下进行复制。在其他实施例中,分布式数据管理组件212可以配置为使得智能PLC 200用作集群的名称节点,并且地址被本地存储。一旦获得地址,分布式数据管理组件212就可以用于自主地管理历史记录数据块到集群中的其他节点的数据传输。使用分布式数据管理组件212,智能PLC 200和其他在自动化环境中的类似设备可以将历史记录堆栈实施为并行分布式处理算法,其中节点上的每个嵌入式过程历史记录具有上述功能。

在分布式数据管理系统用于跨系统分布存储的实施例中,分布式数据管理组件212可以使用本领域通常已知的各种数据库系统来实施。例如,在一些实施例中,存储在每个控制器处的数据被存储在具有表等效结构的NoSQL数据库中。如本领域所理解的,术语“NoSQL”用于定义与它们的设计不相关的一类数据存储。存在各种类型的NoSQL数据库,它们通常可以根据其底层数据模型进行分组。这些组群可以包括使用基于列的数据模型(例如,Cassandra)、基于文档的数据模型(例如,MongoDB)、基于键值的数据模型(例如,Redis)和/或基于图的数据模型(例如,Allego)的数据库。可以使用任何类型的NoSQL数据库来实施本文描述的各种实施例。在一些实施例中,历史记录数据以数据特定的数据库格式和组织的区块的形式存储在分布式数据管理系统上,数据库格式和组织是针对分布式数据结构优化的。例如,可以基于期望的数据时间粒度或待跟踪变量的最大数量来指定每块的大小。

继续参照图2,数据分析组件205配置为执行一个或多个推理算法,以使用分布式数据管理组件212分析存储在分布式数据管理系统上的数据。各种数据推理算法可以包括在数据分析组件205中。例如,在一些实施例中,这些算法包括群集、分类、基于逻辑的推理和统计分析算法中的一个或多个。另外,算法可以经由可在设备上运行期间部署的模型来指定。数据分析组件205还可以包括各种分析模型和解释这些模型的专用算法。由数据分析组件205生成的结果可以存储在历史记录组件220中、写回到过程图像组件225和/或经由数据连接器组件210提供给外部组件。因此,智能PLC可以被视为用于向自动化系统中的其他设备提供分布式分析的设备。

数据分析组件205包括知识管理器组件235,该知识管理器组件235配置为基于一个或多个陈述性知识模型在控制应用230的运行期间动态地修改由数据分析组件205使用的推理算法。在一些实施例中,智能PLC 200包括一个或多个处理器(图2中未示出),该处理器配置为执行控制应用230,并且与控制应用230的执行并行地修改一个或多个推理算法。并行化可以通过基于优先级信息在多个处理器(或处理器核)上分配任务来实施。例如,一个或多个处理器可以专用于高优先级处理,诸如控制应用230的执行,而其他处理器专用于较低优先级处理,包括对推理算法的修改。

本领域通常已知的各种类型的陈述性知识模型可以与知识管理器组件235一起使用。例如,在一些实施例中,陈述性知识模型包括使用Web本体语言(OWL)表达的本体。例如,可以使用预测模型标记语言(PMML)标准和/或使用规则交换格式(RIF)标准来表达模型。各个知识模型可以是在本质上通用的、专有的、供应商特定的或它们的任意组合。

如上所述,智能PLC 200包括分布式数据管理组件212,其允许智能PLC 200作为分布式数据管理系统的实例来操作。为了利用系统的集体知识,在一些实施例中,与知识管理器组件235一起使用的更多知识模型可以包括如下的信息:诸如在分布式数据管理系统中操作的设备的能力,在分布式数据管理系统中的每个设备处可用的诊断知识,和/或由分布式数据管理系统使用的数据布局信息。

在一些实施例中,由知识管理器组件235使用的推理算法基于一个或多个供应商指定的知识模型来配置。每个供应商指定的知识模型可以包括例如与智能PLC 200的能力相关的信息、在智能PLC 200处可用的诊断知识和/或由智能PLC 200使用的数据布局信息。

上下文化组件215配置为通过用自动化系统上下文信息对过程图像组件225的内容进行注释来生成上下文化的数据,以促进稍后对其的解读。如本文使用的上下文信息可以包括描述数据含义的任何信息。例如,自动化系统中的数据上下文可以包括关于生成数据的设备(例如,传感器)、关于自动化系统的结构(例如,工厂的拓扑)、关于系统的工作模式(例如,停机事件)、关于数据生成时的自动化软件及其状态、和/或关于在数据生成时所产生的产品/批次的信息。上下文化组件215配置为向其他组件中的任一个提供数据以用于更具体的处理需要。由上下文化组件215生成的上下文信息可以不限于资产结构,但还可以包括控制知识、产品特定信息、过程信息、事件信息以及潜在的其他方面,诸如外部事件(例如天气信息)。一些上下文信息可以从工程工具(例如,西门子完全集成自动化工具)导入。另外,在一些实施例中,上下文化组件215提供语义上下文化。上下文可以由标准建模语言(例如,Web本体语言、资源描述框架)表示,其中形式性地定义了语言构造的含义。借助这些语义建模标准对数据的上下文化使得业务分析应用能够自动地理解和解释由自动化系统提供的数据,而无需手动配置。

由智能PLC 200的组件捕获或生成的任何数据可以经由数据连接器组件210提供给外部组件。因此,例如,智能PLC可以与名称节点通信以获得其他数据节点的地址,其中新创建的历史数据区块可以在不进行针对存储或计算的转换的情况下进行复制。此外,使用该结构的基础技术,设备可以自主地管理其数据传输。在一些实施例中,数据连接器组件210经由推送方法传送数据(即,主动将数据发送到外部组件)。在其他实施例中,在数据由外部组件查询的情况下可以使用推挽方法。另外,在一些实施例中,可以将推送方法和推挽方法组合,使得智能PLC配置为处理两种形式的数据传输。

在一些实施例中,智能PLC 200可以包括使用分布式数据管理组件212用于对过程和控制器信息在分布式数据库中的存储的监视功能。另外,可以监视和使用来自上下文化组件215的上下文信息,以便获得更深入的分析见解。这可以通过揭露关于智能PLC 200逻辑的元信息的例程对过程行为中的变化进行检测来完成,其可以用作输入以进一步控制逻辑增强。对智能PLC 200的逻辑的访问和对较低级别的数据流的监视有助于控制器误配置的早期阶段检测。

可结合不同实施例使用的智能PLC特征的另外示例在以下专利发明中提供:于2014年8月25日提交并标题为“智能可编程逻辑控制器(INTELLIGENT PROGRAMMABLE LOGIC CONTROLLER)”的美国专利申请No.14/467,125;于2014年10月30日提交并标题为“在可编程逻辑控制器中使用软传感器(USING SOFT-SENSORS IN A PROGRAMMABLE LOGIC CONTROLLER)”的PCT专利申请No.PCT/US14/63105;于2014年10月29日提交并标题为“用于基于控制知识的自动压缩算法选择和参数调整的系统及方法(SYSTEM AND METHOD FOR AUTOMATIC COMPRESSION ALGORITHM SELECTION AND PARAMETER TUNING BASED ON CONTROL KNOWLEDGE)”的PCT专利申请No.PCT/US14/62796。上述申请中的每个的全部内容通过引用并入本文。

图3提供根据一些实施例的用于分布式数据和知识管理以及分布式分析的DDMS体系结构300的图示。该DDMS体系结构将功能划分为三个概念层:数据管理层305、分布式数据处理层310和服务层315。图3示出的功能可以例如通过图2所示的智能PLC 200的各种组件来提供。

数据管理层305处理围绕着数据和知识的存储和操作能力,为数据和知识的组织和索引、缓存和分片提供功能。来自历史记录320和事件数据库325的数据是实时相关的,并且可以被看作是DDMS存储的缓存。本地数据的格式被注册到DDMS节点,能够在本地数据上访问和处理数据。在每个DDMS节点上更新知识模型(资产、产品、过程、控制等),从而能够进行本地知识访问。相关的诊断知识(规则和分析描述)也被上传到DDMS节点上。使用DDMS的分布式存储和版本化能力,变化将被自动地传播给群集中的所有智能PLC。操作能力也可以作为DDMS的一部分进行提供,例如,多个版本的数据可以共存于相同的数据库实例中。

数据管理层305以允许周期内分析结果从本地分析程序335朝向DDMS系统的本地节点传输的方式,紧密地连接到本地历史记录320。同时,可以使在分析程序335外部(甚至PLC以外)生成的信息对分析程序335可用,从而实现在PLC级别上的大量上下文化。此外,分析程序335可能能够理解附近控制器的上下文映射。本地规则330和本体340可以用于定制分析程序335和用于自动化环境的其他过程。

分布式数据处理层310提供可以在分布式数据上执行的现场分析和查询工具,包括使用分析引擎,诸如R和/或JavaScript。在一些实施例中,通过服务层315在外部访问这些工具,并且可以在本地(单个智能PLC)或分布式(多个智能PLC)数据上运行,并允许本地处理,这避免了不期望的网络流量并有利于基础设施的可更大程度的伸缩。

服务层315配置为向DDMS平台提供连通性、可访问性和安全性,因此外部应用和设备可以利用平台的处理和数据管理能力。通过标准查询语言诸如SQL/SPARQL或使用客户端工具诸如ODBC、OPC UA、Mongo API可以直接访问平台,这些工具利用智能PLC的互操作性,并授权从外部设备和应用的对分布式数据的访问。驻留在DDMS中的任何类型的数据可以以加密的格式存储。该策略为DDMS平台多增加了一层安全性,这确保了机密数据得到适当的保护以防未经授权的访问。另外,出于性能考虑,还可以启用存储压缩以优化存储利用率。

如上所述,图3中所示的DDMS体系结构300引入了本地历史记录320和DDMS之间的连接,这又使接近实时的分析能够在周期内的环境之外完成。连接可以实施为历史记录和DDMS之间的单向通道。通过该通道,历史记录320可以基于由DDMS确定的逻辑将数据推送到DDMS中(例如,推送到其他节点)。此逻辑可以包括例如定时事件、容量配额或来自周期内分析引擎的历史化结果。在一些实施例中,DDMS和现场分析引擎之间的连接也可以是单向的,并且用于将分析和上下文信息从DDMS移动到周期内分析引擎。另外,DDMS可以推入新的或更新的知识模型。

可以通过动态地重新配置智能PLC基础设施(即,DDMS集群)添加新的DDMS节点。作为结果,可以在不影响现有现场层级自动化基线的情况下引入、更换或移除智能PLC。而且,应当注意的是,DDMS体系结构300是可橫向地伸缩的,因为其适用于范围从一个到数千个控制器的多个智能PLC。将节点添加到分布式数据库构架相当于将更多数据添加到公用分区表。一旦新添加的数据被加载到其自己的(控制器)数据库中,新添加的数据就可用于网络中的其他控制器。

图4提供根据一些实施例的如何将信息传入和传出DDMS节点的概念视图400。注意,图4所示元件中的许多与图2中的智能PLC 200所呈现的类似。在图4中,在功能上对这些元件进行组织,以突出涉及将数据传入和传出智能PLC的DDMS节点的主要特征。DDMS 405负责用于分布式数据的存储的数据和知识的索引/版本化,并将所有信息(本地和全局)组织到每个智能PLC的多个集合中,诸如时间数据序列集合、每个模型(例如,资产、产品、事件、控制等)的知识集合、以及其他数据集合。集合的结构和内容可以随着时间进行修改,例如,基于数据的使用方式动态扩展,或通过放弃存储某些数据的需求来缩小。最简单的示例是从传感器数据(由I/O模块捕获的)到DDMS的数据流。首先,输入和输出由PLC处理。然后,将时间序列数据注册到本地节点数据库实例,以便可以以分布方式从外部访问它。可能地,数据的子集被分片至来自相同集群的其他PLC的集合中。下面,关于图7和图8将更详细地讨论分片。

在图4中,DDMS 405是到本地原始或被处理的数据、事件、缓存数据、知识的数据节点接口,并且是用于在这些元素的之上定义柔性分析的集线器,其结合了分布式系统中存在的类似这样的元素。其核心功能被定义为高效地寻址典型的使用情况,诸如但不限于,数据或结果传入即传出节点、查询、以及知识传输,同时索引分布式系统内的嵌入式数据和知识,并版本化数据和知识,以确保一致性和相干性。

图4示出利用存储在分布式系统上的数据的附加功能。上下文化功能410用于使用存储在分布式系统上的知识来将本地数据上下文化。类似地,现场分析推理功能420可以用于将推理算法应用于存储在分布式系统上的数据。

历史记录功能415被用作数据的内部来源,而数据和知识的外部来源是DDMS群集节点。历史记录功能415利用本地存储容量来进行短期和中期的处理数据。为了支持数据的长期存储(例如,用于归档、多年数据分析和/或监管目的),可以提供支持大量数据的专用DDMS实例(图4中未示出),并且仍然是分布式数据基础设施的一部分,就像DDMS的另一实例一样。

如图4所示,由现场分析推理功能420生成的分析结果也可以由历史记录功能415进行历史化。用于数据的历史记录本地短期/中期存储由DDMS节点实例全局地组织、索引和分片,以用于分布式数据存储。现场分析结果(例如,软测量)也可以表示数据的时间序列。对应的集合结构和内容可以随时间进行修改;尽管如此,一旦数据被历史化,DDMS 405中的数据注册就会自动完成。例如,每秒执行计算(例如,功耗)的现场分析任务的结果能够周期性地(例如,每小时或每天)迁移到DDMS实例,从而允许其他智能PLC以及外部自动化工具(例如,SCADA、工程工具、MES)对结果进行访问。如果事件由现场分析推理功能420生成,则智能PLC上的事件存储功能425可以配置为将事件存储在本地数据库中。就像历史记录数据一样,一旦事件被存储,它们就可以被外部组件通过现场分析推理功能420(例如,经由DDMS 405)查询,以用于进一步分析(例如,用于执行根本原因分析)。

图5提供了根据一些实施例的DDMS节点实例如何支持大数据传入/传出分布式数据基础设施(例如,长期存储DDMS实例)的附加图示500。DDMS节点之间的通信可以基本上为了数据获取和分布式处理任务而发生。在这两种情况下,可以从任何节点启动进程,并且后者将触发到存储获取数据的其他节点的新连接。在一些实施例中,只有被请求提供数据的节点由协调器(即,启动数据获取或分布式处理任务的控制器)触发,从而消除不必要的网络流量。

图6提供了根据一些实施例的由外部设备或应用触发的智能PLC逻辑规则更新的示例600。从步骤605开始,接收由处理专家开始的规则更新。数据也可以源自外部资源,诸如在任何支持并被授权连接到智能PLC群集的设备上运行的控制器和客户端应用。在步骤610处,通过一个或多个数据管理接口将规则更新为基于上下文的知识。接下来,在步骤615处,这些规则由嵌入式分析在周期中使用。然后,在步骤620处,根据PLC逻辑将新创建/更新的规则应用于智能PLC I/O。图6中所示的示例600可以适于最小化智能PLC的变化。例如,在一个实施例中,外部应用开始更新由PLC现场分析引用的规则和参数,其结果允许改变PLC控制行为而无需改变PLC逻辑。

图7提供了根据一些实施例的如何在DDMS基础设施上实施分片数据访问的图示700。分片或橫向分区是经常用于支持需要分布和高吞吐量操作的数据集的部署的机制。例如,在图7中,存在分别存储了数据子集705B、710B、715B和720B的四个控制器705A、710A、715A和720A。控制器710A已经启动要求其他控制器705A、715A和720A发送它们各自的数据子集的动作。使用接收到的信息,控制器710A能夠重新创建原始数据子集并执行数据操作。

使用分片密钥定义来执行分区,分片密钥定义是用于在控制器705A、710A、715A和720A之间分离数据的标准。分片映射可以由特定服务器实例存储,或者存储在每个控制器705A、710A、715A和720A内。在这两种情况下,分片信息对于控制器705A、710A、715A和720A中的每个都是同样可访问的。由于分片元数据保存数据/控制器位置映射,所以每个分片密钥保存设备可以协调数据与其他对等体的传输过程。分片可以能够在控制层上进行非中心的决策。

DDMS负责明确指定哪些数据本地或远程地存储在集群中,因为分布式数据源可以位于当前控制器边界的内部或外部。对于需要全局访问的每个集合,都指定有分片索引,该索引将提供分片数据在集群中的位置。用于访问分布式数据的分片元数据被本地存储在每个智能PLC上,因此每个PLC可以高效地定位分片信息。除了分片索引之外,用于每个数据库的存储文件系统还可以提供索引的内部机制,该内部机制加快扫描处理以回答查询,特别是对时间序列的查询。作为一致性机制,数据库可以强制执行独特的密钥,并且还可以在寄存器与现有控制器、标记和时间戳值匹配的情况下覆盖以前的值。

图8示出根据本发明的一些实施例的用于检索和处理分布式数据管理系统内的数据的三步式过程800。过程800以在任意控制器上执行命令的查询或映射/化简作业805开始。数据查询可以由任何控制器发布,允许执行即席查询、预定义查询以及基于控制器标签的公式计算。关系数据库中的映射/化简作业在可以包含分片数据的分布式数据库中运行。这些作业在节点之间分布任务,因此以这种方式支持并行处理。然后,返回聚合的结果并将其保存以供进一步调查。另外,在客户端上也可以发生其他处理(例如,从一系列节点中提取的最终结果的聚合)。所有作业和查询结果将以可理解的现成格式(诸如表格、csv或图像)供客户使用。

在图8中的示例中,第一步骤被示出为“1”,并且任意控制器为控制器810A。例如,执行命令的查询或映射/化简作业805可以由客户端机器或系统中的任何其他控制器来起动。在第二步骤(在图8中示出为“2”)处,控制器810A执行对数据位置的查找(或者使用本地数据或者通过与存储分片信息的服务器通信)。基于该查找的结果,在第三步骤(在图8中示出为“3”)处,控制器810A分别与控制器815A和820A通信,以收集它们的数据子集815B和820B。另外,在该示例中,控制器810A在其自己的数据子集805B内找到所请求的数据的一部分,并且相应地检索该数据。注意,控制器805A不需要从控制器810A请求任何数据,因为存储在控制器810A处的数据子集810B不需要响应原始请求。一旦控制器810A从其自己的数据存储器和其他控制器815A和820A获取数据,控制器810A就处理所收集的数据以执行在过程800的第一步骤处最初接收到的命令。

如图8所示,由于上述处理能力,可以通过使查询和处理作业更接近数据来自动减少数据延迟。在这个示例中,仅结果或处理的数据通过网络传输。只有在一些有限的情况(诸如数据相关分析)下才需要传输原始数据。

为了说明本文描述的分布式系统的价值,考虑其在自动化OEM操作环境的上下文中的实施。该环境可以通过集成系统进行优化,该集成系统提供工厂车间规模的高带宽可伸缩传感(使用振动传感器)、数据存储、主轴分析和主轴报告。为了捕获新的振动测量,可以将与传感器通信的智能PLC添加到系统,并且其数据可以在本地进行管理或由另一个智能PLC管理。从数据和处理管理的角度来看,这似乎是已经控制和监视故障机器的控制器的扩展。无需从系统中提取数据以便分析由新传感器创建的输出。相反,嵌入在智能PLC上并由关于过程、资产和产品的知识驱动的过程专家算法可以在同一平台上使用预先存在的过程来分析新收集的传感器测量。借助于任何数据可视化或分析工具可以查看诊断结果。作为结果,无需将过程数据从PLC提取到MES/SCADA级别,以对外部处理器执行故障分析,因为新监视的数据将自动地可用于分布式多PLC系统。

如由嵌入式控制器使用的本文描述的处理器可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其它处理器。更一般地,如本文使用的处理器是用于执行存储在计算机可读介质上的机器可读指令、用于执行任务的设备,并且可以包括硬件和固件中的任何一个或它们的组合。处理器还可以包括存储可执行的用于执行任务的机器可读指令的存储器。处理器以如下方式作用于信息:操纵、分析、修改、转换或传输信息以供可执行的程序或信息设备使用,和/或通过将信息路由到输出设备。处理器可以使用或包括例如计算机、控制器或微处理器的能力,并且可以使用可执行指令进行调节以执行不由通用计算机执行的特殊用途功能。处理器可以(以电的方式和/或以包括可执行组件的方式)与能够在其之间进行交互和/或通信的任何其它处理器耦合。用户界面处理器或生成器是包括用于生成显示图像或其部分的电子电路或软件或两者组合的已知元件。用户界面包括使得用户能够与处理器或其它设备进行交互的一个或多个显示图像。

本文描述的各种设备包括但不限于嵌入式控制器和相关计算基础设施,可以包括至少一个计算机可读介质或存储器,以用于保存根据本发明实施例编程的指令,并且用于包含数据结构、表格、记录、或本文描述的其他数据。本文使用的术语“计算机可读介质”是指参与向一个或多个处理器提供指令以用于执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于,非暂时性、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘。易失性介质的非限制性示例包括动态存储器。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括组成系统总线的电线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间产生的声波或光波。

如本文使用的可执行的应用包括代码或机器可读指令,用于调节处理器以实现预定功能(诸如操作系统、上下文数据采集系统或其他信息处理系统的),例如响应于用户命令或输入。可执行程序是代码段或机器可读指令、子例程或其他不同的代码段或可执行程序的一部分,以用于执行一个或多个特定过程。这些过程可以包括接收输入数据和/或参数,对接收的输入数据执行操作和/或执行功能以响应于接收到的输入参数,并且提供结果输出数据和/或参数。

如本文使用的图形用户界面(GUI)包括一个或多个显示图像,其由显示处理器生成并使得用户能够与处理器或其他设备交互,以及相关联的数据采集和处理功能。GUI还包括可执行的程序或可执行的应用。可执行的程序或可执行的应用调节显示处理器以生成表示GUI显示图像的信号。这些信号被提供给显示设备,该显示设备显示图像以供用户观看。在可执行的程序或可执行的应用的控制下,该处理器操纵GUI显示图像以响应从输入设备接收的信号。以这种方式,用户可以使用输入设备与显示图像交互,从而使得用户能够与处理器或其他设备交互。

本文的功能和处理步骤可以自动地、全部地或部分地响应于用户命令而执行。执行自动执行的活动(包括步骤)以响应于一个或多个可执行指令或设备操作,而无需用户直接启动该活动。

这些附图的系统和过程不是排他性的。其他系统、过程和菜单可以根据本发明的原理推导以实现相同的目标。虽然本发明已经参照特定实施例进行了描述,但是应该理解的是,本文示出和描述的实施例和变体仅用于说明的目的。在不脱离本发明范围的情况下,本领域的技术人员可以对当前设计实施修改。如本文所描述的,各种系统、子系统、代理、管理者和进程可以使用硬件组件、软件组件和/或它们的组合来实施。本文中的权利要求元素都不应根据35U.S.C.112的第六段的规定来解释,除非使用短语“用于”明确地叙述该要素。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1