制造操作信息的会话接口代理的制作方法

文档序号:13097389阅读:172来源:国知局
制造操作信息的会话接口代理的制作方法与工艺

本文中所公开的主题总体涉及工业自动化系统,并且例如涉及工业环境中的数据访问和检索。



背景技术:

这些不同的信息源遍布在工厂环境内的许多位置和系统上。当诊断问题或确定机器或自动化系统的状态时,维护人员通常需要通常在使用特定于被搜索的相应数据源的若干不同的软件包的情况下单独搜索若干这些信息源。此外,搜索与特定设备或机器有关的信息通常需要对整个工业系统的广泛的了解,以便定位要搜索的数据源(例如工业控制器、hmi等)并且标识相关的操作者屏幕或控制程序例程。针对解决系统停机问题或确定自动化系统或设备的健康状况而单独搜索这些数据源中的每一个可能会延迟对维护问题的校正,从而引起收入损失和调度问题。由于用于向用户呈现数据的应用(例如hmi显示器、工业控制器程序开发和监测软件等)的非直观性质,定位和获取相关系统数据也变得更加困难。这些应用可能不容易被尚未受过应用的功能导航训练的用户所理解。

此外,希望查看关于特定自动化系统的信息的用户通常必须位于自动化系统附近,以便访问与该系统相关联的本地数据源。例如,用于控制在批量加工时使用的特定罐的操作的控制编程(例如梯形逻辑、顺序功能图等)可以在工业控制器118中的一个上执行,而可以在hmi114中的一个上查看用于观看罐的当前状态和相关设定值(例如液位设定值、最大流量设定值等)的图形表示的操作者接口屏幕。操作者可以在相关的hmi终端上查看针对所关注的罐的操作者接口屏幕(参见操作者122),或者操作者可以将个人计算设备(例如膝上型计算机)连接至工业控制器以查看用于控制罐的操作的控制编程(参见操作者124)。在大多数情况下,操作者必须与hmi终端或工业控制器物理接近,以便查看相关自动化系统的信息。在需要信息的工业系统位于人类操作者无法容易地进入的远程环境例如石油钻井平台、某些废水设施、与采矿作业相关的自动化系统或其他这样的环境中的情况下,查看相关自动化系统的信息尤为困难。



技术实现要素:

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

在一个或更多个实施方式中,提供了一种用于与制造操作信息进行远程交互的系统,该系统包括:查询监测部件,其被配置成检测接收来自基于云的会话接口系统的简明语言查询消息,其中,简明语言查询消息源于与基于云的会话接口系统对接的即时消息应用程序;翻译部件,其被配置成基于对简明语言查询消息的分析来确定被简明语言查询消息请求的一项或更多项制造操作信息;查询部件,其被配置成针对一项或更多项制造操作信息来查询一个或更多个工业设备数据源;以及答复发布部件,其被配置成基于一项或更多项制造操作信息来制定简明语言答复消息并将简明语言答复消息发送至基于云的会话接口系统。

此外,一个或更多个实施方式提供了一种用于远程访问工业系统的状态和操作信息的方法,该方法包括:由包括至少一个处理器的系统来检测接收来自基于云的会话接口系统的简明语言查询消息,其中,由基于云的会话接口系统从即时消息应用程序中对简明语言查询消息进行路由;基于对简明语言查询消息的分析由所述系统来确定由简明语言查询消息请求的工业系统的状态或工业系统的操作统计数据中的至少一个;基于所述确定由所述系统来从一个或更多个工业数据源中检索状态或操作统计数据中的至少一个;基于从一个或更多个工业数据源中检索出的状态或操作统计数据中的至少一个由所述系统来生成简明语言答复消息;以及由所述系统将简明语言答复消息发送至基于云的会话接口系统。

此外,根据一个或更多个实施方式,提供了一种存储有指令的非暂态计算机可读介质,该指令响应于执行使所述系统执行操作,所述操作包括:确定已经从基于云的会话接口系统接收到简明语言查询消息,其中,由基于云的会话接口系统从即时消息应用程序中对简明语言查询消息进行路由;分析简明语言查询消息以确定由简明语言查询消息请求的工业系统的状态或工业系统的操作统计数据中的至少一个;基于所述确定来从与工业系统相关联的一个或更多个工业数据源中检索状态或操作统计数据中的至少一个;基于从一个或更多个工业数据源中检索出的状态或操作统计数据中的至少一个来生成简明语言答复消息;以及将简明语言答复消息发送至基于云的会话接口系统。

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

附图说明

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

图2是示例基于云的会话接口系统的框图。

图3是能够与基于云的系统进行交互的示例预置会话接口代理设备的框图。

图4a和图4b是示出允许会话消息在用户与工业数据源之间进行交换的一般性高级架构的图。

图5是示例会话消息交换处理的图。

图6是示出可以通过基于云的会话接口系统和预置会话接口代理设备的一个或更多个实施方式实现的示例服务的图。

图7是示出预置会话接口代理经由工厂网络直接从工业设备中检索数据的配置的图。

图8是示出允许团队成员与预置会话接口代理设备交换会话消息的一般性聊天架构的图。

图9是与基于云的会话接口系统进行交互以便于在团队成员与预置代理设备之间进行消息交换的示例聊天接口。

图10是描绘监测设备状态并在设备状态满足准则时生成通知消息的预置代理设备的远程配置的示例聊天接口。

图11是示出多个预置代理设备在工厂设施内分布并联网的示例架构的图。

图12是允许用户选择并且向会话接口系统提交预先制定的查询消息的示例报告页面。

图13是用于在用户与工业会话代理之间对会话消息进行路由的示例方法的流程图。

图14是用于处理针对与工业机器或处理有关的信息的即时消息请求的示例方法的流程图。

图15是用于远程指示预置设备响应于在工业设施处发生限定事件而发送通知的示例方法的流程图。

图16是示例计算环境。

图17是示例联网环境。

具体实施方式

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

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

如本文中所使用的,术语“推断”和“推论”通常是指从经由事件和/或数据所捕捉的一组观察结果中推出或推断系统、环境和/或用户的状态的过程。例如,可以采用推论来标识特定背景或动作,或者可以生成关于状态的概率分布。推论可以是概率性的,亦即,基于事件和数据的考虑来计算关于所关注状态的概率分布。推论还可以指用于从数据或事件组组成较高级别的事件的技术。这样的推论导致从观察到的事件组和/或所存储的事件数据构造出新事件或动作,无论该事件是否以紧密的时间接近度相关,以及事件和数据是否来自一个或若干个事件和数据源。

此外,术语“或”旨在指包含性的“或”而非排他性的“或”。亦即,除非另外指定或从上下文中清楚可见,否则短语“x采用a或b”旨在指本质包含性的排列中的任何排列。亦即,以下实例中的任何实例满足短语“x采用a或b”:x采用a;x采用b;或者x采用a和b二者。此外,除非另有指定或从上下文清楚可见涉及单数形式,否则在本申请和所附权利要求中所使用的冠词“一”和“一个”通常应当被解读为是指“一个或更多个”。

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

将按照可以包括许多设备、部件和模块等的系统来呈现各个方面或特征。要理解和领会的是,各个系统可以包括另外的设备、部件、模块等,和/或各个系统可以不包括结合附图所讨论的全部设备、部件、模块等。还可以使用这些方法的组合。

工业控制器及其相关联的i/o设备是现代自动化系统的操作的中心。这些控制器与工厂楼层上的现场设备进行交互,以控制与如产品制造、物料搬运、批量加工、监督控制以及其他这样的应用程序之类的目的有关的自动化过程。工业控制器存储并且执行用户定义的控制程序,以实现与受控过程有关的决策制定。这样的程序可以包括但不限于梯形逻辑、顺序功能(sequentialfunction)图、功能块图、结构化文本或其他这样的平台。

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

工业设备120可以包括输入设备和输出设备,其中,该输入设备向工业控制器118提供与受控工业系统有关的数据,并且该输出设备响应于由工业控制器118生成的控制信号以控制工业系统的各方面。示例输入设备可以包括遥测设备(例如温度传感器、流量计、液位传感器、压力传感器等)、手动操作者控制设备(例如按钮、选择开关等)、安全监测设备(例如安全垫、安全拉绳、光幕等)和其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信号设备、机器人控制输入端、阀等。

工业控制器118可以通过硬连线连接或网络连接与工业设备120进行通信地对接。例如,工业控制器118可以配备有与工业设备120进行通信以影响设备的控制的本地硬连线输入端和输出端。本地(native)控制器i/o可以包括数字i/o或模拟i/o,其中,该数字i/o向现场设备发送离散电压信号以及从现场设备接收离散电压信号,并且该模拟i/o向设备发送模拟电压或电流信号以及从设备接收模拟电压或电流信号。控制器i/o可以通过背板(backplane)与控制器的处理器进行通信,使得数字和模拟信号可以被控制程序读入和控制。工业控制器118还可以使用例如通信模块或集成网络端口通过网络与工业设备120进行通信。示例性网络可以包括因特网、内联网、以太网、设备网(devicenet)、控制网(controlnet)、数据高速公路和数据高速公路+(dh/dh+)、远程i/o、fieldbus、modbus、profibus、无线网络、串行协议等。工业控制器118还可以存储可以被控制程序引用并用于控制决策的持久数据值,所述持久性数据值包括但不限于表示受控机器或处理的操作状态的测量值或计算值(例如罐内液位、位置、报警等)或在自动化系统的操作期间收集的捕捉时间序列数据(例如多个时间点的状态信息、诊断事件等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或条件监测模块——可以存储用于控制和/或使操作状态可视化的数据值。这样的设备还可以捕捉日志上的时间序列数据或事件以用于稍后检索和查看。

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

一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或设备。这些系统或设备可以包括例如数据记录系统(datahistorian)110或设备文档存储装置104,该数据记录系统110聚合并存储从工业控制器118或其他数据源收集的生产信息,而设备文档存储装置104包含组成受控工业系统的各种工业设备的电子文档。其他系统可以包括库存跟踪系统102、工作订单管理系统106、用于机器或工艺图和文档的存储库、供应商产品文档存储装置、供应商知识库、内部知识库、工作调度应用程序或其他这样的系统,其中,其他系统中的一些或全部可以驻留在工业环境的办公网络108上。

为了解决这些问题和其他问题,本公开内容的一个或更多个实施方式提供了一种用于使用简明语言消息交换来远程访问制造操作信息的会话接口。在一个或更多个实施方式中,基于云的查询服务可以被配置成接收针对与驻留在一个或更多个工业工厂设施处的一个或更多个工业系统或设备有关的信息的查询。基于云的服务可以暴露于聊天接口(例如slack、cortana、echo或另一类型的消息传送接口),从而允许经由聊天接口所接收的查询被格式化为简明语言文本或音频。基于云的服务可以将查询同步到驻留在相应工厂设施处的一个或更多个同级(sibling)预置服务。预置服务翻译查询并将经翻译的查询应用于本地制造操作数据源。预置服务从预置数据源中检索所请求的信息并且基于检索到的信息来生成对查询的响应,该响应被格式化为简明语言响应。然后,将答复发送至基于云的服务,该基于云的服务经由聊天接口将该响应路由到查询的发起者。

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

基于云的会话接口系统202可以包括聊天接口部件204、查询发布部件206、答复监测部件208、一个或更多个处理器210和存储器212。在各种实施方式中,聊天接口部件204、查询发布部件206、答复监测部件208、一个或更多个处理器210和存储器212中的一个或更多个可以彼此电耦接和/或在通信上耦接,以执行基于云的会话接口系统202的一个或更多个功能。在一些实施方式中,部件204、206和208可以包括存储在存储器212上并由(一个或多个)处理器210执行的软件指令。基于云的会话接口系统202还可以与图2中未描绘的其他硬件和/或软件部件进行交互。例如,(一个或更多个)处理器210可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备进行交互。

聊天接口部件204可以被配置成经由系统202执行的云平台与一个或更多个基于文本的或口头聊天应用程序在通信上对接。合适的聊天应用程序可以包括但不限于slack、echo、cortana或其他这样的即时消息传送应用程序。聊天接口部件204可以接收来自与位于一个或更多个工业设施处的工业资产的操作有关的这样的聊天应用程序的查询。

查询发布部件206可以被配置成分析由聊天接口部件204接收到的传入查询(incomingquery),并且确定查询要被路由到的一个或更多个适当的预置会话接口代理。查询发布部件206基于例如查询的发起者(例如发起者所属的聊天组、发起者的唯一聊天标识符等)等因素和查询的内容来确定适当的预置代理。然后,查询发布部件206可以将查询指向(direct)所标识的预置代理;例如,通过将查询发布到发布订阅数据库。答复监测部件208可以被配置成对接收来自预置代理的对所提交的查询的响应进行监测并且将答复传递至聊天接口部件204,以经由聊天应用程序递送至查询的发起者。

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

图3是根据本公开内容的一个或更多个实施方式的能够与基于云的系统202进行交互的示例预置会话接口代理设备302的框图。预置会话接口代理设备302可以包括聊天身份部件304、查询监测部件306、答复发布部件308、翻译部件310、查询部件312、一个或更多个处理器314和存储器316。在各种实施方式中,聊天身份部件304、查询监测部件306、答复发布部件308、翻译部件310、查询部件312、一个或更多个处理器314和存储器316中的一个或更多个可以彼此电耦接和/或在通信上耦接,以执行预置会话接口代理设备302的一个或更多个功能。在一些实施方式中,部件304、306、308、310和312可以包括存储在存储器316上并由(一个或多个)处理器314执行的软件指令。预置会话接口代理设备302还可以与图3中未描绘的其他硬件和/或软件部件进行交互。例如,(一个或多个)处理器314可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备进行交互。

聊天身份部件304可以被配置成在聊天应用程序环境内向预置代理设备302分配并保持一个或更多个身份。代理设备302的身份可以包括例如代理设备302分配到的一个或更多个聊天组或团队以及分配给代理设备302的名称。代理设备302的身份允许聊天组或团队的其他成员将查询指向代理设备302并且接收来自代理设备302的响应。查询监测部件306可以被配置成监测接收或发布来自基于云的会话接口系统202的查询,并且被配置成将这样的查询传递至翻译部件310。答复发布部件308可以被配置成将查询响应指向基于云的会话接口系统202(例如通过发布对发布订阅数据库的响应)。

翻译部件310可以被配置成分析所接收的查询以便:确定查询的性质,并且标识应当被查询的适当的数据源以便生成对该查询的合适的响应。查询部件312可以被配置成将经翻译的查询提交给一个或更多个本地制造数据源,以便确定被查询所请求的信息(例如机器或设备状态、当前或历史机器性能参数、遥测值等)。一个或更多个处理器314可以参照所公开的系统和/或方法来执行本文中所描述的功能中的一个或更多个。存储器316可以是存储用于参照所公开的系统和/或方法来执行本文中所描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。

图4a和图4b是示出根据一个或更多个实施方式的允许在用户与工业数据源之间交换会话消息的一般化的高级架构的图。如上所述,基于云的会话接口系统202驻留在云平台406上并且在云平台406上执行。云平台406可以是由具有因特网连接性的设备和适当授权以利用服务的设备经由因特网可访问的公共云。替代地,云平台406可以是由工业企业内部操作的私有云。示例私有云可以包括托管云服务且驻留在由防火墙保护的公司网络上的服务器组(例如本文中所描述的会话接口服务)。

基于云的会话接口系统202可以与也在云平台406上或在单独的执行平台上执行的聊天应用程序408(例如经由聊天接口部件204)进行对接(图4a和图4b描绘了聊天应用程序408驻留在云平台406上的实施方式)。聊天应用程序408可以实质上是促进多方之间的即时消息通信(例如slack、cortana、echo等)的任何合适的即时消息传送应用程序。除了允许在限定的聊天组或团队内的用户之间交换即时消息之外,将聊天应用程序408与基于云的会话接口系统202对接还允许用户将消息指向位于工厂设施410处的预置会话接口代理设备302。这些消息可以采用被指向与预置代理设备302相关联的标识符的简明语言查询404的形式。例如,这样的查询可以:请求指定的工业机器、自动化系统或设备的当前状态;请求指定生产线的生产统计数据;或其他这样的请求。用户可以经由聊天应用程序的接口以与向聊天应用程序408的其他用户提交即时消息类似的方式将查询404提交至基于云的系统202,该聊天应用程序的接口由用户的客户端设备402(例如移动电话或其他便携式个人设备;膝上型计算机、平板电脑、桌上型计算机等)访问。

一个或更多个预置代理设备302(本文中也称为分析节点)可以被配置成与基于云的系统202交换消息,其中,预置代理设备302可以位于地理上不同的工业设施410处。每个预置代理设备302在通信上连接至一个或更多个当前或历史制造数据源(例如机器或设备状态;生产统计数据;关键性能指标;遥测数据例如温度、压力、液位或流率;机器停机统计数据;维护记录;或其他这样的数据)。每个预置代理设备302也被分配给与聊天应用程序408中配置的一个用户团队对应的限定团队。当在聊天应用程序408处接收到指向预置代理设备302的查询404时,基于云的系统202的聊天接口部件204接收查询,并且系统202的查询发布部件206将查询指向适当的预置代理设备302。基于云的系统202可以基于查询的发起者(例如发起者所属的团队)和正在被请求的信息的类型来确定适当的目标预置代理设备302。例如,在基于文本的聊天应用程序的情况下,用户可以以与用于将消息指向人类用户的方式类似的方式输入在消息中包括目标预置代理设备的聊天标识符的消息。系统202的查询发布部件206识别该标识符,并且相应地将该消息路由到指示的预置代理设备(在基于口头的消息传送系统的情况下,用户可以将预置代理标识符的名称讲出作为口头消息的一部分)。此外,基于云的系统可以被配置成仅允许在被分配给同一个聊天组或团队的用户与预置代理设备之间交换消息。因此,系统202可以首先确认在允许将消息同步到预置代理设备之前已经从授权用户(例如被指定给与预置代理设备相同的聊天团队的用户)接收到查询。

在接收到来自基于云的系统202的消息时,预置代理设备302解析并且分析查询以确定所请求的信息,并且在本地设施410处执行对相关工业数据源的搜索以便获得所请求的信息。如图4b所示,当所请求的信息已经从本地数据源定位并获得时,预置代理设备302生成传送所请求的信息的答复412并且将答复发送至基于云的会话接口系统202,其中,该答复412被格式化为包括消息的发起者的标识符的纯文本即时消息,并且该会话接口系统202经由聊天应用程序接口将即时消息答复递送给用户的客户端设备402。下面更详细地描述这些数据交换的各方面。

在聊天应用程序408和基于云的系统202在全球可访问平台(例如公共云平台)上执行从而允许多个用户使用基于云的系统访问并且进行通信的实施方式中,聊天应用程序408可以仅允许在被指定为共用团队或组的成员的成员之间交换消息。可以使用聊天应用程序408的用户配置特征来将聊天应用程序408的用户分配给特定团队(例如团队1、团队2、团队3等)。当聊天应用程序408的用户被分配给团队时,则用户可以使用聊天应用程序408与该团队的其他成员交换即时消息。在示例场景中,可以基于给定的工业企业的员工的任务或责任区域将员工分离成不同的聊天团队,使得这些成员可以针对其职责交换消息。例如,负责特定生产区域的维护人员可以被分配给共用的团队,使得可以在团队成员之间交换工作相关的通信。此外,被配置成访问来自特定工作区域的制造操作数据的预置代理设备302还可以被分配给该团队,使得团队成员可以与代理设备交换与该区域内的自动化系统和设备的检索状态和操作信息有关的消息。在图4a和图4b所示的示例中,三个聊天用户被描绘成被分配给不同的团队(分别为团队1、团队2和团队3)。因此,仅允许团队2的成员访问也被分配给团队2的预置代理设备302a(代理设备302b和302c被描绘成分别被分配给团队3和团队1)。基于云的系统202的查询发布部件206被配置成实施这些消息传送规则。

在一些实施方式中,基于云的系统202还可以被配置成向多个工业企业提供会话接口服务。在这样的实施方式中,系统202可以被配置成安全地分离不同工业企业之间的消息传送服务,使得阻止与特定工业企业相关联的用户查看与其他工业企业相关联的用户或预置代理设备或阻止与其他工业企业相关联的用户或预置代理设备进行通信。在示例实现方式中,基于云的系统202可以支持将层级标识符指定给每个用户和预置代理设备302,使得代理或用户标识符针对每个代理或用户限定工业企业、聊天团队和唯一标识符。

图5是示出根据一个或更多个实施方式的示例会话消息交换处理的图。通常,基于云的会话接口系统202用作针对即时消息输入504的外部接收接口。这些即时消息输入由用户经由客户各自的客户端设备提交,并且被系统202根据聊天接口的输入能力以口头或书面的自然语言输入的形式来接收。就此点而言,系统202的聊天接口部件204将系统202暴露于提供接口的聊天应用程序。短暂地转至图6,示出了可以由云端系统和预置代理的一个或更多个实施方式实现的示例服务。如该图所示,基于云的系统202(特别地,系统202的聊天接口部件204)可以实现将系统202暴露于一个或更多个聊天应用程序408的自然语言查询微服务604,一个或更多个聊天应用程序408向系统202提供自然语言输入504。可以与系统202对接的示例聊天应用程序包括但不限于slack、echo、cortana或其他这样的自然语言消息交换系统。取决于接收到输入504的聊天应用程序408所支持的输入类型,输入可以具有自然语言文本(例如键入文本或经翻译的书面文本)或口头输入(例如在语音转文本系统的情况下)的形式。

现在返回至图5,基于云的系统202接收自然语言输入504,并且将输入504路由到位于工厂设施处的所选择的预置会话接口代理设备302。在一些实施方式中,基于云的系统202可以基于与查询的发起者相关联的用户标识符(或更具体地用户标识符被分配的限定的团队或组)和在输入504中指定的代理标识符来选择适当的预置代理设备302,其中,代理标识符唯一地标识与该团队相关联的身份组内的目标预置代理设备302。如上所述,系统202的查询发布部件206可以被配置成实施防止未授权的用户访问预置代理设备的合适的安全规则。例如,查询发布部件206可以被配置成仅在消息包括代理的标识符的情况下将传入消息(incomingmessage)路由到给定的预置代理设备,并且该消息的发起者被指定到与预置代理相同的聊天团队。

在一些实施方式中,基于云的系统202(特别地系统202的查询发布部件206)可以使用发布订阅范例将输入504指向预置代理设备302。基于云的系统202的这样的实施方式可以具有相关联的发布订阅数据库606(参见图6)。查询发布部件206可以将传入查询或命令发布到该发布订阅数据库606作为消息,并且将该消息同步到与工厂设施处的预置代理设备302相关联的发布订阅数据库608的本地副本。被配置成与基于云的系统202进行通信的每个预置代理具有发布订阅数据库608的相关联的本地副本。当基于云的系统202的查询发布部件206已经标识传入消息所指向的预置代理(例如基于对消息中代理设备的标识符的检测)时,系统202将消息发布并同步到与该代理设备302相关联的本地发布订阅数据库608以用于本地处理。

返回至图5,当预置代理设备302的查询监测部件306检测到新消息已被同步到预置代理设备302的本地发布订阅数据库608时,代理的翻译部件310解析消息的简明语言内容,以便确定由消息表示的请求或命令的性质。为此,翻译部件310可以从消息中识别并提取关键字或上下文信息,所述关键字或上下文信息可以用于确定所请求的信息或所发出的命令。例如,请求与马达驱动器的当前状态有关的信息的传入消息可以读取为“驱动器1正在运行?”。当在本地发布订阅数据库608中检测到该消息时,翻译部件310可以从查询中提取请求信息所针对的设备的名称(例如“驱动器1”)和/或可以帮助标识请求信息所针对的设备或所请求的信息的类型的任何上下文信息。在本示例中,词汇“运行”指示针对驱动器1请求的数据项是驱动器的当前操作模式(例如运行、空闲、故障等)。更具体地,传入消息正在寻求对特定操作模式(运行模式)的确认。该提取的信息由预置代理设备302的查询部件312用于生成并且发出对适当的制造操作数据源502的查询,已知适当的制造操作数据源502包括所指示的驱动器的当前操作状态。在一些实施方式中,查询部件312可以基于相关联的映射数据来确定所请求的数据项的位置,该关联映射数据限定与相应的工业设备、自动化系统和/或生产线相关联的数据项的位置。这样的映射数据可以限定与各项工业信息对应的源设备(例如工业设备、数据记录系统(historiansystem)等)以及这些设备上的数据标签或登记(register)。当确定由传入消息所请求的工业信息的特定项时,查询部件312可以访问该映射数据,以便确定要从其中检索所请求的信息的数据源和数据标签或登记。然而,应当理解的是,用于确定所请求的数据项的位置的其他技术在本公开内容的一个或更多个实施方式的范围内。

在一些实施方式中,制造操作数据源502可以是聚合来自工厂设施内的多个工业设备的数据的一个或更多个本地数据收集或记录系统设备。聚合工厂楼层数据的这些源可以是在通信上连接至代理设备302(例如通过工厂网络)的单独设备,使得代理设备302可以跨网络访问并且查询数据源。替代地,代理302自身可以包括数据聚合功能,使得代理设备302在与代理相关联的本地存储装置上收集并存储来自多个工业设备或自动化系统的数据。在这样的实施方式中,代理的查询部件312向该本地聚合工厂数据源提交查询。在另外的其他实施方式中,代理设备302可以被配置成直接向工业设备自身提交查询,以便检索由传入消息请求的数据。

图7是示出预置代理设备302直接从工业设备检索数据(而不是从单独的数据聚合或历史设备中检索数据)的配置的图。在该示例中,自动化系统包括多个工业设备7061至706n,其共同监测和/或控制一个或更多个受控处理702。工业设备7061至706n分别生成和/或收集与(一个或多个)受控处理702的控制有关的处理数据。对于工业控制器例如plc或其他自动化控制器而言,可以包括从连接至控制器的i/o的遥测设备中收集数据、基于测量到的处理值在内部生成数据等。工业设备706还可以存储供应商限定或用户限定的配置参数(例如设定值、调整参数值、模式设置、通信设置等),所述配置参数也可以被代理设备302访问。

在该示例中,预置代理设备302驻留在与工业设备706相同的工厂网络712上。如上所述,在一些场景中,预置代理设备302可以被配置成周期性地或连续地从工业设备706中收集操作、统计数据和/或配置数据714,并且被配置成为了响应于后续查询消息704来检索数据的相关子集的目的而在本地存储聚合数据。替代地,预置代理设备302可以被配置成响应于接收到查询消息704来查询存储在设备706上的数据。

现在返回至图5,代理设备302的查询部件312针对由查询输入504请求的信息来查询(一个或多个)制造操作数据源502(例如数据记录系统、本地聚合数据、分布式工业设备等)。查询部件312还可以查询与由传入消息请求的特定信息有关的附加信息,以便向请求的发起者提供更多的信息性答复。然后,代理的答复发布部件308基于查询结果和消息输入504的措辞来制定人类可读的响应。例如,如果传入消息是对于驱动器1状态信息的请求——被制定为问题“驱动器1正在运行?”,查询部件312可以检索当前驱动器1的状态(在该示例中,制造操作数据指示驱动器1当前处于运行模式)以及指定驱动器1已经在其当前运行状态中操作的总持续时间的信息。然后,答复发布部件308可以使用该检索到的信息来制定答复读取“驱动器1当前正在运行并且在过去两分钟内没有故障地运行”。答复发布部件308可以基于原始查询的语言中的一部分来设计答复的句法。例如,因为原始查询具体请求对驱动器1的运行状态的组成,所以如果确定驱动器1处于非运行状态(例如空闲、故障等),则答复发布部件308可以开始在提供与驱动器的当前状态有关的附加信息之前使用否定答案(“否”)进行答复。一旦答复被制定,则预置代理设备302的答复发布部件308将答复发送至基于云的系统202;例如通过将答复发布到发布订阅数据库608的本地副本。

再次转至图6,由预置代理设备302实现的机器人服务610可以执行与接收和解译来自基于云的系统202的传入消息以及响应于传入消息生成答复消息相关联的功能。例如,机器人服务610可以由预置代理的查询监测部件306、答复发布部件308、翻译部件310和聊天身份部件304来实现。聊天身份部件304被配置成分配和保持预置代理设备302的身份,该预置代理设备302的身份可以由基于云的接口系统202链接到的聊天应用程序408识别。分配给预置代理设备302的身份可以包括对特定聊天团队或组的分配,从而允许同一团队内的其他聊天用户与预置代理302交换消息,正如该代理是聊天应用程序408的另一个用户一样。在本文中所描述的示例中,向预置代理设备302分配身份shelby。与预置代理设备302相关联的机器人服务610可以包括:相关联的机器人库(botlib)文件612,其可以链接至代理的其他本地服务614。

在基于云的接口系统202处,答复监测部件208检测到该答复已被发布到发布订阅数据库606的云端副本并且经由聊天应用程序408的接口将该答复消息路由到该传入消息的发起者。基于云的系统跟踪传入的查询和对应的答复消息,使得来自预置代理设备302的答复消息被路由到正确的聊天用户。

除了与基于云的会话接口系统202交换会话消息之外,预置代理设备302的一些实施方式还可以经由发布订阅数据库608的本地版本直接与客户端设备(例如客户端设备616)交换消息,而不需要通过云平台来路由消息。例如,客户端设备616可以执行能够在通信上连接至预置代理设备302上的本地发布订阅数据库608(例如经由无线网络)的聊天应用程序。如果客户端设备616的用户作为与代理设备302处于同一聊天团队或组的成员而登录到聊天应用程序中,则客户端设备可以经由该本地连接向预置代理设备302提交消息并从预置代理设备302接收答复。

如上所述,聊天身份部件304允许预置代理设备302被分配给身份(例如本文中所描述的示例中的shelby)并且被指定给聊天团队(例如团队2),使得作为同一聊天团队成员的聊天用户可以经由基于云的系统与预置代理交换消息,正如代理是另一聊天用户一样。图8是示出允许团队成员与预置代理设备302交换会话消息的通用聊天架构的图。在该示例中,已经使用基于云的接口系统202链接到的聊天应用程序408的配置工具来将多个用户808分配给共用团队(团队2)。驻留在工厂设施802处的预置代理设备302也被分配给团队2,从而允许团队2的成员与代理交换会话消息。预置代理设备302被配置成在通信上访问并且检索由设施802处的工厂楼层上的工业设备组生成的数据,该工业设备组包括一个或更多个工业控制器804(例如plc或其他类型的工业控制器)和/或其他类型的工业设备806(例如马达驱动器、遥测设备和仪表、视觉系统或其他质量检查系统、安全控制器或其他安全设备等)。代理设备302还可以访问其他相关信息源,包括但不限于工作订单数据库、库存数据库、设备文档、知识库或其他这样的数据源。如上所述,预置代理设备302可以通过查询收集和存储来自各种工业设备的数据项的单独数据收集设备或记录系统来访问由这些设备生成或存储在这些设备上的数据。替代地,预置代理设备302可以与工业设备驻留在共用的工厂网络上,并且直接从设备访问数据项。

聊天应用程序408允许用户808通过与聊天应用程序的用户接口进行交互来彼此交换即时消息。图9是与基于云的会话接口系统202进行交互以促进团队成员与预置代理之间的消息交换的示例聊天接口902。在该示例中,两个用户——即jsmith和dwhittiker——是同一个聊天团队的成员。因为聊天应用程序和基于云的接口服务驻留在可以从访问云的任何位置访问的云平台406上,所以这些用户可以位于工厂设施802处或位于其他位置处。用户jsmith最初限定新的私有消息交换通道,并且邀请用户dwhittiker和预置代理(shelby)加入该通道。用户jsmith通过向用户dwhittiker发送消息来开始询问马达驱动器(驱动器1)的状态。当dwhittiker指示其无法报告驱动器1的状态时,用户jsmith发送指向预置代理shelby的消息,以询问驱动器1是否正在运行。用户jsmith以简明语言格式(“驱动器1正在运行?”)来制定该消息904,该消息904包括@代号(即@shelby)之前的预置代理设备的身份。

以上如先前的示例中所描述的,基于云的系统202将该消息同步到适当的预置代理设备302(例如通过将消息发布到与所标识的代理shelby相关联的发布订阅数据库606),并且预置代理将消息解析并解译为对于驱动器1的状态的请求。预置代理shelby针对所请求的信息以及针对要包括在响应中的附加上下文信息来查询适当的制造操作数据源(通过工厂网络直接从驱动器1自身中检索状态信息或通过检索来自单独的数据收集设备中的信息);即,驱动器1处于其当前状态的持续时间。然后,shelby制定包含所请求的状态信息以及上下文信息(“驱动器1当前正在运行并且在过去两分钟内没有故障”)的响应906并且将该消息发送至基于云的接口系统202(例如经由发布订阅数据库),基于云的接口系统202使聊天应用程序408在通信信道下的接口902上呈现该消息。

在图9所示的示例中,用户发起与预置代理设备302的会话,以便获得期望的信息。预置代理设备302还可以被配置成响应于检测到的条件来发起与一个或更多个用户的会话。可以根据经由聊天接口提供给代理设备302的预设指令来执行这样的代理发起的会话。图10描绘了用户jsmith和预置代理shelby之间的随后的会话交换,其将预置代理配置成响应于限定的条件在未来的时间发起会话。在该示例中,在对于确认驱动器1的运行状态的请求之后,用户jsmith向在驱动器1停止时请求被通知的预置代理设备302发送随后的消息1002(“下一次驱动器1停止时告诉我”)。预置代理将该消息1002解析并且解译作为对以下的请求:在被指示的驱动器停止运行的未来时间向用户jsmith发送通知消息。就此点而言,基于对传入消息的语言的解析和分析,代理的翻译部件310能够区分表示对于当前可用信息的请求的消息与表示要被通知未来事件的请求的消息,其中,该当前可用信息可以立即被检索并被提供给请求的发起者作为答复。

在接收到消息1002并且基于确定消息1002表示要被通知未来状况(驱动器1中的故障)的请求时,预置代理将会开始对来自一个或更多个可访问的制造操作数据源的适当数据项进行监测。预置代理还发送确认用户的请求的答复消息1004。根据请求消息1002,下一次预置代理检测到与驱动器1的故障状态对应的监测数据项指示“故障”状态时,代理将会生成指向用户jsmith的适当通知消息并且经由基于云的会话接口系统202发送该适当通知消息。以这种方式,会话接口系统允许用户经由即时消息接口远程地配置通知准则。应当理解的是,其他类型的通知准则可以被提交给预置代理并且由预置代理来实现。例如,在工业处理的指定的关键性能指标满足指定条件或其他这样的通知准则的情况下,当工业处理的能量利用超出在请求消息中指定的阈值时,用户可以指示预置代理发送通知消息。

虽然图9和图10中描绘的示例接口表示基于文本的聊天接口,但本文中所描述的技术也适于基于口头的消息系统。在这样的实施方式中,基于云的系统202可以被配置成在执行对消息的分析之前将口头输入的消息翻译成基于文本的消息(例如使用任何合适的语音到文本技术)。在示例实现方式中,用户可以在讲出要发送给代理的查询或请求消息之前讲出目标预置代理设备的标识符。基于云的系统202可以将该语音转换为文本,并且标识包含在经翻译的消息中的代理标识符。然后,可以如上所讨论的那样执行由基于云的系统和预置代理进行的处理。

前述示例描绘了驻留在给定工业设施处的单个预置代理设备,以提供与基于云的接口系统202相关联的预置消息处理服务。然而,在一些实施方式中,具有两个或更多个预置代理设备的网络可以被部署在整个工厂设施中。图11是示出多个预置代理设备302在工厂设备1102内分布和联网的示例架构的图。在该示例中,每个预置代理设备302访问特定的数据源组1106,该数据源组1106可能无法被其他代理设备访问。就此点而言,整个工厂设施中可用的总数据集被分段并且可用于特定的预置代理设备302。如果数据源驻留在工厂设施1102内的不同位置处或不同的网络上,则以这种方式对数据源的分离会是有用的。例如,与工业自动化或控制系统的操作直接相关的一些数据源1106可以驻留在操作技术(ot)网络(例如与工业自动化系统相关联的工业设备所驻留的工厂网络)上,而与业务或管理操作有关的其他数据源1106(例如库存数据库、工作订单数据库、工作计划等)可以驻留在单独的公司网络上。因此,可以建立单独的预置代理设备302以访问这些不同的数据源组1106。

在图11所示的示例中,有一个预置代理设备即302a对接至基于云的会话接口系统202,而其他预置设备302b至302e直接或间接(经由其他预置设备)联网到设备302a。这产生了将经由基于云的接口系统202可用的所有数据源1106a至1106e呈现的预置代理设备的网格(mesh)。分布式代理设备302共享共用身份(例如shelby),使得指向该共用身份的查询或请求消息将会被处理查询或请求所需的预置代理设备302中的任何一个预置代理设备自动处理,尽管仅有一个预置代理设备(302a)对接至基于云的会话接口系统202。

每个预置代理设备302表示网状网络的分析节点。在示例配置中,每个预置代理设备302可以存储并且维护网状网络映射信息,该网状网络映射信息标识网状网络上的其他节点。当从基于云的系统202接收到指向网格身份(shelby)的消息时,与基于云的系统对接的预置代理设备302a处理该消息,但也可以将任务委托给与处理该消息所表示的查询或请求有关的其他代理设备302b至302e中的一个或更多个代理设备。例如,如果传入消息是对于位于代理设备302a上不可访问的数据源组1106e上的信息的请求,则代理设备302a将经由网状网络连接将该请求路由到访问相关的数据源组1106e的代理设备302e,从而将检索所请求的信息的任务委托给网状网络上的另一节点。注意,在这种场景中,通过中间网格节点将请求路由到代理设备302b。

在网状网络的节点之间对消息处理任务的路由可以由代理设备302基于在每个设备302上维护的共享网状网络映射信息来执行。对信息的该映射可以包括例如针对网格上的每个代理设备302的身份信息。该身份信息可以是与所有设备所属的聊天标识符分离开的节点级标识符,并且该聊天标识符对于网状网络的上下文内的每个设备是唯一的。映射信息还可以包括标识每个代理设备302可访问的数据源组1106的信息。

如果主代理设备302a(与基于云的系统通信的设备)已将数据检索任务委托给代理设备302b至302e中的一个,则通过网状网络将检索信息从检索数据的设备返回至主代理设备302a。然后,主代理设备302a基于返回数据来制定答复消息,并且将该答复消息发送至基于云的系统202(例如通过将消息发布到发布订阅数据库608)。

在一些实施方式中,因为主预置代理302a是与基于云的系统交换消息的单个节点设备,所以设备302a可以是维护发布订阅数据库608的本地副本的单个设备。在这样的实施方式中,主预置代理设备302最初是网状网络上要被通知传入消息的单个节点。然后,主预置代理设备302将会解析并且分析该消息以确定查询的性质,并且如果必要,则将任何必要的数据检索任务委托给网状网络上的其他设备302b至302e。

在其他实施方式中,可以基本上同时将来自基于云的系统的传入消息通知于网状网络上的所有代理设备302a至302e。在这样的实施方式中,每个代理设备302将会独立地解析并分析该消息,并且基于包含在该消息中的请求的性质来确定是否需要由该代理设备进行的任何单独动作(例如基于所请求的信息是否在该代理设备的范围内)。能够处理请求的任何代理设备302将会从其数据源组1106中检索所请求的信息,并且将所请求的信息返回至主代理设备302,以制定答复消息并且将答复消息发送至基于云的系统202。另外在这样的实施方式中,如果需要,则承担负责处理请求的任何预置代理设备302也可以将某些处理任务委托给网状网络上的其他代理设备。例如,可以由访问该安全状态信息的代理设备中的一个代理设备(例如设备302c)来处理对请求安全设备(例如光幕)的状态的消息的主要处理。然而,为了制定更多的信息响应,处理代理设备302c还可以从网状网络上的不同代理设备302请求补充信息(例如由安全设备保护的机器的当前操作模式、机器处于该模式的持续时间等)。当接收到该补充信息时,处理代理设备302c(或主代理设备302a)可以将该信息与所请求的安全设备状态一起包括在答复消息中(例如“#1标题泄漏测试站光幕被断开。泄漏测试站已经发生故障36分钟。”)。

取决于网状网络配置和传入消息的性质,一些请求可以由网状网络上的多个代理设备302来处理(例如在多个代理设备302访问由消息所请求的信息的情况下)。在这种场景中,主预置代理设备302a可以被配置成解决从多个代理设备302接收响应的情况。任何合适的准则可以用于处理对从相应的多个代理设备接收到的多个响应的处理,该处理包括但不限于基于第一接收到的响应来制定答复消息、基于从多个响应中对信息的聚合来制定答复消息、基于具有最高确定精度的响应来制定答复消息等。

来自基于云的系统202的一些查询消息也会需要来自构成网状网络的所有代理设备302的响应。这样的消息可以包括针对网状网络上的代理设备302的会话接口诊断消息请求身份、配置或状态信息。例如,用户可以针对构成网状网络的相应代理设备302发送对于网络地址信息的请求(例如被制定成消息“shelby,你在哪里?”)。响应于在网状网络处接收到这样的消息,每个代理设备302将会发送其网络地址作为经由基于云的系统202路由到用户的单独答复消息(例如“运行在<主机名称1>上的机器人shelby在<网络地址1>处”、“运行在<主机名称2>上的机器人shelby在<网络地址2>处”等)。

此外,虽然图11描绘了驻留在单个工厂设施1102内的所有预置代理设备302,但网状网络可以跨越构成工业企业的多个工厂设施而延伸,使得每个设施包括一个或更多个预置代理设备。在示例实现方式中,这些地理上分布的代理网状网络可能无法直接在设施之间彼此链接;相反,每个特定设施的网状网络链接到基于云的接口系统202,该基于云的接口系统202对聊天应用程序408的用户与相应的网状网络之间的消息进行路由。地理上分布的代理网状网络组共同分配有公用聊天身份(例如shelby),使得来自聊天应用程序408的指向共同聊天身份的消息由基于云的系统202基于该消息中包含的上下文信息而被路由到所选择的网状网络中的一个或更多个。

例如,当基于云的接口系统202从聊天应用程序408接收到指向shelby身份的查询或请求消息时,基于云的系统202可以基于从传入消息中收集的上下文信息来确定消息应该被路由到哪个工厂设施。例如,该上下文信息可以包括在查询消息中对相关工厂设施的名称的显式引用,如“克利夫兰工厂处的第1行的输送机驱动器的状态是什么?”。在该示例中,基于用户对克利夫兰工厂的引用,基于云的系统202将会将消息路由到位于克利夫兰工厂的预置代理设备(或代理设备的网格)以进行处理。就此点而言,基于云的系统202可以具有针对给定工业企业内的每个工厂的一个或更多个工厂标识符、名称或别名的知识,使得包含任何这种标识信息的消息将会被路由到正确的位置(例如包含工厂设施的正式名称或工厂所在城市的名称的消息将会被路由到同一设施)。在另一示例中,上下文信息可以省略工厂设施的名称,但可以包括对特定于工厂设施中的仅有一个工厂设施的特定设备、机器或生产线的引用。在这种情况下,基于云的系统202将会键入所指示的设备、机器或生产线的唯一性,以将消息路由到适当的工厂设施,以便由该设施处的预置代理设备进行处理。

此外,关于这样的分布式多设施系统,一些查询消息会需要对来自多个不同工业设施的数据进行聚合。例如,用户可以提交以下消息:“昨天型号a65的刹车片的总产品计数是多少?”。如果所指示的产品型号在两个或更多个设施处生产,则基于云的系统202可以将消息路由到生产所指示模型的所有标识设施。基于对该消息的分析,每个设施处的预置代理设备(或设备的网状网络)可以从每个设施处的适当数据源中检索前一天的指示零件的零件计数,并且将该信息返回到基于云的系统。当从已经发送消息的所有设施接收到响应时,基于云的系统可以制定对原始消息的答复,其包括从设施接收到的零件计数的总和。基于云的系统还可以包括由每个设施报告的单个零件计数的分解(例如“昨天生产总共1853个a65型号的刹车片。这包括来自克利夫兰工厂的589个片和来自厄巴纳工厂的1264个片。”)。

除了允许用户以自由形式的方式将查询或请求消息输入到系统中之外,基于云的系统的一些实施方式还可以通过基于用户目前的关注焦点来动态地生成可能产生有用的信息的建议消息来支持会话接口系统的被指导查询。在示例实施方式中,系统202可以将这样的动态生成的消息插入到制造操作报告页面中,其中,预先制定的消息被选择为与经由报告页面呈现给用户的主题相关。图12是允许用户选择建议的查询消息并将建议的查询消息提交给会话接口系统的示例报告页面1202。报告页面1202可以例如由报告应用程序生成,该报告应用程序从一个或更多个数据源中检索制造操作数据并且经由用户的客户端设备根据预格式化的报告布局来呈现该信息。报告页面1202可以响应于来自用户的请求而被按需生成,或在预限定的时间处自动生成(例如在工作轮班结束时以包括针对先前轮班收集的操作统计数据;在早上以包括前一天的统计数据等)。尽管使用由报告系统自动生成的提交的查询,而不是用户输入的消息,但仍可以使用上述相同的会话基础结构从适当的数据源中获取报告页面上呈现的一些或全部数据。

图12中所示的示例报告页面1202包括与不同主题对应的部分,包括检测到的联网问题、受监测设备处于故障状态的总持续时间、执行最差的设备等。此外,每个主题部分均与一个或更多个推荐的消息查询1204相关联,一个或更多个推荐的消息查询1204被设计成经由会话接口系统检索与对应主题相关的附加信息。例如,联网问题部分包括两个预先制定的查询按钮1204a;被设计成检索针对半双工和全双工配置的设备的标识符的第一查询按钮(“设备是什么?”);和被设计成检索在网络上的设备之中存在双工不匹配的持续时间的第二查询按钮。报告页面的设备故障持续时间部分包括查询按钮1204b,该查询按钮1204b被设计成标识在故障状态下花费最多时间量的受监测设备。当选择这些推荐的查询按钮之一(例如按钮1204b)时,报告页面将所选择的查询消息提交给基于云的系统202,该基于云的系统202如上所述在先前示例中处理所描述的消息。当从会话接口系统接收到结果时,报告页面1202可以呈现聊天窗口1206,该聊天窗口1206呈现提交查询的结果作为来自会话接口系统的答复消息。聊天窗口1206可以包括文本输入字段1208,该文本输入字段1208允许用户使用自由形式查询消息来继续与接口系统的会话,并且该自由形式查询消息将会如前述示例中所述的那样被处理。

推荐的消息可以基于在相应报告部分中呈现的当前或历史数据由系统动态地生成。例如,基于所报告的信息(由受监测设备在故障状态下花费的总时间量过多),系统可以基于用户将会想要知道经历最多故障的设备的身份的推断来动态地生成并且推荐消息“哪些设备发生故障最多”。

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

图13示出了用于在用户与工业会话代理之间路由会话消息的示例方法1300。最初,在1302处,在基于云的会话接口系统处从即时消息传送应用程序接收简明语言消息,其中,该消息被指向位于工厂设施处的预置会话接口代理设备或位于设施处的预置会话接口设备的网状网络。该消息可以是例如对于与在工厂设施处运行的自动化系统、设备或机器有关的状态或操作信息的请求。在1304处,基于包含在消息中的信息来确定一个或更多个预置代理设备的身份,并且由基于云的会话接口系统将该消息路由到(一个或多个)标识的预置代理设备。在示例实施方式中,基于云的系统可以通过将消息发布到发布订阅数据库来将传入消息路由到一个或更多个预置代理设备,该发布订阅数据库与(一个或多个)预置代理设备上维护的发布订阅数据库的本地版本同步。然而,用于将消息同步到预置设备的其他技术也在本文中所描述的一个或更多个实施方式的范围内。消息所指向的预置代理设备可以是位于给定工业设施处的单个预置设备,或可以是位于设施处的互连的代理设备组。在另一实现方式中,代理设备可以跨多个工业设施分布,并且被分配有对基于云的接口系统已知的共同标识符(collectiveidentifier)。在这样的实施方式中,基于云的系统将会确定分布式预置代理设备应该基于消息中包含的上下文信息来操作对消息的处理,并且将该消息路由到所选择的代理设备以用于预置处理。

在1306处,基于云的系统监测来自(一个或多个)预置代理设备的对消息的答复;例如通过监测对要发布到发布订阅数据库的消息的答复。在1308处,确定是否接收到这样的答复消息。如果没有接收到答复消息(在步骤1308处为否),则该方法返回到步骤1306并且继续监测。替代地,如果接收到答复消息(在步骤1308处为是),则该方法进行到步骤1310,其中,基于云的系统将答复路由到即时消息应用程序,而指向请求的发起者。

图14示出了用于处理针对与工业机器或处理有关的信息的即时消息请求的示例方法1400。最初,在1402处,在位于工厂设施处的预置会话接口代理设备处接收简明语言消息,该消息经由基于云的会话接口系统从即时消息传送应用程序接收。在1404处,预置代理设备解析传入消息以确定消息所请求的一个或更多个制造操作信息项。由消息请求的信息可以是例如对机器或设备状态、当前或历史操作统计数据(例如产品计数、操作速度、工业处理的当前能量使用量、指定的时间段内的机器停机数目等)或与工业制造业务的操作有关的其他这样的信息的请求。

在1406处,预置代理设备将针对所请求的信息的查询发送至一个或更多个制造操作数据源,并且从一个或更多个源检索所请求的信息。在示例实现方式中,数据源可以是相关工业设备自身,并且预置代理设备可以通过工厂网络从工业设备中的适当的数据寄存器访问并检索数据。在另一示例实现方式中,预置代理设备可以从单独的数据收集设备中检索数据,该数据收集设备历史化来自在工厂设施中部署的多个工业设备的数据。在又一示例中,预置代理设备自身可以维护从各种工业设备收集的工业数据的本地数据存储,并且可以向该本地数据存储提交针对所请求的信息的查询。

此外,在预置代理设备是多个互连的预置代理设备的网状网络的一部分的配置中,代理设备可以将数据检索处理的至少一部分委托给网状网络上的一个或更多个其他的预置代理设备。就此点而言,如果代理设备基于对消息的分析来确定所请求的信息中的所有或一部分可以由网状网络上的不同代理设备访问,则代理设备可以向请求检索所需信息的其他代理设备发送请求消息。作为响应,其他代理设备可以检索该信息,并且将该信息返回到原始代理设备以包括在答复消息中。

在1408处,预置代理设备制定包括在步骤1406处检索到的信息的简明语言答复消息。在1410处,预置代理设备将答复消息发送至传入消息所接收自的基于云的系统,使得答复消息被指向传入消息的发起者。

图15示出了用于远程指示预置设备响应于工业设施处发生限定事件而发送通知的示例方法1500。最初,在1502处,在位于工厂设施处的预置会话接口代理设备处接收简明语言消息,该消息经由基于云的会话接口系统从即时消息传送应用程序接收。在1504处,由预置代理设备解析传入消息以确定由该消息限定的通知准则。例如,该消息可以是以下请求:响应于确定消息中指定的特定工业设备或机器已经转变成也在消息中指定的特定状态(例如故障、异常、正在运行等),来发送通知消息。其他示例通知请求可以包括但不限于:在已经达到指定的生产目标(例如产品计数、库存水平、使用率(filllevel)等)时发送通知的请求;在工业处理的能量利用超过指定的阈值时发送通知的请求;在工业处理的指定的关键性能指标(例如速度、能量消耗率、温度等)满足指定的条件时发送通知的请求;或其他这样的通知准则。

在1506处,预置代理设备向基于云的系统发送简明语言确认消息,该确认消息指示已经接收和理解通知请求。在1508处,预置代理设备针对通知准则的发生而根据接收到的消息开始在工厂设施处监测一个或更多个制造操作数据源。例如,预置代理设备可以直接或间接监测指示是否已经满足限定的通知准则的适当的一个或更多个数据项(例如工业控制器标签、遥测设备数据寄存器等)。

在1510处,基于在步骤1508处执行的监测,确定是否已经满足通知准则。如果尚未满足通知准则(在步骤1510处为否),则该方法返回到步骤1508并且继续监测。替代地,如果已经满足通知准则(在步骤1510处为是),则该方法进行到步骤1512,其中,预置代理设备向基于云的系统发送简明语言通知消息,该消息指向原始请求消息的发起者并且指示通知准则的发生。然后,基于云的系统可以经由链接到基于云的系统的即时消息应用程序将通知消息传递给用户。

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

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

网络可以包括公共网络(例如互联网、内联网)和自动化网络(例如控制及信息协议(cip)网络),控制及信息协议(cip)网络包括devicenet、controlnet和ethernet/ip。其他网络包括ethernet、dh/dh+、远程i/o、fieldbus、modbus、profibus、can、无线网络、串行协议、近场通信(nfc)、蓝牙等。此外,网络装置可以包括各种可能性(硬件和/或软件部件)。这些包括诸如具有虚拟局域网(vlan)功能的交换机、lan、wan、代理、网关、路由器、防火墙、虚拟专用网(vpn)装置、服务器、客户端、计算机、配置工具、监视工具和/或其他装置。

为了提供针对所公开主题的各方面的上下文,图16和图17以及下面的讨论旨在提供可以实现所公开的主题的各方面的适当环境的简要的一般描述。

参照图16,用于实现前述主题的各方面的示例环境1610包括计算机1612。计算机1612包括处理单元1614、系统存储器1616和系统总线1618。系统总线1618将系统部件耦接至处理单元1614,所述系统部件包括但不限于系统存储器1616。处理单元1614可以是各种可用处理器中的任何一个。多核微处理器和其他多处理器架构也可以用作处理单元1614。

系统总线1618可以是包括存储器总线或存储器控制器、外围总线或外部总线以及/或者使用任何各种可用总线架构的本地总线的几种类型的总线结构中的任何一种,其中,可用总线架构包括但不限于8位总线、工业标准架构(isa)、微通道架构(msa)、扩展isa(eisa)、智能驱动电子器件(ide)、vesa本地总线(vlb)、外围部件互连(pci)、通用串行总线(usb)、高级图形端口(agp)、个人计算机存储卡国际协会总线(pcmcia)和小型计算机系统接口(scsi)。

系统存储器1616包括易失性存储器1620和非易失性存储器1622。包含用于在计算机1612内的元件之间传送信息的基本例程的基本输入/输出系统(bios)(例如在启动期间)被存储在非易失性存储器1622中。作为说明而非限制,非易失性存储器1622可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除prom(eeprom)或闪速存储器。易失性存储器1620包括用作外部高速缓冲存储器的随机存取存储器(ram)。作为说明而非限制,ram具有许多可用的形式,例如同步ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路dram(sldram)和直接总线式随机存储器(directrambusram)(drram)。

计算机1612还包括可移除/非可移除的易失性/非易失性计算机存储介质。图16示出了例如磁盘存储装置1624。磁盘存储装置1624包括但不限于设备例如磁盘驱动器、软盘驱动器、磁带驱动器、jaz驱动器、zip驱动器、ls-100驱动器、闪存卡或记忆棒。此外,磁盘存储装置1624可以单独地包括存储介质或与其他存储介质的组合,其他存储介质包括但不限于光盘驱动器,例如致密盘rom设备(cd-rom)、cd可记录驱动器(cd-r驱动器)、cd可重写驱动器(cd-rw驱动器)或数字通用盘rom驱动器(dvd-rom)。为了便于将磁盘存储装置1624连接到系统总线1618,通常使用可移除或不可移除的接口例如接口1626。

应当理解,图16描述了在适当的操作环境1610中描述的用作用户与基本计算机资源之间的中介的软件。这样的软件包括操作系统1628。可以存储在磁盘存储装置1624上的操作系统1628用于控制和分配计算机1612的资源。系统应用程序1630借助于操作系统1628通过存储在系统存储器1616中或磁盘存储装置1624上的程序模块1632和程序数据1934来利用对资源的管理。应当理解,本主题公开内容的一个或更多个实施方式可以用各种操作系统或操作系统的组合来实现。

用户通过(一个或多个)输入设备1636将命令或信息输入到计算机1612中。输入设备1636包括但不限于指示设备、卫星天线、扫描仪、电视调谐卡、数码相机、数码摄像机、网络摄像机等,指示设备为例如鼠标、轨迹球、触控笔、触摸板、键盘、麦克风、游戏杆、游戏手柄。这些输入设备和其他输入设备经由(一个或多个)接口端口1638通过系统总线1618连接至处理单元1614。(一个或多个)接口端口1638包括例如串行端口、并行端口、游戏端口和通用串行总线(usb)。(一个或多个)输出设备1640使用与(一个或多个)输入设备1636相同类型的端口中的一些。因此,例如,可以使用usb端口来向计算机1612提供输入,并且将来自计算机1612的信息输出至输出设备1640。提供输出适配器1642以说明存在一些输出设备1640例如需要特殊适配器的其他输出设备1640之中的监视器、扬声器和打印机。作为说明而非限制,输出适配器1642包括视频卡和声卡,其提供输出设备1640与系统总线1618之间的连接装置。应当注意,其他设备和/或设备的系统提供输入能力和输出能力两者,例如(一个或多个)远程计算机1644。

计算机1612可以使用到一个或更多个远程计算机(例如(一个或多个)远程计算机1644)的逻辑连接在联网环境中进行操作。(一个或多个)远程计算机1644可以是个人计算机、服务器、路由器、网络pc、工作站、基于微处理器的设备、对等设备或其他公共网络节点等,并且通常包括相对于计算机1612描述的许多或全部元件。为了简洁起见,仅使用(一个或多个)远程计算机1644示出了存储器存储设备1946。(一个或多个)远程计算机1644通过网络接口1648逻辑地连接至计算机1612,并且然后经由通信连接1650物理连接。网络接口1648包括通信网络例如局域网(lan)和广域网(wan)。lan技术包括光纤分布式数据接口(fddi)、铜线分布式数据接口(cddi)、以太网/ieee802.3、令牌环/ieee802.5等。wan技术包括但不限于点到点链路、电路交换网络例如综合业务数字网(isdn)及其变型、分组交换网络和数字用户线路(dsl)。网络接口1648还可以包括近场通信(nfc)或蓝牙通信。

(一个或多个)通信连接1650涉及用于将网络接口1648连接到系统总线1618的硬件/软件。尽管出于图示清楚起见在计算机1612的内部示出了通信连接1650,但通信连接1650也可以在计算机1612的外部。用于连接至网络接口1648所需的硬件/软件仅为了示例性目的包括内部和外部技术,例如包括常规电话级调制解调器、电缆调制解调器和dsl调制解调器的调制解调器、isdn适配器和以太网卡。

图17是与所公开的主题可以进行交互的样本计算环境1700的示意性框图。样本计算环境1700包括一个或更多个客户端1702。(一个或多个)客户端1702可以是硬件和/或软件(例如线程、进程、计算设备)。样本计算环境1700还包括一个或更多个服务器1704。(一个或多个)服务器1704还可以是硬件和/或软件(例如线程、进程、计算设备)。例如,服务器1704可以容纳线程以通过采用本文中所描述的一个或更多个实施方式来执行变换。客户端1702与服务器1704之间的一种可能的通信可以具有适于在两个或更多个计算机进程之间传送的数据分组的形式。样本计算环境1700包括:通信框架1706,其可以用于促进(一个或多个)客户端1702与(一个或多个)服务器1704之间的通信。(一个或多个)客户端1702工作上连接至一个或更多个客户端数据存储装置1708,一个或更多个客户端数据存储装置1708可以用于存储(一个或多个)客户端1702本地的信息。类似地,(一个或多个)服务器1704工作上连接至一个或更多个服务器数据存储装置1710,一个或更多个服务器数据存储装置1710可以用于存储相当于服务器1704本地的信息。

上述内容包括主题发明的示例。当然,不可能为了描述所公开的主题而描述组件或者方法的每一个可想到的组合,然而,本领域的普通技术人员可以认识到,主题发明的很多另外的组合和置换都是可能的。因而,所公开的主题意在包括落入所附权利要求的精神和范围内的所有这样的变更、修改和变型。

具体地,关于由上述组件、设备、电路、系统等执行的各种功能,用于描述这样的组件的术语(包括涉及“手段”)除非另行指出,否则意在对应于执行所述组件的指定功能的任意组件(例如功能等同),即使在结构上不等同于执行本文示出的所公开主题的示例性方面中的功能的所公开结构。就此点而言,还应当认识到,所公开主题包括系统以及具有计算机可执行指令的计算机可读介质,这些计算机可执行指令用于执行所公开的主题的各种方法的动作和/或事件。

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

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

本文中所描述的各个方面和特征可以被实现为方法、装置或使用标准编程和/或工程技术的制造的物品。本文中所使用的术语“制造的物品”意在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如硬盘、软盘、磁条……)、光盘(例如致密盘(cd)、数字多功能盘(dvd)……)、智能卡和闪存设备(例如卡、条、键驱动器……)。

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