用于工业环境的动态搜索引擎转让专利

申请号 : CN201510756437.2

文献号 : CN105589923B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗纳德·E·布利斯道格拉斯·J·赖夏德斯科特·N·桑德勒迈克尔·J·潘塔莱亚诺瑞安·卡阿拉呐乔纳森·D·瓦尔特杰西卡·L·科尔佩拉

申请人 : 罗克韦尔自动化技术公司

摘要 :

提供一种用于工业环境的动态搜索引擎和一种多平台工业搜索系统,该多平台工业搜索系统有利于索引和搜索位于多个不同数据平台上的全厂范围的数据。工业搜索系统自动清点整个工厂的工业设备和其他数据源并且识别在每个数据源上的可利用的数据项。搜索系统对联合数据模型中的后续可以被搜索以定位所关注的数据项或标签的所发现的数据项进行索引。联合数据模型记录对存在于不同类型数据源上的数据项的引用,所述不同类型数据源包括但不限于工业控制器程序、人机接口应用、历史数据设备、文件存储装置、库存跟踪系统以及其他这样的数据源。搜索系统还可以响应于所检测到的性能问题发起联合数据模型的自动搜索并且向工厂人员递送通知和上下文信息。

权利要求 :

1.一种用于搜索工业数据的系统,包括:

存储器,所述存储器存储可执行组件;

处理器,所述处理器可操作地耦接至所述存储器,执行所述组件,所述组件包括:索引组件,所述索引组件被配置成发现跨工业环境的多个数据源分布的可利用的数据项并且生成记录数据项的各自的位置的联合数据模型,其中,所述数据项至少包括存储在一个或更多个工业控制器上的一个或更多个控制程序的第一数据标签以及显示在一个或更多个人机接口设备上的第二数据标签的可视化引用;

搜索组件,所述搜索组件被配置成针对特定数据项进行所述联合数据模型的搜索并且生成识别所述数据项的位置的搜索结果的集合,其中,所述搜索结果的集合至少包括结果的第一子集和结果的第二子集,所述结果的第一子集表示与所述数据项对应并且存储在所述一个或更多个工业控制器中的至少一个工业控制器上的第一数据标签的子集,所述结果的第二子集表示与所述数据项对应的第二数据标签的子集的可视化引用中的一个或更多个可视化引用;以及设备接口组件,所述设备接口组件被配置成将所述搜索结果的集合分成所述结果的第一子集和所述结果的第二子集以产生搜索结果的分开集合,并且向客户端设备发送所述搜索结果的分开集合。

2.根据权利要求1所述的系统,其中,所述一个或更多个控制程序包括一个或更多个梯形逻辑程序、一个或更多个顺序功能表图程序、一个或更多个功能框图或一个或更多个结构文本程序中的至少一个。

3.根据权利要求1所述的系统,其中,所述多个数据源还包括历史数据设备、工作订单管理系统、库存跟踪系统或文件数据存储装置中的至少一个。

4.根据权利要求1所述的系统,其中,所述设备接口组件还被配置成:响应于从所述客户端设备中接收表示所述结果的第一子集的第一搜索结果的选择的第一选择数据,来从可利用应用的集合中选择控制器逻辑开发应用,发起在所述客户端设备或另一客户端设备中的至少一个上所述控制器逻辑开发应用的启动,并且在所述客户端设备或另一客户端设备上指示所述控制器逻辑开发应用来显示所述第一搜索结果,以及响应于从所述客户端设备中接收表示所述结果的第二子集的第二搜索结果的选择的第二选择数据,来从可利用应用的集合中选择人机接口查看应用,发起在所述客户端设备或另一客户端设备中的至少一个上所述人机接口查看应用的启动,并且在所述客户端设备或另一客户端设备上指示所述人机接口查看应用来显示所述第二搜索结果。

5.根据权利要求4所述的系统,其中,所述设备接口组件还被配置成建立所述客户端设备与对应于所述第一搜索结果或所述第二搜索结果的数据源之间的通信链路,并且向所述客户端设备递送与从所述数据源取回的所述第一搜索结果或所述第二搜索结果对应的数据项的近似实时值。

6.根据权利要求1所述的系统,还包括:

监测组件,所述监测组件被配置成响应于所述可利用的数据项的一个或更多个近似实时值满足在表示与工业资产相关的性能问题的监测规则中限定的标准的确定,来基于在所述监测规则中限定的搜索标准发起所述联合数据模型的自动搜索;以及通知组件,所述通知组件被配置成响应于所述一个或更多个近似实时值满足所述标准的确定,来向一个或更多个客户端设备发送通知信息,其中,所述通知信息包括关于所述性能问题的信息和所述自动搜索的结果的集合。

7.根据权利要求1所述的系统,其中,所述索引组件、所述搜索组件和所述设备接口组件在独立计算设备、网络服务器设备或者一个或更多个云平台设备中的至少一个上实现。

8.根据权利要求1所述的系统,其中,所述设备接口组件还被配置成接收指定所述数据项的搜索查询数据,其中,所述搜索查询数据包括人工输入的文本数据、经转换的条形码数据、经转换的快速响应码数据或者经由近场通信从工业设备中取回的信息中的至少一个。

9.根据权利要求1所述的系统,其中,所述结果的第二子集的至少一个结果识别人机接口应用以及在其上显示所述数据项的所述人机接口应用的接口屏幕。

10.一种用于索引和搜索多平台工业数据的方法,包括:

通过包括处理器的系统识别位于工业环境的多个数据源上的可利用的数据项,其中,所述可利用的数据项至少包括由存储在一个或更多个工业控制器上的一个或更多个控制程序引用的第一数据标签以及显示在一个或更多个人机接口设备上的第二数据标签的可视化引用;

通过所述系统生成索引所述数据项的各自的位置的联合数据模型;

通过所述系统接收指定数据项的查询信息;

响应于所述接收,通过所述系统基于所述联合数据模型的搜索来识别所述数据项的位置;

通过所述系统生成识别所述数据项的位置的搜索结果的集合,其中,所述搜索结果的集合被分成至少结果的第一子集和结果的第二子集,所述结果的第一子集表示存储在所述一个或更多个工业控制器中的至少一个工业控制器上的与所述数据项匹配的第一数据标签的子集,所述结果的第二子集表示与所述数据项匹配的第二数据标签的可视化引用中的一个或更多个可视化引用;以及通过所述系统向客户端设备发送所述搜索结果的集合。

11.根据权利要求10所述的方法,其中,所述搜索是第一搜索并且所述搜索结果的集合是搜索结果的第一集合,并且所述方法还包括:基于所述搜索结果的第一集合来识别与所述数据项相关的一个或更多个相关数据项;

以及

至少基于所述联合数据模型的第二搜索来确定搜索结果的第二集合,其中,所述第二搜索使用所述数据项和所述一个或更多个相关数据项作为搜索标准,其中,所述发送包括向所述客户端设备发送所述搜索结果的第二集合。

12.根据权利要求10所述的方法,还包括:

响应于接收所述查询信息:

使用所述搜索结果的集合中的一个或更多个结果作为搜索标准进行网页搜索;

基于所述网页搜索来接收至少一个网页搜索结果;

使所述至少一个网页搜索结果与所述一个或更多个结果相互关联;以及显示指向与所述一个或更多个结果相关联的所述至少一个网页搜索结果的至少一个链接。

13.根据权利要求10所述的方法,还包括:响应于从所述客户端设备接收表示所述结果的第一子集中的搜索结果的选择的选择数据来:从与所述多个数据源的各自的不同类型对应的可利用应用的集合中选择控制器逻辑开发应用;

发起在所述客户端设备或另一客户端设备中的至少一个上所述控制器逻辑开发应用的启动;以及指示所述控制器逻辑开发应用来在所述客户端设备或所述另一客户端设备上显示所述搜索结果。

14.根据权利要求10所述的方法,还包括:

经由所述客户端设备记录关于所述搜索结果的集合的一个或更多个交互;

响应于从所述客户端设备或另一客户端设备接收指定所述数据项的随后的查询信息来执行使用所述数据项和所述一个或更多个交互作为搜索标准的所述联合数据模型的另一搜索;

基于所述另一搜索来生成搜索结果的另一集合;以及

向所述客户端设备或所述另一客户端设备发送所述搜索结果的另一集合。

15.根据权利要求13所述的方法,还包括:

在与所述搜索结果对应的数据源与所述客户端设备或所述另一客户端设备中的至少一个之间创建通信链路;

从所述数据源取回所述数据项的值;以及

经由所述控制器逻辑开发应用向所述客户端设备或所述另一客户端设备中的至少一个发送所述值。

16.根据权利要求10所述的方法,还包括:

基于监测所述可利用的数据项的一个或更多个值来确定所述一个或更多个值满足由表示在所述工业环境内关于一个或更多个工业资产的操作问题的监测规则限定的标准;以及响应于所述确定来:

基于由所述监测规则限定的搜索标准发起所述联合数据模型的自动搜索;以及向一个或更多个客户端设备发送通知信息,其中,所述通知信息包括所述操作问题的识别以及基于所述自动搜索生成的一个或更多个搜索结果。

17.根据权利要求10所述的方法,还包括:响应于从所述客户端设备接收表示所述结果的第二子集中的搜索结果的选择的选择数据来:从与所述多个数据源的各自的不同类型对应的可利用应用的集合中选择人机接口查看应用;

发起在所述客户端设备或另一客户端设备中的至少一个上所述人机接口查看应用的启动;以及指示所述人机接口查看应用来在所述客户端设备或所述另一客户端设备上显示所述搜索结果。

18.一种非临时性计算机可读介质,在所述非临时性计算机可读介质上存储有指令,所述指令响应于执行使包括处理器的系统执行操作,所述操作包括:发现位于工业环境的多个数据源上的可利用的数据项,其中,所述可利用的数据项至少包括存储在一个或更多个工业控制器上的一个或更多个控制程序的第一数据标签以及显示在一个或更多个人机接口设备上的第二数据标签的可视化引用;

创建记录所述数据项的各自的位置的联合数据模型;

响应于接收指定数据项的查询信息,基于所述联合数据模型的搜索来识别所述数据项的位置;

生成与所述数据项的位置对应的搜索结果的集合,其中,根据至少结果的第一子集和结果的第二子集来对所述搜索结果的集合进行分类,所述结果的第一子集表示与所述数据项对应并且存储在所述一个或更多个工业控制器中的至少一个工业控制器上的第一数据标签的子集,所述结果的第二子集表示对应于与所述数据项对应的第二数据标签的子集的可视化引用中的一个或更多个可视化引用;以及向客户端设备发送所述搜索结果的集合。

19.根据权利要求18所述的非临时性计算机可读介质,其中,所述操作还包括:基于所述搜索结果的集合来识别与所述数据项相关的一个或更多个相关数据项;以及至少基于所述联合数据模型的另一搜索来确定搜索结果的另一集合,所述另一搜索使用所述数据项和所述一个或更多个相关数据项作为搜索标准,其中,所述发送包括向所述客户端设备发送所述搜索结果的另一集合。

20.根据权利要求18所述的非临时性计算机可读介质,其中,所述操作还包括:响应于接收来自所述结果的第一子集的搜索结果的选择,来发起控制器逻辑开发应用,并且在所述控制器逻辑开发应用上呈现所述数据项;以及响应于接收来自所述结果的第二子集的搜索结果的选择,来发起人机接口应用,并且在所述人机接口应用的显示屏幕上呈现所述数据项。

说明书 :

用于工业环境的动态搜索引擎

技术领域

[0001] 本文中所公开的主题总地涉及一种工业自动化系统,并且更具体地,涉及一种能够跨一系列不同数据源平台索引和搜索全厂范围(plant-wide)的工业数据的动态搜索引擎。

发明内容

[0002] 下面给出简要总结以便提供对在本文中所描述的一些方面的基本理解。本总结并不是广泛的概述,也非旨在识别关键/重要要素或限定在本文中所述的各个方面的范围。本总结的目的仅是以简单的形式给出一些概念作为稍后给出的更为详细的描述的前序。
[0003] 在一个或更多个实施方式中,提供了一种用于搜索存储在跨工业环境的多个数据源上的工业数据的系统,该系统包括:索引组件,所述索引组件被配置成发现跨工业企业的多个数据源分布的可利用的数据项并且生成记录数据项的各自的位置的联合数据模型(federated data model),其中,所述多个数据源至少包括与第一数据平台对应的第一数据源和与第二数据平台对应的第二数据源;搜索组件,所述搜索组件被配置成针对特定数据项进行所述联合数据模型的搜索并且产生识别所述数据项的位置的搜索结果的集合,其中,所述搜索结果的集合至少包括与所述第一数据平台对应的结果的第一子集和与所述第二数据平台对应的结果的第二子集;以及设备接口组件,所述设备接口组件被配置成向客户端设备发送所述搜索结果的集合。
[0004] 此外,一个或更多个实施方式提供了一种用于索引和搜索多平台工业数据的方法,包括:通过包括处理器的系统识别位于工业环境的多个数据源上的可利用的数据项,其中,所述多个数据源至少包括与第一数据平台对应的第一数据源和与第二数据平台对应的第二数据源;通过所述系统生成索引所述数据项的各自的位置的联合数据模型;通过所述系统接收指定数据项的查询信息;响应于所述接收通过所述系统基于所述联合数据模型的搜索来识别所述数据项的位置;以及通过所述系统向客户端设备发送搜索结果的集合,其中,所述搜索结果识别所述数据项的位置。
[0005] 此外,根据一个或更多个实施方式,提供了一种非临时性计算机可读介质,在所述非临时性计算机可读介质上存储有指令,所述指令响应于执行使系统执行操作,所述操作包括:发现位于工业环境的多个数据源上的可利用的数据项,其中,所述多个数据源至少包括与第一数据平台对应的第一数据源和与第二数据平台对应的第二数据源;创建记录所述数据项的各自的位置的联合数据模型;响应于接收指定数据项的查询信息基于所述联合数据模型的搜索来识别所述数据项的位置;以及向客户端设备发送搜索结果的集合,其中所述搜索结果识别所述数据项的位置。
[0006] 为了实现前述目的以及相关目的,在本文中结合下面的描述以及附图描述了某些说明性方面。这些方面指出了可以实践的各种方式,所有所述各种方式旨在被本文所覆盖。在结合附图考虑的情况下,根据下面的详细描述,其他优点和新颖性特征可以变得明显。

附图说明

[0007] 图1是示例性工业控制环境的框图。
[0008] 图2是示出工业数据联合的概念图。
[0009] 图3是示例性多平台工业搜索系统的框图。
[0010] 图4是包括发现和索引整个工业环境的多平台数据的多平台工业搜索系统的一般性示例性构造的框图。
[0011] 图5是示出多平台工业搜索系统的组件的框图。
[0012] 图6是可以通过多平台工业搜索系统被递送的示例性搜索结果画面(screen)。
[0013] 图7是包括控制器逻辑引用结果的扩展列表的示例性搜索结果画面。
[0014] 图8是由工业搜索系统响应于选择与控制器逻辑引用结果对应的“启动程序”按钮而启动的示例性控制器逻辑开发画面。
[0015] 图9是包括可视化引用搜索结果的扩展列表的示例性搜索结果画面。
[0016] 图10是通过选择与可视化引用搜索结果相关联的“启动程序”按钮而调用的示例性HMI画面。
[0017] 图11是示出用于协调维护活动的一般性构造的框图。
[0018] 图12A是示出远程启动客户端设备上的应用的框图。
[0019] 图12B是示出将现场数据递送至通过工业搜索系统在客户端设备上远程启动的应用的框图。
[0020] 图12C是示出响应于从第二客户端设备接收启动请求而启动在第一客户端设备上的应用的框图。
[0021] 图13是示出用于远程启动工业应用的示例性构造的框图。
[0022] 图14是示出用于远程启动工业应用的另一示例性构造的框图。
[0023] 图15是工业搜索系统的一般性的基于云的实施方式的概念图。
[0024] 图16是示出基于云的工业搜索服务的框图。
[0025] 图17是可以通过工业搜索系统服务于客户端装置的示例性家用接口画面。
[0026] 图18是用于索引和搜索多平台工业数据的示例性方法的流程图。
[0027] 图19是用于动态监测工业资产以及通知工厂人员性能问题的示例性方法的流程图。
[0028] 图20是用于远程启动客户端上的工业应用以有利于观看多平台搜索结果的示例性方法的流程图。
[0029] 图21是示例性计算环境。
[0030] 图22是示例性联网环境。

具体实施方式

[0031] 现在,参照附图描述本主题公开内容,其中,贯穿全文,相同的附图标记用于指代相同的元件。在以下描述中,为便于说明起见,阐述多个具体细节以提供对以下描述的透彻理解。然而,可以明显的是,在没有这些具体细节的情况下也可以对主题公开内容进行实践。在其他示例中,以框图的形式示出公知的结构和设备,以便有助于对主题公开内容的描述。
[0032] 如在本申请中所使用的,术语“组件”、“系统”、“平台”、“层”、“控制器”、“端子”、“站”、“节点”、“接口”意在指代计算机相关实体或者与具有一个或更多个具体功能的操作设备有关或作为具有一个或更多个具体功能的操作设备的一部分的实体,其中,这样的实体可以为硬件、硬件和软件的组合、软件或者执行中的软件。例如,组件可以为但不限于处理器上运行的处理、处理器、硬盘驱动器、包括附加固态存储驱动器(螺丝拧紧或螺栓固定的)或者可移除的附加固态存储驱动器(光存储介质或磁存储介质的)的多个存储驱动器、对象、可执行软件、执行的线程、计算机可执行程序和/或计算机。通过例示,服务器上运行的应用和服务器二者均可以为组件。一个或更多个组件可以存在于处理和/或执行的线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。另外,本文中所描述的组件可以从存储有各种数据结构的各种计算机可读存储介质来执行。组件可以例如根据具有一个或更多个数据包(例如,来自与本地系统、分布式系统中的另一组件交互的一个组件的数据和/或来自经由信号跨网络例如因特网与其他系统交互的组件的数据)的信号经由本地处理和/或远程处理进行通信。作为另一示例,部件可以为具有由电路或电子电路操作的机械部件提供的特定功能的设备,电路或电子电路由处理器执行的软件应用或固件应用来操作,其中,处理器可以位于设备内部或设备外部并且执行软件应用或固件应用的至少一部分。作为又另一示例,部件可以为通过没有机械部分的电子组件提供特定功能的设备,电子组件可以包括其中的处理器以执行提供电子部件的至少一部分功能的软件或固件。作为再又另一示例,一个或更多个接口可以包括输入/输出(I/O)组件以及相关联的处理器、应用或者应用程序接口(API)组件。虽然上述示例涉及组件的各个方面,所例示的方面或特征还应用于系统、平台、接口、层、控制器、终端等。
[0033] 如本文中所使用的,术语“进行推断”和“推断”大体是指根据如经由事件和/或数据捕获的观察的集合推理或推断系统、环境和/或用户的状态的过程。推断可以用于识别具体内容或动作,或者可以生成例如针对状态的可能性分布。推断可以为或然性的——即,基于数据和事件的考虑对所关注的状态的可能性分布的计算。推断也可以指从事件和/或数据的集合组成较高水平的事件所采用的技术。这样的推断导致从所观察的事件和/或存储的事件数据的集合构建新的事件或动作,无论事件在时间上是否密切相关、事件和数据是否来自一个或若干个事件和数据源。
[0034] 此外,术语“或者”意在指包括“或者”而非排除“或者”。也就是说,除非特别指出,或者文本中明确说明,短语“X采用A或者B”意在指自然包括排列中的任何一个。也就是说,下述示例中任何示例均满足短语“X采用A或者B”:X采用A;X采用B;或者X采用A和B二者。此外,除非特别指出或者文本中明确说明是指单数形式,否则本申请及所附权利要求中所使用的词语“一个(a)”和“一个(an)”通常应当理解为意指“一个或更多个”。
[0035] 此外,本文中所使用的术语“集合”不包括空集,例如其中没有元素的集合。因此,主题公开内容中的“集合”包括一个或更多个元素或实体。作为例示,控制器的集合包括一个或更多个控制器;数据源的集合包括一个或更多个数据源等。类似地,本文中所使用的术语“组”是指一个或更多个实体的聚集,例如,一组节点是指一个或更多个节点。
[0036] 将根据可以包括许多设备、组件、模块等的系统来给出各个方面或特征。应当理解和明白的是,所述各种系统可以包括附加的设备、组件、模块等,和/或可以不包括结合附图讨论的所有设备、组件、模块等,还可以使用这些方法的组合。
[0037] 工业控制器及其相关联的I/O设备对于现代自动化系统的操作是极为重要的。这些控制器与工厂地面上的场设备相互作用来控制与下述客体相关的自动化过程:产品制造、材料处理、批处理、监督控制以及其他这样的应用。工业控制器存储以及执行用户定义的控制程序来实现与受控过程结合的决策制定。这样的程序可以包括但不限于梯形逻辑、顺序功能表图、功能框图、结构文本或其他这样的平台。
[0038] 图1是示例性工业控制环境100的框图。在该示例中,整个工业工厂环境部署大量工业控制器118来监测和控制与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能相关的各自的工业系统或处理。工业控制器118通常执行各自的控制程序以有利于监测和控制组成受控工业系统的工业设备120。一个或更多个工业控制器118还可以包括在个人计算机或其他硬件平台上执行的软件控制器,或将控制器功能与其他功能(例如,可视化)组合的混合式设备。工业控制器118所执行的控制程序可以包括用于处理从工业设备120读取的输入信号以及用于控制工业控制器生成的输出信号的任何可想到的类型的代码,包括但不限于梯形逻辑、顺序功能表图、功能框图或结构文本。
[0039] 工业设备120可以包括将与受控工业系统相关的数据提供给工业控制器118的输入设备以及响应于由工业控制器生成的控制信号来控制工业系统的各方面的输出设备。示例性输入设备可以包括遥测设备(例如,温度传感器、流量计、水平传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择开关等)、安全监测设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括电机驱动装置、气动传动装置、信号发出装置、机器人控制输入装置、阀等。
[0040] 工业控制器118可以通过硬连线连接或网络连接与工业设备120可通信地连接。例如,工业控制器118可以配备有与工业设备120通信的本地硬连线输入和输出以实现装置的控制。本地控制器I/O可以包括:向现场设备发送和从现场设备接收离散的电压信号的数字I/O;或者向设备发送和从设备接收模拟电压或电流信号的模拟I/O。控制器I/O可以通过背板与控制器的处理器通信,使得数字和模拟信号可以被读入控制程序并且由所述控制程序控制。工业控制器118还可以通过网络使用例如通信模块或集成网络端口与工业设备120通信。示例性网络可以包括互联网、内联网、以太网、设备网、控制网、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线、Modbus、过程现场总线、无线网络、串行协议等。该工业控制器118还可以存储可以通过控制程序引用并且用于控制决策的持久性数据值,所述决策包括但不限于:表示受控的机器或过程的操作状态(例如,罐的水平、位置、警报等)或者在自动化系统的运行期间收集的捕获时间序列数据(例如,对于多个时间上的点的状态信息、诊断事件等)的测量或计算的值。
[0041] 工业自动化系统通常包括一个或更多个人机接口(HMI)114,使得工厂人员能够查看与自动化系统相关联的遥测和状态数据并且控制系统操作的某些方面。HMI 114可以通过工厂网络116与一个或更多个工业控制器118通信并且与工业控制器交换数据,以有利于与受控工业过程相关的信息在一个或更多个预先开发的操作员接口画面上的可视化。HMI 114也可以被配置成使得操作员将数据提交到指定数据标签或工业控制器118的存储器地址,由此给操作员提供了用于向受控系统发出命令(例如,周期开始命令、设备致动命令等)的装置以修改定点值等。HMI 114可以产生一个或更多个显示画面,通过所述画面操作员与工业控制器118交互,并且由此与受控的进程和/或系统交互。示例性显示画面可以使用显示测量的值或计算的值的过程的图形表示来使工业系统或其相关联的设备的当前状态可视化,采用基于状态的颜色或位置动画、渲染警报通知,或采用其他向操作员呈现相关数据的这样的技术。以这种方式呈现的数据通过HMI 114从工业控制器118读取并且根据由HMI开发者所选择的显示格式来在一个或更多个显示画面上呈现。
[0042] 工业控制器118和HMI 114包括与在工厂环境内受制的工业过程和系统相关的两个信息源。由于HMI 114对来自工业控制器118的数据进行杠杆化以有利于受控系统的可视化,工业控制器118和HMI 114两者可以包含与工业系统的通用方面相关的信息。例如,可以在工业控制器118中的一个工业控制器上执行用于控制在批处理中使用的特定罐的操作的控制程序(例如、梯形逻辑、顺序功能表图等),同时可以在HMI 114中的一个上查看用于查看罐当前状态和相关设置点(例如,水平设置点、最大流量设置点等)的图形表示的操作员接口画面。然而,由于这两个信息源跨两个不同数据源和平台被分开,所以操作员和维护人员通常一次只能查看一个信息源。也就是说,操作员可以选择在相关HMI终端上查看所关注的罐的操作员接口画面(参见操作员122),或者可以将个人计算设备(例如,膝上型计算机)连接至工业控制器来查看用于控制罐操作的控制程序(参见操作员124)。在多数情况下,操作员必须在物理上接近HMI终端或工业控制器以便于查看关于该特定数据源的信息。因此,在对关于罐的维护问题进行故障诊断期间,人员必须行进至信息源(例如,通常位于受控的物理机器附近的HMI终端或工业控制器)并且在本地分别搜索每个HMI以及工业控制器。
[0043] 一些工业环境还可以包括涉及受控的工业系统的特定方面的其他潜在相关的信息源。这些可以包括例如聚集并且存储从工业控制器118或其他数据源收集的生产信息的历史数据库110,或者包含用于构成受控的工业系统的各种工业设备的电子文件的设备文件存储装置104。其他信息源可以包括库存跟踪系统102、工作订单管理系统106、机器或工艺图和文件的储存库、厂商产品文件存储器、厂商知识库、内部知识库或其他这样的系统,这些信息源中的一些或全部可以处于工业环境的办公网络108上。这些不同的信息源跨工厂环境内部以及外部(例如,在因特网上)两者的许多位置和系统分散。当诊断问题时,通常要求维护人员使用特别针对被搜索的各个数据源的若干不同软件包来分别搜索这些信息源中的若干信息源。此外,搜索属于特定设备或机器的信息通常要求具有对整体工业系统的广泛的了解,以定位要被搜索的数据源(例如,工业控制器、HMI等),以及识别相关操作员画面和控制程序路径。分别地搜索这些数据源中的每个数据源与解决系统停机问题或其他问题相结合会延迟维护问题的校正,导致收入损失和日程安排问题。
[0044] 为了处理这些和其他问题,本公开内容的一个或更多个实施方式提供了一种多平台工业搜索系统,其允许用户针对所关注的信息搜索多个不同的工业数据平台。对此,该搜索系统被建立在将公共名称空间下的多个不同源中的全厂范围的控制系统信息统一起来的搜索平台上,或者被建立在联合数据模型上。图2是示出了该工业数据联合体(federation)的示意图。在一个或更多个实施方式中,该多平台工业搜索引擎对来自跨工业设施或工业设施外部两者的多个源中的数据进行索引,这些工业设施包括但不限于工业控制器、HMI、历史数据库、设备和系统文件储存库(例如,图、手册、知识库文章等)、系统库存管理系统和/或其他这样的平台。搜索系统对该多平台数据进行索引和相互关联以产生可以被客户端设备204访问并搜索的联合数据模型202。
[0045] 在示例性情形中,客户端设备204可以向联合数据模型202提交对于特定数据标签(例如,罐1)的搜索请求。基于记录在模型中的被索引的全厂范围的信息,工业搜索系统可以跨不同的数据源定位特定数据标签的所有实例,并且传送根据数据平台分类的所有被发现的实例的列表。例如,搜索系统可以提供经分类的搜索结果列表,该列表包括:在一个或更多个工业控制程序中的数据标签的被发现的引用的第一列表(例如,梯形逻辑、顺序功能图等);以及显示在一个或更多个HMI画面上的数据标签的被发现的实例的第二列表。响应于在工业控制器列表结果中选择搜索结果,搜索系统在客户端设备上远程地启动适合的控制器开发应用的实例,并且导航到控制程序(例如,梯形逻辑梯级(rung))的与所选择的实例对应的部分。同样地,在HMI结果列表中选择搜索结果使搜索系统在客户端设备上启动HMI可视化应用的运行时实例,并且导航到与所选择的实例对应的显示画面。
[0046] 多平台搜索系统的一个或更多个实施方式还可以包括动态搜索和通知特征。利用在联合搜索模型中索引到的工厂的工业数据,一个或更多个动态搜索引擎可以被配置成在后台自动地访问模型,以快速地识别需要注意的问题。当检测到维护问题时,系统可以收集关于该问题的信息并且基于人员的技术、与该问题的来源相关的位置和/或可利用性的记录将通知和所收集的信息发送至被确定为适合于解决该维护问题的一个或更多个工厂人员。
[0047] 图3是根据本公开内容的一个或更多个实施方式的示例性多平台工业搜索系统302的框图。本公开内容中说明的系统、设备或工艺的方面可以构成在一个或更多个机器中实施的机器可执行组件,例如,在与一个或更多个机器相关联的一个或更多个计算机可读介质(或媒介)中实施。当通过一个或更多个机器(例如,一个或更多个计算机、一个或更多个计算设备、一个或更多个自动化设备、一个或更多个虚拟机等)执行时,这样的组件可以使一个或更多个机器执行所描述的操作。
[0048] 多平台工业搜索系统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可以与一个或更多个外部用户接口设备(例如,键盘、鼠标、显示器、触摸屏或其他这样的接口设备)交互。
[0049] 索引组件304可以被配置成收集关于工业自动化系统的信息并且生成对在整个工业系统中的数据项的位置和来源以及数据项之间的关系进行限定的联合数据模型。例如,索引组件304的一些实施方式可以被配置成部署横贯工厂网络并且发现数据项及其相关性的爬行器实体(crawler entity)。所得到的通过爬行器生成的索引信息可以被返回至索引组件304,索引组件304建立了能够识别并且报告特定数据项或标签的来源以及相关的涉及特定数据项的上下文数据的可搜索的联合数据模型(例如,联合数据模型202)。
[0050] 搜索组件306可以被配置成向联合数据模型提交搜索查询,并且取回识别在整个工业系统中的所请求的数据项的位置的搜索结果。搜索组件306可以被配置成根据发现结果的各自的数据源的平台(例如,控制逻辑、HMI等)以及信息所位于的网络和/或物理位置(例如,生产区域)来对搜索结果进行分类。对于与网络内容(例如,厂商知识库网站)对应的搜索结果,搜索组件306可以生成有利于直接导航至网站内容的链接。
[0051] 监测组件308可以被配置成针对所定义的触发条件来监测被索引的数据项,并且响应于对触发条件的检测向联合数据模型提交自动查询。所定义的触发条件可以与表示涉及工业系统的性能或操作问题的条件(例如,停机条件、异常条件、非最优操作条件等)对应。通知组件310可以被配置成响应于通过监测组件308检测触发条件来向一个或更多个被选择的接收者发送通知。通知可以包括关于与触发条件对应的性能问题的附加的信息,其中附加的信息响应于触发基于由监测组件308提交的自动搜索查询从联合数据模型中被取回。
[0052] 设备接口组件312可以被配置成在多平台工业搜索系统302与具有授权的客户端设备之间交换信息以访问系统。例如,设备接口组件可以接收来自客户端设备的搜索查询以提交至联合数据模型,以及向客户端设备递送搜索结果和通知。
[0053] 应用启动组件314可以被配置成响应于对搜索结果的选择在客户端设备(或另一设备,例如独立维护工作站)上远程地启动适合的平台特定的应用。例如,响应于对识别引用特定数据标签的控制逻辑梯级的搜索结果的选择,应用启动组件314可以在客户端设备上或另一设备上发起打开控制逻辑观看和/或开发应用,从而使得在客户端设备处的用户可以观看所关注的梯级。类似地,对与引用特定数据标签的HMI画面对应的搜索结果的选择使应用启动组件314在客户端设备上打开HMI观看应用的实例,使得相关的HMI画面可以在客户端设备上被观看。在一些实施方式中,应用启动组件314可以通过响应于对搜索结果的用户选择向远程服务器发送命令并且从服务器接收后续命令来发起启动平台特定的应用,以启动适合的应用并且导航至适合的示图。在一些情形中,远程服务器可以可替换地向除了客户以外的另一计算平台发送命令以启动应用。
[0054] 一个或更多个处理器316可以参考所公开的系统和/或方法来执行本文中描述的功能中的一个或更多个。存储器318可以是存储用于参考所公开的系统和/或方法来执行本文中描述的功能的信息的计算机可执行指令和/或信息的计算机可读存储介质。
[0055] 图4是包括发现并且索引在整个工业环境中的多平台数据的多平台工业搜索系统302的一般性示例性架构的框图。图4中描绘的示例性工业环境包括一个或更多个工业控制器404、HMI 406、数据库408(例如,历史数据库、人员数据库、库存数据库等)以及设备文件储存库410。工业环境还可以包括图4中未描绘的其他工业数据源,包括但不限于产品库存跟踪系统、工作订单管理系统等。数据源404至410处于工厂和/或办公网络412上。在一些情形中,数据源404至410可以跨工厂设施中的多个网络分布:例如,通过防火墙设备或其他网络基础设施设备可通信地连接的工厂网络和办公网络。网络412还可以对外部网络414例如因特网(例如,经由防火墙416)进行访问。
[0056] 多平台工业搜索系统302(在该情形中也处于网络412上)发现并且索引在不同数据源404至410中以及在外部网络414上可利用的数据项。该系统还对数据项之间的关系进行索引。这可以包括:例如记录处于多个数据源中的相同数据项的实例(例如,记录与工业控制器404中的一个工业控制器内的特定温度测量对应的数据标签与用于在显示屏幕上显示该温度测量的HMI 406中的一个HMI内的数据标签对应),观察特定数据项的值是其他数据项的函数(例如,与梯形逻辑程序中的第一数据标签相关联的输出线圈是基于被用作梯级的输出条件的第二数据标签的值来设置的),或者其他这样的关系。以此方式,多平台工业搜索系统302通过发现在使用中的工业资产及其相关联的可利用的数据项来自动地对客户的工业环境进行清点。搜索系统还可以发现处于外部网络414上的数据源上的相关数据,包括但不限于设备或机器厂商文件、相关在线知识库文章、厂商产品发布信息等。
[0057] 搜索系统302记录索引信息(即,所发现的全厂范围内的数据项及其关系)作为联合数据模型202,联合数据模型202可以由客户端设备402远程地访问和搜索以定位期望的数据项。客户端设备402可以是能够远程访问搜索系统302的任何移动设备(例如,移动电话、膝上型计算机、平板计算机、可穿戴计算机等)或固定位置计算机(例如,台式计算机、服务器、操作者接口等)。在一些实施方式中,可以在网络服务器上实现多平台工业搜索系统302,使得客户端设备402能够经由互联网连接访问联合数据模型。还可以在由客户端设备
402经由无线网络连接可访问的联网的本地服务器上实现搜索系统302。在又另一种情况下,可以在云平台上实现搜索系统302,其中搜索系统作为基于云的服务执行。
[0058] 在一种示例性情况下,客户端设备402可以向搜索系统302提交针对特定数据项(例如,数据标签名称)的搜素请求,搜索系统302开始搜索联合数据模型202以有利于定位指定的数据项。然后,搜索系统302向识别所发现的所有的跨各种数据源404-410的数据项的位置的客户端设备402返回搜索结果的列表。系统可以根据发现结果的数据源(例如,数据平台)的类型对结果进行分类。在一些实施方式中,系统还可以根据在工厂环境(例如,生产线、工作间等)内的位置对结果进行分类。例如,结果可以包括识别引用期望的数据项的控制逻辑梯级的控制器逻辑结果的第一列表和识别显示期望的数据项的HMI画面的HMI画面结果的第二列表。当在客户端设备402处选择搜索结果时,搜索系统还可以远程地发起用于查看所选择的结果的合适的平台特定的应用(例如,HMI查看器、控制逻辑查看/开发环境、电子文件阅读器等)。
[0059] 图5为更详细地示出多平台工业搜索系统的组件的框图。在一些实施方式中,可以在处于工厂和/或办公室网络412上的服务器或其他计算设备上实现搜索系统。在其他实施方式中,可以在网络服务器上实现搜索系统302,使得客户端设备能够经由网络连接远程地搜索联合数据模型202。在进一步其他实施方式中,搜索系统可以被实现为如将在本文中更加详细讨论的在云平台上执行的基于云的服务。
[0060] 多平台工业搜索系统302包括索引组件304,索引组件304收集关于跨客户的工业环境分布的可利用的数据项的信息,并且生成代表所发现的数据的可搜索的统一视图的联合数据模型202。索引组件304被配置成在多个分散的平台(包括但不限于工业控制器404、HMI 406、数据库408、电子文件库、库存跟踪系统、工作订单管理系统等)上发现数据项。在一些实施方式中,索引组件304可以通过在网络412上部署发现代理来发现可利用的数据项。这些代理可以穿过网络412并且识别在整个工厂中使用的设备,以及数据项或标签、应用和与那些设备相关联的配置信息。因为给定的工业环境通常包括不同类型和厂商的设备的异类(heterogeneous)收集,并且这些设备可利用的数据可以包括许多不同的数据类型(例如,控制器标签、HMI标签、警报、通知、事件等),所以索引组件304可以管理和部署被配置为从指定类型的设备或数据平台(例如,控制器、HMI等)提取和分析信息的设备特定代理或平台特定代理。一些设备特定代理可以被配置为定位存储在特定设备类型上的应用项目文件(例如,在工业控制器上的配置和/或程序文件、在HMI上的画面配置文件等),并且基于对在这些项目文件中包含的数据的分析来提取关于设备的相关信息。通过利用设备特定代理和平台特定代理,索引组件304可以发现和索引遵从许多不同格式和平台的数据。
[0061] 为了在针对共同搜索(collective searching)的公共平台下统一这种分散的异类数据,设备指定代理可以将所收集的数据转换成通过索引组件304可理解的格式(例如,可扩展标记语言或其他格式),并且索引组件304可以利用与公共搜索平台兼容的公共索引格式来索引这种经转换的数据。然后,索引组件304对在联合数据模型202中所发现的数据的这种规范化表示进行编码。通过在这个统一的搜索平台下统一分散的数据,系统可以使得客户端设备能够搜索全厂范围内的数据而不用知道用于读取各种数据源平台(例如,工业控制器、HMI等)的规则或协议。
[0062] 除了经由工厂网络的爬行(crawling)来发现设备及其相关联的数据之外,索引组件304的一些实施方式还可以被配置成从支持自识别功能的设备接收上传的配置信息。在这样的情况下,支持对多平台工业搜索系统的自识别的工业设备(例如,马达驱动器、工业控制器、HMI终端等)可以被配置成当设备被部署时(例如,当设备被放置在工厂网络中时)自动发现搜索系统。例如,设备可以被预配置有工业搜索系统的识别信息,或可以被配置为针对可以呈现在网络上的兼容的工业搜索系统执行工厂网络的搜索,其中该设备向该工业搜索系统提供其身份和配置信息(例如,与搜索系统相关联的名称、机器标识符、云或网络地址等)。一旦发现搜索系统,设备则可以封装并且向索引组件304发送关于设备及其可利用的数据的相关信息,索引组件304整合所报告的在联合数据模型202中的数据项。通过设备递送的信息可以包括例如设备的身份、设备的类型和版本、可利用的数据项或标签、已知的上下文信息(例如,在工厂环境中的设备的位置)或者其他相关信息。
[0063] 索引组件304还可以发现并且记录在所发现的数据项之间的关系(明确的或者推断的两者)。在一些实施方式中,索引组件304可以通过对所发现的数据项添加标签并且基于这些标签建立搜索索引使得相关数据项共享公共的标签来记录这些关系。在一些情况下,这些标签可以被系统开发者明确定义使得索引组件确定哪个预先定义的标签应该被应用到新发现的数据项。索引组件304还可以基于上下文信息针对给定数据项自动生成标签,上下文信息包括但不限于与控制器标签相关联的梯级注释、在新发现的数据项与先前发现的数据项之间的得知的相关性(例如,得知泵5与罐1相关联,并且对泵5添加标签来表示与罐1相关联,或者根据他们操作所在的较大的系统来对罐1和泵5两者添加标签)或者发现的其他上下文信息。索引组件304可以相似地关联联合数据模型202中的添加标签的数据项,而不管他们是在哪个平台中被发现。例如,索引组件304可以分别地关联在工业控制器、HMI和历史数据库中所发现的公共或相关数据项。
[0064] 使用这些技术中的一些或全部,索引组件304可以自动建立客户的工业环境模型,包括在整个工厂使用的分散的和多平台设备,他们的相关联的可利用的数据项以及这些数据项之间的关系。这消除了对工厂人员要具有对整个工厂中所使用的工业资产的全面知识的需求,这是因为索引组件304可以自动清点给定的工业环境并且在联合数据模型202中记录所发现的设备和数据。
[0065] 一旦由索引组件304创建,则联合数据模型202可以通过监测组件308和搜索组件306来搜索。搜索组件306被配置为响应于通过客户端设备402提交的搜索查询502来搜索联合数据模型202。客户端设备402可以经由设备接口组件312利用多平台工业搜索系统302来交换数据,设备接口组件312可以包括有线或无线网络接口、近场通信接口或其他适合于搜索系统在其上实现的具体平台的这样的设备接口。在一些实施方式中,设备接口组件312可以被配置成在使得搜索查询能够通过客户端设备被提交之前验证客户端设备402访问搜索系统的授权。设备接口组件312可以使用密码验证、生物识别、交叉引用具有一套已知的授权设备的客户端设备的标识符或其他这样的验证技术来认证客户端设备或其所有者。
[0066] 在一些实施方式中,设备接口组件312可以被配置为当客户端设备请求访问搜索系统302时向客户端设备402提供接口显示器或控制面板。接口显示器可以包括使得客户端设备402的用户能够将搜索查询502人工地输入搜索系统302并且向搜索系统302提交搜索查询502的接口部件。例如,显示器可以使得用户能够输入密码、术语或短语作为搜索标准。示例性搜索术语可以包括指定设备或机器的标识符、工厂内的生产区的名称、产品名称或代码、员工姓名或其他这样的标准。除了人工地输入搜索标准之外,设备接口组件312的一些实施方式可以被配置为转换贴在设备或机器上的条形码或快速响应(QR)码。例如,用户可以使用客户端设备402扫描或拍摄附接到设备、机器或产品的条形码或QR码(例如,在生产过程中贴在工件上的针式压印(pin-stamped)或激光蚀刻的条形码),其中条形码包含关于相关联的组件的识别信息。然后,客户端设备402可以向设备接口组件312提交从条形码提取的识别信息作为搜索标准。在又另一示例中,客户端设备402可以经由近场通信(NFC)直接从设备提取关于工业设备或其相关联的处理的信息并且向设备接口组件312提交所提取的信息。该所提取的信息可以包括但不限于设备标识符、从保持在工业设备上的状态字读取的设备状态信息、从警报寄存器提取的警报数据、存储在一个或更多个数据标签上的生产统计,或其他这样的信息。
[0067] 一旦收到搜索查询502,设备接口组件312将所述请求路由至搜索组件306,搜索组件306针对与搜索查询相关的内容搜索联合数据模型202。搜索查询502可以包括例如数据标签名称(例如,罐1)、设备或机器属性、设备供应商、工业环境(例如,工作间或生产线)的特定区域的名称、产品名称或标识符或者其他这样的搜索标准。搜索组件306针对通过搜索查询502识别的搜索标准来搜索联合数据模型202,识别与搜索标准对应的数据项并且经由设备接口组件312向客户端设备返回搜索结果504的列表。因为搜索结果504可以与在整个工厂环境(例如,工业控制器、HMI、设备文件储存库等)中的多个不同的平台上发现的数据项对应,所以设备接口组件根据发现结果的平台、在工厂环境(例如,生产区、工作间等)内的结果的位置或其他分类标准对结果进行分类。
[0068] 简要地转向图6,示出了可以由多平台工业搜索系统302递送的示例性搜索结果画面602。在该示例中,已经向系统提交了针对名为罐1的标签的搜索。通过在搜索窗口604中输入标签名并且操作搜索按钮612来发起该搜索。响应于查询,搜索组件306识别记录在联合数据模型202中的罐1的所有实例,这代表在整个工厂中名为罐1的数据项的所有已知的位置或对在整个工厂中名为罐1的数据项的引用。在该示例中,发现了12个实例——在控制器逻辑内引用的罐1的五个实例和在一个或更多个HMI应用(可视化平台)上对罐1的六个引用。这些结果在两个可收起的结果列表——控制器逻辑引用列表和可视化引用列表——之间被分开。
[0069] 如图7所示,对控制器逻辑引用列表头部606的选择扩展控制器逻辑引用结果704的列表并且使控制器逻辑引用结果704的列表是可见的。控制器逻辑引用结果704的列表中的每项标识引用罐1数据标签的控制逻辑梯级。在该示例中,每个结果标识控制器(例如,IFT_Demo_10),例程(例如,“警报”),以及引用标签的梯级(例如,“梯级13”)。每个结果还标识引用的附加上下文,例如与罐1引用相关联的逻辑元件的类型(例如,正常打开的接触器,正常关闭的接触器,输出线圈,GRT功能块等)。在一些实施方式中,控制器逻辑引用结果704中的每项可以包括特定梯级在其图形的形式中嵌入的图像,包括在源逻辑程序中发现的梯级注释,以提供关于用户选择之前的结果的附加信息和上下文。
[0070] 每个结果还包括“启动程序”按钮702。对“启动程序”按钮702的选择使搜索系统启动适当的程序或应用,用于在客户端设备上观看在上下文中所选择的结果。在本示例中,对与控制器逻辑引用结果中的一个对应的“启动程序”按钮702的选择使搜索系统启动客户端设备上的控制器逻辑查看和/或开发环境,如图8所示。搜索系统还导航至控制器逻辑内的与所选择的搜索结果对应的位置。也就是说,在启动控制器逻辑应用802之后,系统导航至特定控制器程序、例程和与所选择的罐1的实例对应的梯级号。控制器逻辑应用802在客户端设备上提供所选择的逻辑程序的运行时视图,包括实时梯级状态和标签数据值。在一些实施方式中,可以通过搜索系统302将用于使控制器逻辑的运行时呈现形成动画的实时数据路由至客户端设备。在这样的实施方式中,搜索系统可以建立客户端设备402和所选择的工业控制器之间的通信链路,使得从控制器的数据表中读取的实时数据被递送至客户端设备402,以驱动控制器逻辑的运行时呈现。
[0071] 如图9所示,对可视化引用列表头部608的选择扩展可视化结果列表902并且使可视化结果列表902是可见的。与控制器逻辑引用结果704的列表相似,可视化结果列表902中的每个结果标识用于对应的罐1引用的HMI位置。特别地,每个结果标识引用罐1数据标签的HMI应用和接口画面。在一些实施方式中,可视化结果列表中的每项可以包括对应的HMI画面的缩略图以提供上下文。对靠近可视化引用结果中的一个可视化引用结果的“启动程序”按钮904的选择使得搜索系统启动客户端设备上的适当的可视化程序,以查看所选择的HMI显示画面。图10示出了通过选择“启动程序”按钮904调用的示例性HMI画面1002。在该示例中,HMI画面1002包括用于罐1的图形1004,图形1004包括动画的罐水平图形、数字的罐水平指示器和用于罐的动画的排放阀。如上述的控制器逻辑应用,HMI画面1002提供在客户端设备上可视化的处理的实时运行时视图,其中,使用由搜索系统取回的并且递送至客户端设备的实时数据来驱动动画显示和数字显示。在此将更详细地讨论通过搜索系统进行的应用的启动。
[0072] 在一些实施方式中,应用启动组件314可以施加与启动应用和查看搜索结果有关的用户特定和/或角色特定的许可。例如,系统管理员可以指定具有适当授权以访问搜索系统的任何用户可以查看HMI画面,但仅某些预先指定的用户或用户角色(例如,维护角色,工程角色等)被允许通过搜索系统启动控制器逻辑应用。因此,当搜索系统接收到查看搜索结果的请求时,应用启动组件可以在确定与所选择的搜索结果相关联的应用是否可以在指定客户端设备上启动之前首先确定与所述请求的来源相关联的身份和/或角色(例如,基于用户在登录时所提供的验证信息)。在这方面,该系统可以包括以下工具,该工具使系统管理员能够定义一个或更多个用户角色,并且使应用或数据平台的每种类型与所定义的用户角色中的一个或更多个用户角色相关联,其中指定的角色与允许启动相关联的应用的角色对应。
[0073] 如上所述,搜索系统的一个或更多个实施方式也可以访问场外(off-premise)数据源,包括但不限于基于网络的内容(例如,厂商知识库或技术说明)。此外,搜索组件306的一些实施方式可以被配置成:将本地搜索结果(即,位于工厂设施内的数据源上的搜索结果)与基于网络的数据源上可利用的信息进行关联。例如,如果本地搜索结果涉及工业设备的特定模型,则搜索组件306可以搜索基于外部网络的数据源以获取有关该设备的附加信息(例如,知识库文章、在线文件、技术说明,关于设备的最新固件版本的信息等)。然后,搜索组件306可以呈现指向与适当的本地搜索结果相关联的这些外部的搜索结果的链接。
[0074] 在一个或更多个实施方式中,搜索组件306也可以被配置成:基于从其接收搜索查询的客户端设备402的当前位置来对搜索结果进行过滤。根据这样的实施方式,在响应于搜索查询确定搜索结果的集合时,搜索系统可以确定客户端设备402的位置(或客户端设备402的用户的位置;例如,使用由用户携带的位置跟踪标记),并且仅呈现总的搜索结果的被确定为与用户的当前位置有关的子集。例如,如果用户被确定为位于特定的生产线附近或特定工作间内,则搜索组件306可以识别搜索结果的与位于工厂设施的该部分内的工业设备或机器对应的子集。
[0075] 除了处理由用户经由客户端设备提交的搜索查询之外,多平台工业搜索系统的一些实施方式还可以支持自动动态搜索。现在重新返回到图5,多平台工业搜索系统302包括监测组件308,监测组件308被配置为监测工业系统的一个或更多个性能或操作的度量,以识别操作员或维护专家需要注意的问题。响应于性能或操作问题的检测,监测组件308可以执行联合数据模型202的自动搜索,以收集与所检测到的问题有关的搜索结果。然后,通知组件310可以向与被确定为最适合于解决该问题的所选择的工厂人员相关联的一个或更多个客户端设备递送所检测到的问题以及相关搜索结果的通知。
[0076] 在示例实施方式中,监测组件308可以根据所限定的监测规则506来监测工业系统508的所选择的数据项。监测规则506可以限定,例如,跨工业系统508分布的各种数据平台的哪些数据标签要被监测,以及指示性能问题的标准当被确定为真时将触发自动搜索和人员通知。监测规则506也可以限定响应于检测到的性能问题的每种类型哪些员工将被通知。
作为示例性标准,监测规则可以限定,当与数据标签Tank3Temp相关联的温度值超过限定的设定点值时,执行要在联合数据模型202上进行的针对Tank3Temp的自动搜索。监测规则还可以指定一个或更多个关键警报标签,当所述标签被确定为有效时,要求维修人员采取措施。规则还可以限定要搜索的一个或更多个其他相关数据标签,以便为这些问题提供附加上下文。规则还可以限定响应于问题的检测将搜索结果发送给其的一个或多个工厂员工。
规则可以明确地指定员工(例如,限定一个或更多个用户身份或用户特定的客户端设备),或者可以指定员工的类别(例如,用户角色或专业领域),使得与所限定的类别相关联的特定的工厂人员可以被识别和通知。
[0077] 当监测组件308确定——基于对所限定的数据项的监测——指示性能问题的标准已经满足时,监测组件生成搜索查询,所述搜索查询被设计成如由监测规则506所限定那样收集有关检测到的性能或操作问题的信息。这可以包括,例如,搜索联合数据模型202以获得其监测的值满足限定标准的一个或更多个数据标签或设备属性。搜索还可以包括查询被确定为与检测到的性能或操作问题有关的相关数据项,包括但不限于其他设备状态、遥测值,或可以对正在被搜索的数据标签或设备属性有影响的操作员输入。这些相关数据项可以由监测规则针对每个限定的性能问题来明确地定义,或者可以基于在联合数据模型202中限定的数据项之间的关系来动态识别。例如,当监测组件308响应于检测过大的罐3温度针对Tank3Temp执行自动搜索时,系统可以在控制器逻辑程序的梯级上定位对该数据标签的引用(直接引用)。然后,系统可以识别影响在其上发现有Tank3Temp引用的梯级的程序中的其他梯级和地址(间接引用)。监测组件308可以以迭代方式通过记录在联合数据模型202中的索引信息进行多次循环,直到发现了被确定为与性能和操作问题有关的所有这样的关系为止。
[0078] 当针对检测的性能或操作问题的所有相关搜索结果已被收集时,通知组件310识别要被通知所检测到的问题的一个或更多个员工。如上所述,系统可以基于监测规则定义来识别合适的接收者。在一些实施方式中,系统还可以基于当前上下文信息,包括但不限于每个潜在接收者的当前位置或可用性,来缩小合适的接收者列表。例如,搜索系统302可以通过跟踪每个用户的各自的客户端设备来确定每个潜在接收者的当前位置,以及仅将通知递送给在受影响的机器或装置的限定半径范围内的那些用户。搜索系统302还可以与单独的可用性跟踪系统进行接口连接,所述可用性跟踪系统基于由每个用户报告的工作进度表、当前工作活动或其他这样的信息来跟踪每个用户的当前可用性。
[0079] 在识别出所有符合条件的接收者的情况下,通知组件310然后将所检测到的问题的通知连同相关的搜索结果链接一起递送给与目标接收者相关联的所有客户端设备。以此方式,当检测到系统性能问题时,搜索系统立即提醒维护人员,并且提供使得维护人员经由他们的个人客户端设备能够立即开始诊断并且处理该问题的相关的上下文信息(链接到相关的HMI画面、控制器代码的各部分、设备文件等)。由于搜索系统可以启动HMI画面并且控制用户的客户端设备上的逻辑查看应用,所以系统提供了用于维护人员在无需物理上出现在受影响的机器、设备或工业系统的情况下,经由他们的客户端设备对维护问题进行远程诊断的装置。
[0080] 在一个或更多个实施方式中,多平台工业搜索系统302还可以与工作订单管理系统一起使用以协调维护人员之间的修理动作。图11是示出用于协调维护动作的一般性架构的框图。在一些实施方式中,工作订单管理系统1102可以是能够由搜索系统302访问的单独的工作者动作跟踪系统,以有利于选择合适的可用人员来通知新的所检测到的维护或性能问题。在其他实施方式中,工作订单管理系统1102可以与多平台工业搜索系统302集成在一起。
[0081] 工作订单管理系统1102可以基于每个员工的已知的工作进度表1112(例如,安排的工作班次、安排的休假日等)以及每个员工的当前工作者状态1114来跟踪工作者可用性。在一些情况下,可以基于由相应员工报告的当前动作来确定工作者状态1114。例如,当前参与调查特定工作间发生的停工期的维护人员可以将该动作报告为他们的当前状态(例如,经由他们的客户端设备)。在该动作完成时,维护人员随后可以报告表示处理其他问题的可用性的更新状态。工作者状态1114还可以通过工作订单管理系统1102自动更新。例如,响应于被分配给特定员工的新的工作订单,工作订单管理系统1102可以自动更新该员工的状态为“不可用”,直到工作订单被报告为已完成为止。工作订单管理系统1102还可以例如通过监测每个员工的个人客户端设备的位置、通过监测每个员工所佩戴的可跟踪标记或通过其他这样的手段来跟踪工作者位置1116。
[0082] 在图11所示的示例性架构中,如上所述,当多平台工业搜索系统302使用上述技术识别到工厂环境内的工业系统出现问题时,搜索系统识别能够处理所检测到的问题的有资格的人员的集合——工厂内的员工以及外部支持人员两者。有资格的人员的集合可以包括工厂员工(例如,操作员、维护人员、工程师等)或外部人员(例如,产品供应商、OEM、系统集成商等)中的一者或两者。搜索系统302然后向工作订单管理系统提交可用性检查1106,询问当前哪一个有资格的人员的集合可以来处理这一问题。作为响应,工作订单管理系统1102基于工作进度表1112和工作者状态1114确定每个被识别的人员的可用性,工作订单管理系统1102过滤掉基于他们已知的工作进度表和/或当前状态被确定为不可用的员工。系统1102还可以过滤掉基于工作者位置信息被确定为位于受影响的区域的限定半径之外的工作者。以此方式,搜索系统302将仅通知最接近需要调查的区域的可用人员。
[0083] 基于对工作者可用性的这种分析,工作订单管理系统1102可以向搜索系统302返回经过滤的可用人员1108的列表,然后搜索系统302可以将所检测到的问题的通知1110发送给与可用人员相关联的客户端设备。搜索系统302还可以向工作订单管理系统1102发送工作订单已被推送给所识别员工的确认,使得工作订单管理系统1102能够相应地更新这些人员的当前状态。以此方式,搜索系统302智能且自动地驱动工厂内的维护动作。在一些实施方式中,搜索系统302和/或工作订单管理系统1102可以基于所检测到的问题的性质、解决问题所需要的估计的步骤、完成对给定问题的修理的估计的时间等来安排维护和修理动作。通过对完成所检测到的问题的时间进行预测(从该问题的通知被递送到选定的工厂人员的时间开始测量),在工作班次期间检测到多个问题的情况下搜索系统302可以预先安排工作订单并且使工作订单形成队列。
[0084] 在一些实施方式中,搜索系统302(单独地或与工作订单管理系统1102结合)可以与基于图标的搜索结合,使得用户能够向维护人员的其他成员人工发送工作订单或通知。例如,当第一维护人员正在调查一种或更多种工业资产的性能或操作问题时,用户可以确定特定工业设备或机器需要来自维护人员的对该设备具有更专业技术的另一成员的关注。
使用通过设备接口组件312递送给用户的客户端设备的显示接口,第一维护人员可以选择图标来触发将工作订单发送给合适的专家。在一个或更多个实施方式中,搜索系统302可以基于专业的已知领域或相应的工厂员工的维护动作历史自动地选择工作订单的合适的接收者。搜索系统302还可以捆绑与动作维护问题(包括但不限于当首先检测到问题时通过监测组件308收集到的搜索结果)有关的附加信息,并且将这些信息包括在工作订单中。搜索系统302还可以捆绑有关需要援助的特定设备的信息。例如,第一维护人员可以选择代表请求援助的工业设备的图标。作为响应,搜索组件306可以发起联合数据模型202的搜索以识别与选定设备有关的多平台信息。这种捆绑信息可以被推送给接收者的个人设备,给接收者提供通知、需要关注的设备的位置两者,以及有关当前动作维护问题的相关信息。
[0085] 搜索系统302的一些实施方式还可以被配置为对针对相同维护问题一起工作的多个维护人员的动作进行协调。在示例情况下,多个员工可以处理由监测组件308发现并且报告的停工期问题。在这些实施方式中,搜索系统302可以包括能够被遵循以解决已知性能或操作问题的解决方案工作流程的知识库。因此,当搜索系统302向相应的维护人员递送所检测到的问题的通知时,通知可以包括用于处理该问题的选定工作流程。所述工作流程限定要被遵循以解决所述问题的步骤(例如,维护步骤、操作步骤、人工控制面板操作的顺序、相关信息等)的一个或更多个顺序。所述工作流程可以以动态更新的方式被显示在每个用户的客户端设备上,以使得当用户完成工作流程上的步骤时,搜索系统302可以更新每个客户端设备上的工作流程呈现以反映步骤的完成。在各种实施方式中,搜索系统302可以基于经由显示器接口从用户接收的人工表示或者通过监测在联合数据模型中索引的有关数据项的值(例如,设备或机器状态表示,遥测值、按钮输入、选择开关位置等)来确定工作流程步骤的完成。当确定已经完成工作流程中的特定步骤时,搜索系统302可以向每个客户端设备递送更新的工作流程以反映完成的步骤,并且将维护人员引导至修理过程中的后续步骤。
[0086] 在另一方面,搜索系统302的一个或更多个实施方式可以例如经由联合数据模型202通过监测有关数据项来监测工厂人员所采取的与解决所检测到的问题有关的措施。在维护操作期间由系统监测的事件可以包括但不限于:与控制面板的人工交互(例如,按钮状态、选择开关位置等)、HMI画面导航、机器或设备参数修改或其他这样的信息。搜索系统可以收集关于通过记录由维护人员提交的与问题相关的维护报告所执行的动作的附加信息。
搜索系统302然后可以以如果在未来某一时刻检测到相同维护问题则可以被重新呈现给工厂人员的格式来记录由工厂人员为处理该问题执行的动作。在一些实施方式中,如上所述,搜索系统302可以以工作流程的形式记录这些动作,所述工作流程可以被递送给客户端设备以通过修正处理引导用户。
[0087] 在一些实施方式中,当由于通过监测组件308所执行的动态搜索发现设备或收集工业资产的问题时,搜索系统302可以执行联合数据模型202的补充搜索以识别在工厂环境的其他地方使用的相似资产,并且将这些其他资产标志为处于相同问题的风险下。搜索系统302然后可以向选定的识别这些相似或相关资产的工厂人员递送补充通知。这些补充通知可以包括推荐的要对这些相似或相关资产执行以防止在工厂的其他地方发生该问题的预防性维护动作。在相关方面中,搜索系统302可以观察被实施以处理原始工业资产的问题的工作者动作(例如,经由联合数据模型202通过监测有关数据项、通过阅读由维护人员提交的关于该问题的维护报告等),并且基于这些观察生成推荐的预防性维护动作。可以由搜索系统302推荐的示例预防性维护动作可以包括例如,更换或重新配置设备、修改一个或更多个设备参数或者其他这样的维护动作。系统可以使用设备的知识或被执行来解决原有问题的维护步骤以调适将来的搜索结果,使得在搜索结果列表中越重要的信息呈现的越高。
[0088] 监测组件308还可以响应于检测到关于在工厂设施内使用的设备的相关新信息来跟踪对供应商知识库或网站(工厂外部)的变化或添加并且生成通知。例如,监测组件308可以检测到下述内容:供应商报告的已知在工厂内运行的设备(例如,电动机驱动器、工业控制器等)的新的硬件或软件版本的可用性、公布的描述设备的新发现的操作问题及用于解决该问题的推荐的修正措施的新的技术说明或者其他这样的信息。在响应时,搜索系统302可以向选定的被确定为最适合查看新信息的人员递送通知——包括指向新的信息源的链接。系统可以基于例如信息所属的特定设备、工厂内受影响的设备的位置(例如,生产区或工作间)或者其他相关的考虑来选择相关人员。例如,如果产品供应商报告特定型号的变频驱动器(VFD)的新发现的问题,那么系统可以基于供应商的报告问题的技术说明中所指出的推荐对策的类型来选择相关人员。如果对策仅需要修改配置设置变化,那么系统可以向能够实现变化的一个或更多个维护人员递送通知。可替换地,如果技术说明推荐完整的设备更换,那么系统可以向一个或更多个工厂工程师和/或本地供应商发送通知。
[0089] 由于搜索系统302可以监测跨多个不同平台的全厂范围的信息,所以系统可以通过监测由工厂人员维护的库存数据库来跟踪何时部件或备用设备被迁出库存。在一些实施方式中,搜索系统302还可以跟踪从库存所取得的部件在哪里被获取并使用。例如,搜索系统302可以通过监测库存数据库确定特定的更换电动机驱动器已迁出库存。数据库还可以包括要安装更换电动机驱动器的工作间或机器的记录,并且该信息可以通过搜索系统进行记录。随后,用户可以访问搜索系统302并且请求跟踪电动机驱动器的信息,或者指示搜索系统生成整个工厂部署的所有电动机驱动器及其当前位置的库存信息。
[0090] 如上文所指出,多平台工业搜索系统可以在用户的客户端设备上远程启动对于查看所选择的搜索结果必要的适当应用(例如,如图6至10中所示,响应于选择与搜索结果相关联的“启动应用”按钮)。图12A和图12B是示出了根据一个或更多个实施方式的在客户端设备上远程启动应用的框图。在该示例中,工业搜索系统302被实现在硬件平台(例如,网络服务器、独立应用等)上,在该硬件平台上安装有数个工业应用。这些应用可以包括但不限于:控制器程序开发应用1216(例如,梯形逻辑编辑软件)以及HMI查看器应用1218。当工业搜索系统302向客户端设备1202递送搜索结果的集合(例如,类似于图6、图7及图9中描绘的那些的列表)时,用户可以通过选择与所选择的结果相关联的“启动程序”按钮(或类似控制)来可选查看特定搜索结果,从而使客户端设备1202向搜索系统302发送启动请求1204。取决于所选择的结果的平台(例如,控制器逻辑引用、可视化画面等),搜索系统302可以在客户端设备1202上远程启动对于查看所选择的搜索结果所需的特定应用1206的实例。
[0091] 例如,如果用户选择与HMI画面上的引用对应的结果,则搜索系统302将在客户端设备1202上远程启动HMI查看器应用1218的实例、加载包含与所选择的结果对应的HMI画面的HMI应用以及导航至包含所关注的引用的画面。在一些实施方式中,搜索系统302可以在客户端设备1202上运行的浏览器应用1212上提供HMI查看器应用的网络兼容版本。类似地,如果用户选择与对控制器逻辑程序的梯级上的数据标签的引用对应的结果,则搜索系统302可以在客户端设备1202上远程启动控制器程序开发应用1216的实例。在一些实施方式中,搜索系统302可以将控制器程序开发应用实例化为远程节点,使得用户能够从客户端设备1202远程修改控制器编程。
[0092] 一旦在客户端设备1202上启动了适当应用,搜索系统302就可以使应用1214符合对于使用实时数据1208填充客户端侧应用必要的数据源。例如,搜索系统302可以发起至工业控制器1210的通信链路,并且从填充应用1214所需的数据标签取回实时数据1208(例如,以显示实时数据或驱动HMI画面上的图形动画、以提供控制器逻辑的运行时视图等)。其他数据源可以包括但不限于:电动机驱动器(例如,VFD)、摄像机(例如,视觉摄像机、2D条形码阅读器等)、仪器仪表和遥感设备,或者其他这样的数据源。
[0093] 尽管图12A和图12B描绘了应用1216和1218与工业搜索系统302处于同一服务器上,然而在一些实现方式中应用1216和1218可以处于不同服务器或设备上(例如,应用服务器、电子操作员接口设备等)。在这样的情况下,工业搜索系统302将或者经由与客户端设备1202的直接通信或者使用工业搜索系统服务器作为通道,通过访问应用服务器和指示服务器在客户端设备1202上远程启动适当应用,来响应启动请求1204。在一些实施方式中,搜索系统302(或分离的应用服务器)可以以交互网页(例如,HTML页面)的形式将应用递送至客户端设备,这有利于经由与网页的交互(例如,工业控制器、HMI终端等)来远程查看和对目标数据源上的数据的修改。在其他实施方式中,搜索系统302可以通过在客户端设备上发起远程桌面并且在远程桌面环境内启动应用来递送应用。
[0094] 在一些实施方式中,搜索系统302可以将应用递送至除发起启动请求的客户端设备或计算机以外的不同客户端设备或计算机(例如,桌上型计算机、膝上型计算机、工作站等)。图12C是示出了在不同客户端设备1220上启动应用1222的框图。该实现方式在客户端设备1202为无益于与被启动的特定应用的最优交互的小型移动设备的情况下可以为有用的。在这种情况下,搜索系统302可以被预配置成使特定类型的应用(例如,HMI应用、控制器逻辑应用等)与具体的识别的客户端设备相关联,以使得选择与应用相关联的搜索结果使工业搜索系统响应于启动请求1224的接收而在针对应用1222指定的设备1220上启动该应用。在一些实施方式中,选择目标设备可以根据应用类型和从其接收启动请求的用户或用户角色两者。
[0095] 图13是示出了用于远程启动工业应用的另一架构的框图。在该示例中,工业搜索系统302被实现在网络服务器上,并且分离的应用服务器1314托管(host)要被远程启动的工业应用(例如,控制器程序开发器1310、HMI应用1312、驱动软件、摄像机或仪器软件等)。当客户端设备1302(例如经由浏览器应用1316)向搜索系统302发送启动请求1304时,运行搜索系统302的网络服务器向应用服务器1314发送通过(passthrough)请求1306,请求所指示的应用。响应于接收该通过请求1306,应用服务器1314将所选择的应用1308发送至客户端设备1302,客户端设备1302在浏览器应用1316中启动应用。应用服务器1314可以将应用
1308直接发送至客户端设备1302,或者可以将应用1308发送至搜索系统302,搜索系统302使应用通过到达客户端设备1302。
[0096] 尽管图13描绘了仅单个应用服务器,然而一些实施方式可以包括多个服务器托管其自身的专用内容。例如,给定设施可以包括多个专用HMI设备,每个专用HMI设备托管其自身的可视化内容(例如,显示画面、动画、系统数据等)。当用户选择与HMI设备中的一个上的内容对应的搜索结果时,搜索系统302会将对应的启动请求重导向至适当HMI主机。
[0097] 图14是示出了用于远程启动工业应用的另一实现方式的框图。在该示例中,客户端设备1402预安装有HMI查看器应用1406和控制器程序开发器1408。客户端设备1402还存储针对HMI查看器应用1406和控制器程序开发器1408的应用文件(其他混杂类型的应用1418和相关联的应用文件1420也可以存储在客户端设备1402上,包括但不限于摄像机查看和配置软件、电动机驱动配置软件、仪器仪表软件等)。HMI应用文件1414可以包括例如与不同工业系统、机器、工作区等对应的不同HMI应用。每个HMI应用文件1414包含针对特定HMI应用的显示画面定义、图形布局定义、动画配置等。每个HMI应用文件可以被加载到局部位于客户端设备1402处的HMI查看器应用1406上,以有利于查看所定义的显示画面。逻辑应用文件1416对应于被下载到整个工厂的各个工业控制器的控制器程序。每个逻辑应用文件可以被加载到控制器程序开发器1408上以有利于查看和编辑所加载的控制器程序。
[0098] 在该示例中,工业搜索系统302被配置成在其适当查看上下文内远程启动所选择的应用文件。例如,在工业搜索系统302向客户端设备1402的浏览器应用1404递送了搜索结果的集合之后,用户可以(例如,如上文结合图6至图10描述的通过选择与结果相关联的“启动应用”控制)选择要被查看的特定搜索结果,从而使启动请求1410被发送至搜索系统302。响应于接收启动请求1410,工业搜索系统302向客户端设备1402发送启动指令1412,指示设备要启动哪个应用(HMI查看器应用1406或控制器程序开发器1408),以及哪个应用文件应当被加载以有利于查看所选择的搜索结果。启动指令1412还可以使所选择的应用导航至适当HMI画面或者与所选择的搜索结果对应的逻辑梯级。使用该架构,工业应用被局部地安装在每个用户的客户端设备上,并且由工业搜索系统302远程运行。
[0099] 如以上所指出,多平台工业搜索系统的一个或更多个实施方式可以实现在云平台上。图15是针对本文中描述的工业搜索系统的一般性基于云的实现方式的概念图。在该实现方式中,多平台工业搜索系统在云平台1502上作为基于云的服务1504执行,使得来自多个地理位置上不同的工业设施(例如,工业设施15061至1506N)的工业数据能够在用于共同搜索的公共联合数据模型下被索引。该基于云的实现方式还允许用户从基本上任何位置访问工业搜索服务1504。
[0100] 根据一个或更多个实施方式,预置型(on-premise)云代理设备1508可以从工业设备1510——或者从其他数据源收集数据,包括但不限于历史数据库、商业级系统等——并且使该数据对于搜索服务1504的索引组件304是可用的,该索引组件304将所收集的数据合并到云平台1502上的联合数据模型202。云平台1502可以是允许具有云能力的设备访问和使用工业搜索服务1504的任何基础设施。云平台1502可以是由具有因特网连接和适当授权以使用工业搜索服务1504的设备经由互联网可访问的公共云。在一些情况下,云平台1502可以由云提供商提供作为平台即服务(PaaS),并且工业搜索服务1504可以处于云平台1502上并且在云平台1502上作为基于云的服务来执行。在一些这样的配置中,对云平台1502和工业搜索服务1504的访问可以作为订阅服务由工业搜索服务1504的所有者提供给消费者。可替换地,云平台1502可以是企业内部操作的私有或半私有云,或者共享或共同的云环境。
示例性私有云可以包括托管工业搜索服务1504并且处于由防火墙保护的共同的网络上的一组服务器。
[0101] 如果云平台1502是基于网络的云,则在各个工业设施1506处的云代理设备1508可以直接或经由互联网与工业搜索服务1504进行交互。在示例性配置中,工业设备1510通过物理或无线局域网或者无线电链路连接至预置型云代理设备1508。在另一示例性配置中,工业设备1510可以使用集成型云代理直接访问云平台1502。
[0102] 图16是更详细的示出了基于云的工业搜索服务的框图。如先前示例中所描述的那样,索引组件304生成联合数据模型202,其从预置型工业设备1510索引多平台工业数据和文档并使其相关。在该基于云的实现方式中,索引组件304可以经由云代理设备1508与工业设备1510进行交互。在一些实施方式中,云代理设备1508可以监测工业设备1510及其相关联的数据项、在整个工业设施中索引所发现的数据项以及将该索引的信息呈现给索引组件304,索引组件304将索引的信息合并在联合数据模型202中。在其他实施方式中,云代理设备1508可以用作索引组件304与工厂车间上的工业设备1510之间的网关,使得索引组件能够以与上文结合图5所描述的方式类似的方式来发现多平台数据项并使其相关并对其进行索引。
[0103] 监测组件308、通知组件310和搜索组件306执行与以上结合图5所描述的功能类似的功能。在这种基于云的实现方式中,设备接口组件312经由云平台与授权的客户端设备1604交换数据。这可以包括从客户端设备1604接收用于访问工业搜索服务1504以及用于验证客户端设备1604被授权访问和使用该服务(例如,使用密码验证,生物特征验证等)的请求。可以位于工厂设施内部或外部的授权的客户端设备1604可以提交搜索查询至如先前示例中描述的基于云的工业搜索服务1504并且从该工业搜索服务1504接收搜索结果1602。此外,监测组件308可以根据所限定的监测规则(类似于图5的监测规则506)来监测工业设备
1510上的一个或更多个数据项,响应于确定所监测的数据满足由监测规则所限定的标准而启动所限定的自动搜索,并且指示通知组件310向指定的工厂人员递送合适的通知,如在先前示例中描述的那样。由于通知服务在云平台上实现,因此系统可以将这些通知递送给任何位置处的能够访问因特网(例如,有线、无线、蜂窝等)的客户端设备。
[0104] 在一些实施方式中,工业搜索系统使得用户能够对由设备接口组件312递送到他们的客户端设备的主画面进行自定义。图17是可以由工业搜索系统302提供给客户端设备的示例性主接口画面1702。主接口画面1702包括用于输入并提交对工业搜索系统的人工搜索的搜索窗口1706。该系统使得用户能够将先前提交的搜索保存在“保存的搜索”列表1710中,使得用户能够重新提交搜索而不需要在搜索窗口1706中人工重新输入搜索关键字。用户还可以配置自己的主接口画面1702来显示该用户的工业系统的选定方面的信息概要1708。这些概要可以被配置成按字母顺序的数据显示、图形化的状态指示器、柱状图、饼状图、线性图或其他合适的呈现格式。在一些实施方式中,主接口画面1702还可以包含具有有效的数据动画的选定HMI画面或控制器逻辑画面。由于工业搜索系统将接口显示提供给具有不同大小和显示长宽比的不同类型的客户端设备,因此系统可以对画面内容进行自动缩放和布置以适合在其上显示画面的客户端设备的显示参数。例如,主接口画面1702可以适于在膝上型计算机或平板电脑上显示。如果用户在移动电话上调用主接口画面,则搜索系统可以递送符合该装置的大小和长宽比的重新格式化的显示画面1704。
[0105] 图18至图20示出了根据本主题申请的一个或更多个实施方式的各种方法。虽然为了简化说明而将本文中示出的一个或更多个方法示出并描述为一系列动作,但是应当理解并认识到,本主题发明并不受到这些动作的次序的限制,因为一些动作可能据此按照与本文中示出并描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域普通技术人员将理解并认识到,可以可替换地将方法表示为例如状态图中的一系列相互关联的状态或事件。此外,并不是示出的所有动作都需要以实现根据本发明的方法。另外,当不同的实体执行方法中的不同部分时,可以用一个或更多个交互图来表示根据本主题公开的方法论或方法。此外,所公开的示例性方法中的两个或更多个方法可以彼此组合来实现,以实现本文中描述的一个或更多个特征或优点。
[0106] 图18示出了用于索引和搜索多平台工业数据示例性方法1800。首先,在1802处,收集关于跨工业环境的多个数据平台分布的可利用的数据项的信息。例如,该信息可以由实现在独立的服务器、网络服务器、云平台上或具有其他实现方式的工业搜索系统的索引组件来收集。在一些实施方式中,该信息可以使用对工厂网络进行导航并且收集与使用中的设备和系统(例如,工业控制器、HMI、电动机驱动器、文档储存库、库存跟踪系统等)相关的信息以及与每个设备或系统相关联的可利用的数据的爬行器来收集。索引组件还可以识别跨各种设备和数据平台的数据项之间的相关性(例如,识别在控制逻辑程序的特定梯级上引用的数据标签也被引用到HMI的显示画面上)。
[0107] 在1804处,在联合数据模型中对在步骤1802处发现的数据项(以及数据项之间的关系)进行索引。在1806处,接收指定所关注的数据项的搜索查询。搜索查询可以指定例如特定的数据标签、设备名称、机器名称或其他这样的搜索标准。在1808处,搜索联合数据模型以在工厂环境内的至少两个不同的数据平台上发现所指定的数据项(和相关数据项)的位置。例如,基于对联合数据模型的搜索,可以发现所指定的数据项被引用在工业控制器(第一平台)上执行的控制器逻辑程序的一个或更多个梯级上,以及被引用在HMI(第二平台)的一个或更多个显示画面上。
[0108] 在1810处,基于在步骤1808处执行的搜索的结果来识别附加的相关数据项。例如,搜索系统可以基于对搜索结果的检查来确定影响所关注的数据项的一个或更多个数据标签(例如,其他设备的状态、测量的涉及其他设备的过程变量等)。搜索系统可以以迭代的方式对新发现的相关数据项执行附加搜索,直到满足所限定的完成标准为止。因此,在1812处,做出关于是否已完成迭代搜索的确定(例如,基于对完成标准的满足度)。如果未完成迭代搜索,则方法返回至步骤1810,并且使用指定的数据项和附加的相关数据项作为搜索标准来对联合数据模型执行另一搜索。以这种方式,搜索系统以迭代方式通过记录在联合数据模型中的索引的信息进行循环,直到发现被确定为与指定的数据项相关的所有关系为止。
[0109] 如果在步骤1812处确定迭代搜索完成,则在步骤1814处返回在1808处发现的位置的列表,其中,该列表根据数据平台被分类。例如,该列表可以包括与引用数据项(和相关数据项)的控制器逻辑梯级对应的搜索结果的第一列表,以及与引用数据项的HMI画面对应的第二列表。
[0110] 图19示出用于动态监测工业资产并且向工厂人员通知性能问题的示例性方法1900。首先,在1902处,在联合数据模型中对多平台工业数据进行索引。如先前的示例所述,多平台数据可以由工业搜索系统的索引组件自动地发现。索引组件可以对不同数据源(例如,工业控制器、HMI、库存跟踪系统、设备文档储存库等)中发现的数据项以及所述数据项之间所发现的关系进行索引。
[0111] 在1904处,按照一条或更多条监测规则对所索引的数据的指定项进行监测。监测规则可以指示与各种工业资产相关的性能问题,使得当一个或更多个数据项值满足由监测规则所限定的标准时能够发现可能的性能问题。在1906处,基于在步骤1904处执行的监测来做出关于是否满足一条或更多条监测标准的确定。如果没有监测规则被满足,则方法返回至步骤1904,并且继续进行监测。
[0112] 可替换地,如果在步骤1906中确定满足一条或更多条监测规则,则方法转移到步骤1908,在步骤1908处,基于由一条或更多条监测规则指定的搜索标准来对联合数据模型进行搜索。在这方面,当满足特定监测规则时,每个监测规则可以限定要提交到联合数据模型的一个或更多个搜索标准。搜索标准可以被设计成收集关于由规则监测的特定性能问题的相关信息。在一些实施方式中,搜索系统可以对数据模型执行迭代搜索,以获得附加的相关信息,如以上结合方法1800(参见图18)如描述的那样。
[0113] 在1910处,取回指向包含或引用由搜索标准指定的数据项的多平台工业数据源的链接的列表。该列表可以包括指向引用在搜索标准中指定的数据项的控制器逻辑梯级、引用该数据项的HMI画面、包括所识别的遇到性能问题的工业资产的设备的文档或其他这样的数据源的链接。在1912处,将性能问题的通知发送到与指定的工厂人员相关联的一个或更多个客户端设备。该通知可以包括通知性能问题的警报以及在步骤1910处取回的链接的列表,上述二者提供该性能问题的相关上下文,并使得被通知的人员能够开始远程诊断该问题。
[0114] 图20示出了用于在客户端设备上远程启动工业应用以有利于查看多平台搜索结果的示例性方法1900。首先,在2002处,接收指定工业数据项的搜索查询。数据项可以位于工业环境内的一个或更多个不同的数据源上。搜索查询可以从客户端设备接收或者可以响应于检测到所限定的搜索触发而自动生成(例如,指示与工业自动化系统相关的性能问题的触发)。在2004处,对联合数据模型进行搜索以发现在整个工业环境的一个或更多个数据源(例如,工业控制器、HMI等)上指定的数据项的位置。在2006处,将数据项的位置的列表递送至客户端设备。该列表可以包括根据数据平台(例如,控制器逻辑引用、HMI画面引用等)被分类的链接。
[0115] 在2008处,从客户端设备接收对查看列表中的所选择的链接的请求。在2010处,基于与所选择的链接对应的数据平台来确定查看所选择的链接所需要的应用。例如,如果客户端设备处的用户选择控制器逻辑引用,则确定查看该链接需要控制逻辑开发应用。类似地,选择HMI引用导致HMI查看应用要被选择。在一些实施方式中,查看所选择的链接的请求可以包括指示应该如何显示所选择的结果的用户选择(例如,应该启动哪个应用、显示偏好等)。
[0116] 在2012处,在客户端设备上(或在不同的客户端设备或服务器设备上)远程启动在步骤2010处选择的应用,并且指示应用来导航到对该数据项的引用。例如,对于控制器逻辑引用,可以在客户端设备上远程启动控制器逻辑开发应用,可以在应用内加载与引用数据项的控制器逻辑对应的应用文件,并且指示该应用来导航到引用数据项的特定梯级。类似地,对于HMI画面引用,可以在客户端设备上启动HMI查看器并且加载适当的HMI应用,然后指示该HMI应用来导航到包含对数据项的引用的显示画面。在一些实施方式中,可以在客户端设备的浏览器应用中启动应用的网页版本。此外,在各种实施方式中,对应用的远程启动可以包括指示启动客户端设备上预先安装的应用的实例,或者启动存储在搜索系统上的应用的远程实例。在一些实施方式中,可以指示在与客户端设备不同的其他设备上启动应用(例如,在服务器上、在不同的客户端设备上等)。
[0117] 本文中所描述的实施方式、系统和组件,以及其中可以实施主题说明书中阐述的各个方面的工业控制系统和工业自动化环境可以包括:能够跨网络交互的计算机组件或者网络组件,例如服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、无线组件、控制组件等。计算机和服务器包括一个或更多个处理器——采用电信号的执行逻辑运算的电子集成电路——一个或更多个处理器被配置成执行存储在下述介质中的指令:例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移动存储器设备,可移动存储器设备可以包括存储棒、存储卡、闪存驱动器、外部硬盘驱动器等。
[0118] 类似地,在本文中使用的术语PLC或者自动化控制器可以包括可以跨多个组件、系统和/或网络共享的功能。作为示例,一个或更多个PLC或者自动化控制器可以跨网络与多个网络设备进行通信与合作。这可以基本上包括经由网络(包括控制网络、自动化网络和/或公共网络)通信的任何类型的控制装置、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器、仪器以及人机接口(HMI)。PLC或者自动化控制器还可以与下述各种其他设备通信或者控制下述各种其他设备:例如包括模拟、数字的标准I/O模块或安全额定的I/O模块、编程/智能I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
[0119] 网络可以包括公共网络(例如因特网、内联网)以及自动化网络,例如包括设备网(DeviceNet)、控制网(ControlNet)以及以太网/IP在内的控制与信息协议(CIP)网络。其他网络包括以太网、DH/DH+、远程I/O、现场总线、Modbus、过程现场总线、CAN、无线网络、串行协议、近场通信(NFC)、蓝牙等。此外,网络设备可以包括各种可能性(硬件组件和/或软件组件)。这些包括下述组件:例如具有虚拟局域网(VLAN)性能的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网络(VPN)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备。
[0120] 为了提供所公开主题的各个方面的背景,图21和图22以及下面的讨论意为提供可以实现所公开主题的各个方面的适当的环境的简要、概括的描述。
[0121] 参照图21,用于实现上述主题的各个方面的示例性环境2110包括计算机2112。计算机2112包括:处理单元2114、系统存储器2116以及系统总线2118。系统总线2118将系统组件(包括但不限于系统存储器2116)耦接至处理单元2114。处理单元2114可以是各种可利用的处理器中的任一种。还可以将多核微处理器和其他多处理器架构用作处理单元2114。
[0122] 系统总线2118可以是包括存储器总线或存储器控制器、外围总线或外部总线、和/或局部总线的若干类型的一个或更多个总线结构中的任意一类,局部总线使用以下任意多种可利用总线架构,总线架构包括但不限于8位总线、工业标准架构(ISA)、微通道架构(MSA)、扩展型ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。
[0123] 系统存储器2116包括易失性存储器2120和非易失性存储器2122。包含基本例程以在计算机2112内的元件之间传输信息(例如在启动期间)的基本输入/输出系统(BIOS)存储在非易失性存储器2122中。以说明性而非限制性的方式,非易失性存储器2122可以包括:只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除PROM(EEPROM)或者闪存。易失性存储器2120包括随机存取存储器(RAM),RAM用作外部缓存存储器。以说明性而非限制性的方式,RAM可以以下述多种形式获得:例如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。
[0124] 计算机2112还包括可移除/不可移除计算机存储介质、易失性/非易失性计算机存储介质。图21示出了例如盘存储器2124。盘存储器2124包括但不限于下述设备:如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或者存储棒。此外,盘存储器2124可以单独地包括存储介质或者可以与下述其他存储介质组合地包括存储介质,所述其他存储介质包括但不限于:光盘驱动器例如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或者数字通用盘ROM驱动器(DVD-ROM)。为了有利于盘存储器2124连接至系统总线2118,通常使用可移除或者不可移除接口例如接口2126。
[0125] 要理解的是,图21描述了用作在适当的工作环境2110中描述的用户与基本计算机资源之间的媒介的软件。这样的软件包括操作系统2128。操作系统2128可以存储在盘存储器2124上,操作系统2128用于控制和分配计算机2112的资源。系统应用2130由操作系统2128通过在系统存储器2116中或者盘存储器2124上存储的程序模块2132和程序数据2234来利用资源的管理。要理解的是,本公开内容的一个或更多个实施方式可以用各种操作系统或者操作系统的组合来实现。
[0126] 用户通过一个或更多个输入设备2136将命令或者信息输入计算机2112。输入设备2136包括但不限于:指示设备例如鼠标、轨迹球、笔(stylus)、触摸板、键盘、麦克风、控制杆、游戏垫、碟式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等。这些和其他输入设备经由系统总线2118通过一个或更多个接口端口2138连接至处理单元2114。
一个或更多个接口端口2138包括:例如串行端口、并行端口、游戏端口以及通用串行总线(USB)。一个或更多个输出设备2140使用与一个或更多个输入设备2136的端口类型相同的端口中的一些端口。因此,例如USB端口可以用于向计算机2112提供输入,以及将信息从计算机2112输出至输出设备2140。提供输出适配器2142以说明在其他输出设备2140中存在需要特别的适配器的一些输出设备2140,如监视器、扬声器以及打印机。以说明而非限制性的方式,输出适配器2142包括在输出设备2140与系统总线2118之间提供连接的方式的显卡与声卡。要注意的是,其他设备和/或设备的系统提供输入和输出性能二者,例如一个或更多个远程计算机2144。
[0127] 计算机2112可以使用至一个或更多个远程计算机(例如一个或更多个远程计算机2144)的逻辑连接在联网环境中操作。一个或更多个远程计算机2144可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的装置、对等设备或其他共用网络节点等,并且一个或更多个远程计算机2144通常包括相对于计算机2112描述的元件中的许多元件或所有元件。为了简要的目的,仅与一个或更多个远程计算机2144一起示出了存储器储存设备2246。一个或更多个远程计算机2144通过网络接口2148在逻辑上连接至2112,并且然后经由通信连接2150被物理地连接。网络接口2148包括通信网络,例如局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网/IEEE 
802.3、令牌环/IEEE 802.5等。WAN技术包括但不限于:点对点链路、如综合服务数字网络(ISDN)及其变化形式的电路交换网络、分组交换网络以及数字用户线(DSL)。网络接口2148还可以包括近场通信(NFC)或者蓝牙通信。
[0128] 一个或更多个通信连接2150指的是用于将网络接口2148连接至系统总线2118的硬件/软件。尽管为了说明的清楚性,通信连接2150示出为在计算机2112的内部,但是通信连接2150也可以在计算机2112的外部。仅为了示例性目的,对于至网络接口2148的连接来说需要的硬件/软件包括内部技术和外部技术,例如包括常规电话级调制解调器的调制解调器、线缆调制解调器与DSL调制解调器、ISDN适配器以及以太网卡。
[0129] 图22是采样计算环境2200的示意性框图,所公开的主题可以与采样计算环境2200进行交互。采样计算环境2200包括一个或更多个客户端2202。一个或更多个客户端2202可以是硬件和/或软件(例如,线程、进程、计算设备)。采样计算环境2200还包括一个或更多个服务器2204。一个或更多个服务器2204也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器2204可以通过采用如本文中描述的一个或更多个实施方式来保持(house)线程以执行转换。客户端2202与服务器2204之间的一个可能的通信可以具有适于在两个或更多个计算机进程之间传输的数据包的形式。采样计算环境2200包括通信架构2206,通信架构2206可以被采用来有利于一个或更多个客户端2202与一个或更多个服务器
2204之间的通信。一个或更多个客户端2202可操作地连接至一个或更多个客户端数据存储器2208,一个或更多个客户端数据存储器2208可以用来存储一个或更多个客户端2202本地的信息。类似地,一个或更多个服务器2204可操作地连接至一个或更多个服务器数据存储器2210,一个或更多个服务器数据存储器2210可以用来存储服务器2204本地的信息。
[0130] 上面已经描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题的目的而描述组件或方法的每个可能的组合,但是本领域的普通技术人员可以理解,本发明的许多进一步的组合和排列是可能的。因此,所公开的主题意为包含落入所附权利要求书的精神和范围内的所有这样的改变、修改以及变化。
[0131] 特别地并且对于由上述的组件、设备、电路、系统等执行的各种功能,除非另外地指明,用于描述这样的组件的术语(包括对“装置”的引用)是意为与执行所述组件的特定功能(例如,功能性等同)的任何组件相对应,即使在结构上没有与所公开的结构等同,所描述的组件也执行在本文中所公开主题的示例性方面示出的功能。鉴于此,还要理解的是,所公开的主题包括系统以及具有计算机可执行指令以执行所公开主题的各种方法的动作和/或事件的计算机可读介质。
[0132] 此外,尽管可能只关于若干实现方式中的一种实现方式公开了所公开的主题的具体特征,然而,在可以有利于给定或具体应用或者被给定或具体应用所需要的情况下,这样的特征可以与其他实现方式的一个或更多个其他特征相组合。此外,就术语“包括(includes)”、“包括(including)”及其变化形式用于具体实施方式或者权利要求书中来说,这些术语以与术语“包括(comprising)”类似的方式意为包括在内。
[0133] 在本申请中,词语“示例性”用来表示用作示例、实例或说明。本文中描述的作为“示例性”的任何方面或设计不必认为是优于其他方面或设计的优选的或者最好的。更确切地说,词语示例性的使用是意为以具体的方式来表示构思。
[0134] 本文中所描述的各种方面和特征可以被实现为方法、装置或使用标准编程和/或工程技术的制造的物品。本文中所使用的术语“制造的物品”意在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条……)、光盘(例如,致密盘(CD)、数字多功能盘(DVD)……)、智能卡和闪存设备(例如,卡、条、键驱动器……)。