CN101197833A - 分布式消息引擎和系统 - Google Patents
分布式消息引擎和系统 Download PDFInfo
- Publication number
- CN101197833A CN101197833A CNA200710159691XA CN200710159691A CN101197833A CN 101197833 A CN101197833 A CN 101197833A CN A200710159691X A CNA200710159691X A CN A200710159691XA CN 200710159691 A CN200710159691 A CN 200710159691A CN 101197833 A CN101197833 A CN 101197833A
- Authority
- CN
- China
- Prior art keywords
- message
- engine
- interface
- data
- exchange
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Programmable Controllers (AREA)
- Computer And Data Communications (AREA)
Abstract
一种系统和方法,用于在统一的工厂模型(UPM)内,通过调用多个消息引擎而实现消息性能,所述消息引擎能够在这种系统中合作。在多个消息引擎中提供连接,以在消息引擎/服务之间提供实时的交互,其中每个消息引擎都对各种消息协议和格式的消息进行规范化。同时UPM的各种系统能够向其映射—并提供一致的接口,在系统中一致地通过该接口发送/接收事件。
Description
相关申请的交叉引用
本主题的申请涉及在2006年9月28日所提交的下述共同申请:律师编号为No.06/AB171(ALBRP498US),发明名称为“消息引擎”;律师编号为No.06/AB172(ALBR P499US),发明名称为“消息构造系统”;律师编号为No.06/AB173 (ALBRP500US),发明名称为“消息引擎查找和分类”。上述申请所公开的内容在此全部引入作为参考。
技术领域
本发明涉及工业控制系统,特别是,涉及与工业环境和/或在工业环境中促进可靠的消息传递的系统和方法。
背景技术
电子商务或e商务通常涉及通过电子媒介所进行的业务,该电子媒介例如是互联网(例如,通过万维网,或网站)。电子商务的交易通常是通过应用程序来实现的,除别的以外,例如网站服务、电子购物车、文件传输防议(FTP)、安全FTP、电子数据交换(EDI)、电子邮件和统一描述、发现和集成(UDDI)。电子商务的交易通常根据相互交易的参与方的类型而不同。例如,在企业和客户之间的商务通常称作企业对客户(B2C)的商务,而在企业之间的商务通常称作企业对企业(B2B)的商务。可以利用集成服务器来连接企业和/或客户的交易参与方,以及协调他们之间的通信。举例来说,使用了完全不同的操作系统和/或应用程序的两个企业可以使用集成服务器来通过内部或外部联网的计算机系统进行交互。
在很多情况中,电子商务会影响从控制系统所获得的信息,或影响控制系统。例如,通过经销商的网站而购买了汽车的客户可能会希望知道与生产这辆具有一组定制选项的汽车有关的交货时间。经销商会询问其制造厂,确认具有上述选项的汽车是否已经开始生产或将要生产。附加信息中的结果可以有助于确定何时这种汽车将到达经销商处。如果购买者决定提交客户订单(例如,其中不想生产具有给定的选项组合的汽车),则将客户说明提供至制造厂,并被用来在其中自动构造一个或多个控制系统。例如,客户可能指定将绿色作为汽车的外部颜色。该数据将被传输至控制系统,并被用来在组装该汽车时,自动选择合适的油漆喷枪(例如,与绿色油漆关联的油漆喷枪)或绿色油漆。
控制系统通常使用一个或多个工业控制器。典型的工业控制器是用于控制(例如,通过自动化或半自动化的装置)工业过程、机器、制造设备、制造厂等的专门用途的处理设备。这种控制器能够执行控制指令或程序,来测量一个或多个过程变量或代表受控过程的状态的输入,和/或完成与过程控制有关的输出。例如,通过从存储器向致动器,例如发动机、驱动器、电子管、线圈等,提供输出,输出模块可以直接与受控过程进行连接。在分布式控制系统中,可以通过将工业控制器分为多个控制组件来实现控制器的硬件构造,每个控制组件都可以执行不同的功能。控制任务所需的特定控制模块可以连接在架内的公共底板上,和/或通过网络或其他通信介质。
各个控制模块也可以沿公共通信链路在空间上分布于几个位置。数据可以通过公共通信链路或网络与这些远程模块进行通信,其中网络中的任一个或所有模块都通过公共和/或工业通信协议来进行通信。在控制系统内的控制器可以相互通信,与位于其他控制系统中的控制器通信,或与控制环境以外的系统或应用程序(例如,与商务有关的系统和应用程序)通信。
因此,信息管理,例如使用不同协议和构造的消息交换,正变得复杂。例如,将来自制造管理的信息映射为用于具有不同协议和格式的集成系统的过程控制和客户粘合代码,使构造和管理成为了非常困难的任务。并且,通信失败(例如,没有接收到或执行的消息)、延迟响应(例如,作为所发送的消息和重发的消息之间的时间差的功能)和附加开销(例如,用于查看所存储的通知、调度重传和重发的消息的过程循环的消耗)进一步加剧了其本身的问题。
发明内容
下面提供了对本发明的简要描述,以提供对上述一些方面的基本理解。该发明内容不是广泛的概括,并且不用于表示关键/重要的组件,或用于确定所要求保护的范围。其唯一目的是用于以简化的形式表示一些概念,作为之后更详细的描述的前序。
本发明提供了系统和方法,用于在通用工厂模型(UPM)中,通过调用多个在这种系统中合用的消息引擎来实现消息性能。在多个消息引擎中提供连接,以在消息引擎/服务之间提供实时的交互,其中每个消息引擎都对各种消息协议和格式的消息进行规范化。同时,UPM的各个系统可以映射至其上-并提供一致的接口,其中通过该系统连续地发送/接收事件。
根据进一步的方面,可以向多个消息引擎(服务)构造消息总线,其可以经由优选的信道与其他服务/产品通信,和经由基于开放式标准的接口与第三方产品通信。消息引擎之间的连接可以进一步被优化为具有信息级消息协议,这符合使用本发明的客户的需要。例如,第三方外部系统可以映射至与服务有关的标准模型。
并且,作为总线的构成部分的消息引擎能够在模块/应用程序之间提供实时的即时消息的交换。因此,这种消息引擎能够便于与其他服务/产品的通信(例如,经由优选信道),其中,该消息的构造和管理在系统中是一致的。在有关方面,消息引擎能够提供对质量的通用构造(例如,多个事件、命令、事件、报警、场景、交易和消息),并提供对引用和自述消息(除非自述消息以外)的支持。并且,消息引擎能够调节目录和其他UPM服务,以对其他消息引擎及其构造,以及其所支持的消息进行定位。由于消息引擎能够确定在系统中对消息的适当的映射和路由,因此这种信息能够进一步减少在构造和管理消息中的粘合代码。另外,可以提供对具有消息系统的额外观察的系统信息的公共视图(例如,为所有权和第三方所有权)。消息引擎的活动可以例如包括:对客户制造系统中的消息和事件的过滤、桥接、路由、传播、转换/监视。还可以提供对路由、数据转换、集合等(例如,第三方和所有权系统可以使用基于开放式标准的接口被集合)的支持。这种系统可以实现对制造系统的可结合的集合,从而实现对制造系统的设备的增长式的集合。
并且,可以实现数据映射,还可以实现高级信息接口(与原始数据接口相比)。另外,可以根据来自通用管理员环境的服务度量(例如,数据数量、往返时间、延迟、冗余、可靠性等)质量来构造、调用和管理消息系统。还可以根据在制造系统中的用户场景的环境来表示消息信息。例如,这种UPM消息结构能够支持向专用接口和其他第三方产品的接口,以使客户能够管理在工厂中通常存在的不同环境。向第三方系统的核心消息构造和接口可以在控制、制造执行系统(MES)和企业资源规划(ERP)系统中是一致的,从而减少向客户构造和管理的复杂度。
为了实现前述和相关目的,在此结合之后的说明和所附附图来描述所要求的实质内容的特定示例方面。但是,这些方面是用于表示各种方式中的一些方式,其中使用了所要求主题的原理,并且这些主题用于包含所有这些方面及其替换物。当结合附图时,从下面对本发明的详细描述中可以清楚得到其他优点和显著特征。
附图简述
图1表示根据本发明一个方面的消息交换系统,该系统具有面向通用工厂模型(UPM)消息引擎/制造消息总线的服务接口。
图2表示根据本发明一个方面的典型库组件,该库组件为产品系统设计/调用过程提供支持。
图3表示根据本发明一个方面,与开放式系统互连(OSI)模型相比,用于UPM消息协议的堆栈结构。
图4表示根据本发明一个方面的系统,该系统使用了消息引擎来对各种消息引擎和格式的消息进行规范化,以形成UPM消息。
图5表示典型的工业自动化网络,该网络使用消息引擎来交换消息和传递数据。
图6表示作为工厂自动化平台的一部分的实现消息交换的有关方法。
图7表示根据本发明一方面的典型消息交换方法。
图8表示根据本发明一方面的在控制系统和应用程序之间使用消息引擎的典型消息交换。
图9表示根据本发明一方面的消息引擎与第三方应用程序的交互。
图10表示服务消息与接口消息与支持这种服务的主机之间的关系。
图11表示根据本发明一方面的使用了消息引擎的特定消息系统。
图12表示根据本发明一方面的,从源向终点的消息交换的方法。
图13表示消息引擎,该消息引擎对各个消息协议和格式的消息进行规范化,其中这种模式的各个系统都能映射至其上。
图14提供了对结合本发明的各个方面的合适的计算环境的简洁、整体的描述。
具体实施方式
现在结合附图描述本发明,在全部附图中,使用相同的附图标记来表示相同的组件。在以下描述中,为了说明,使用了大量特定的细节来提供对所要求的主题的完整理解。但是,很明显,这些实质内容也可以不依靠这些特定细节来实施。在其他情况中,为了便于描述本发明,以结构图的方式来表示公知的结构和设备。
图1表示根据本发明的一个方面的消息交换系统100,该系统具有面向统一的工厂模型(UPM)消息引擎/制造消息总线的服务接口。该消息交换系统100能够被构造为具有多个消息引擎(服务),该消息引擎(服务)能够通过优选的信道与其他服务通信,并通过基于开放标准的接口与第三方产品通信。消息引擎102、104、106、108(1至n,其中n是整数)之间的连接可以进一步被符合使用本发明的用户的需求的信息级消息协议来优化。
应用程序121、122、123(OPC-OLE接口,为了过程控制而披露来自各个源的数据;控制和信息协议CIP,工厂会话实时数据)能够通过下面详细描述的,发送和接收消息的消息构造或服务与其他应用程序交互。这种消息总线的交互可以被集成至多个场景中。消息交换服务可以向消息级接口提供更高级别的接口,允许从消息中提取应用程序,以及反之,从应用程序中提取消息。制造消息总线同时支持消息和服务接口。应用程序121、122、123能够在不同的环境发送和接收消息;服务允许应用程序将消息处理功能与服务操作中的消息联系起来。
在消息交换系统100中,可以在库中构造消息组件(报警消息、命令消息、数据副本、事件消息、场景等),并被制造系统调用,这种调用过程可以与UPM库和调用模型一致。因此,可以通过传送被消息交换100有关的产品所执行的预定消息、服务和消息场景来扩展UPM消息和场景的值,这可以由终端用户来进行平衡。终端用户还可以定义其自身的消息和消息场景,并使用通用UPM调用和描述模型来调用组件。
图2表示对产品系统设计/调用过程提供支持的典型的库组件。这种库组件210能够从所调用的组件逆向构造(当安全权限允许时)。库包含消息、服务和场景的逻辑定义。消息定义215和服务定义217的库组件210可以被用于构造场景定义。应用程序(软件产品、控制系统程序等)可以使用这种定义来构造发送和接收消息、发布和连接至服务、以及发布所支持的场景的解决方案。因此,可以向与物理设备相连接的产品系统调用应用程序解决方案。并且,可以相连接至服务和系统中的产品所支持的原始消息接口的系统调用场景。另外,可以将场景扩展为典型地允许能够提供额外的功能而不改变应用程序。
并且,在数据驱动构造中,目录能够提供对工厂的逻辑视图,并同时提供向物理位置和/或设备地址信息的必要关联。所需信息的类型可以包括例如数据源/所有者的物理位置、数据使用者的物理位置、数据源/所有者的通信地址和位于多级的属性数据的通信地址。
当数据被请求时,可以使用目录系统来产生该数据的地址和关联。例如,用户可以选择工厂的逻辑UPM描述来选择数据。根据用于请求数据的应用程序,以及用户的角色和需求,目录界面能够提供有关所需数据的适当地址信息。在一些情况中,例如自动化设备向自动化设备的通信,该地址可以直接指向数据源/所有者。在其他情况中,例如ERP人力资源应用程序中,该关联可以是指向属性数据的代理服务器,以将数据请求服务与作为数据源的自动化设备的实时控制过程分离开。应当理解,与该数据有关的物理位置可以是数据源/所有者的物理位置,而通信地址可以是网络中其他一些执行添加属性的角色,或作为对该数据的代理服务器的设备的通信地址。
图3表示根据本发明的一个方面,相对于开放系统互连(OSI)模型302的用于UPM消息协议的堆栈结构301。根据本发明的一个方面,UPM消息模型的堆栈301与能够为消息交换启动库功能/指令的用户过程、控制程序或系统相结合。该消息库功能和控制指令335能够促进类型转换和消息与本发明的消息引擎的交换。消息服务协议接口335管理数据转换,并将消息路由至其他节点或应用对象。同样,堆栈340管理通信协议和当前消息,以用于消息的传送以及接收。并且,堆栈350管理与其他节点进行数据交换的消息协议。堆栈360、370和380分别为消息的物理传输管理网络、网络协议和物理层。
因此,消息过程被分割为适当的级别一例如,消息格式层使该层集中于该级别所需要的功能。这种通信包括查找位于任何网络(例如,基于NetLinx、控制和信息协议(CIP)、Data Highway Plus(DH+)的网络)中的任何控制器,来浏览、获取和/或修改数据、文件、服务和/或应用程序。该通信还可以向位于和/或在控制器或设备内部执行的任何文件、服务和/或应用程序提供持续的更新。这种更新可以是动态的,并减轻任何对下载新防火墙的需求,以增强其功能性,以及提供版本管理。
图4表示了根据本发明一个方面的结合了消息引擎404的系统400,以对各种消息协议和格式的消息进行规范化,从而形成UPM消息。该消息引擎404能够在多个应用程序406和/或模块408之间, (m和n是整数)提供一致的接口,其中事件一致地通过工业工厂发送/接收。通常,术语模块可以涉及计算机有关的实体,或者是硬件、硬件和软件的结合、软件或执行软件,以及机电结合的组件。例如,模块可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行的、线程、程序和计算机。为了表示方便,在服务器上运行的应用程序和/或服务器可以是模块。另外,模块可以包括一个或多个子组件。并且,本领域技术人员应当清楚,本发明可以用其他计算机系统构造来实施,包括单处理器或多处理器的计算机系统、微型计算机、主机计算机以及个人电脑、手持计算设备、基于微处理器的和/或可编程的消费电器等,其每个都可以可操作地与一个或多个有关设备通信。该消息引擎404可以进一步在不同的逻辑和物理级别为多个消息信道提供支持,例如:诊断、生产等。
因此,位于工厂层的工业控制器410能够与消息引擎404交互,以便于根据通用工业协议401对通信进行规范化。例如,工业控制器410能够被调用来控制某一需要测试和/或调试的层/单元或过程。特别是,工业控制器410能够包括控制逻辑的至少一部分,该控制逻辑被调用来实现前述过程和/或层/单元。并且,工业控制器410能够是可编程的逻辑控制器(PLC)。PLC是小型的计算机,用于自动操作实际过程(例如,控制工业环境中的机器)。典型地,PLC是具有可组合的或集成的输入/输出电路的基于微处理器的设备,其中这种电路用来监测连接至现场的传感器输入的状态,并被进一步用来根据逻辑程序控制输出致动器。尽管可以在系统400中将PLC作为工业控制器来使用,但是应当理解,根据本发明可以使用任何合适的工业控制设备。例如,可以在系统400中将任何适当的微处理器和/或微控制器用作工业控制器。
图5表示典型的工业自动化网络,该网络使用了消息引擎533来交换消息,并通过目录界面540传送数据至:数据库510、人机界面(HMI)520和可编程逻辑控制器(PLC)530。目录界面可以包括AI组件550,用来促进在特定网络内对所需数据的有效识别。目录界面540可以被用于从合适的位置,例如数据源560、服务器570和/或代理服务器580提供数据。因此,目录界面540可以根据请求者的角色和需求而指向数据源(例如,数据库510、HMI 520、PLC 530等)。数据库510可以是各个类型的任何数量,例如有关的、网络、普通文件或分级系统。典型地,这种数据库可以与各种企业资源计划(ERP)应用程序一起使用,该企业资源计划应用程序可以在公司内为各种与任何数量的各种业务有关的过程服务。例如,ERP应用程序可以与人力资源、预算、预测、购买等有关。并且,特定的ERP应用程序会需要具有与其相关的特定所需属性的数据。因此,根据本发明的一个方面,目录界面540能够从服务器570向数据库510提供数据,该服务器提供具有数据库510所需的属性的数据。可以进一步使用各种人工智能组件550,来便于识别网络和应用程序中的数据标识。
如图5所示,消息引擎550能够促进目录界面540和其他UPM服务对其他消息引擎及其构造,以及所支持的消息进行定位。由于消息引擎能够确定在系统中对消息的合适的映射及路由,因此这种信息可以进一步减少在构造和管理系统中的粘合代码。另外,可以通过这种消息引擎实现对具有消息系统附加观察的系统信息的公共视图(例如,为所有权人和第三方所有权)。消息引擎的活动可以实现例如:对客户制造系统中的消息事件的过滤、桥接、路由、传播、转换和监测。还可以提供对路由、数据转换、集合等(例如,第三方和所有权系统可以被集合至基于公共标准的接口)的支持。这种在工业系统构造内的消息引擎增强了性能,并便于系统的广泛构造/管理。
并且,HMI 520能够使用目录界面540来指向位于系统500内的数据。可以使用HMI来用图形表示过程、系统、工厂等的各个方面,以提供简单的或用户友好的系统视图。因此,系统内的各个数据点都可以作为具有所需的颜色体系、动画和设计的图形(例如,位图、peg、基于图形的矢量、剪贴画等)表示来显示。
HMI 520可以请求数据具有与该数据有关的特定可视化属性,以方便地将这种数据向HMI520显示。例如,HMI520可以向目录界面540请求具有有关的可视化属性的特定数据点。该目录界面540能够确定包含有具有所需的可视化属性的属性数据点的代理服务器580。例如,该属性数据点可以具有特定的图形,该图形或者是被数据所引用,或是与数据一起,这样,在HMI环境内,该图形代替数据值,或者与数据值一起出现。
如前所述,PLC 530能够是任何数量的模型,例如Allen Bradley PLC5,SLC-500,MicoLogix等。PLC 530通常被定义为专用设备,用于提供过程和/或系统的高速、低级控制。可以使用梯形逻辑或一些结构语言的形式来对PLC530编程。典型地,PLC可以直接使用数据源的数据(例如,数据源560),该数据源可以是传感器、编码器、测量传感器、开关、电子管等。该数据源560能够向PLC中的寄存器提供数据,且如果需要的话,这种数据可以被存储在PLC中。另外,或可替换的,数据可以被更新(例如,根据时钟周期),或被输出至其他设备,用于进一步的处理。
图6表示根据本发明的一个方面的方法。虽然该典型方法在此是以一系列代表各个事件和/或动作的框图来表示和描述的,但是,本发明并不限于这种按顺序表示的框图。例如,根据本发明,在此所描述的顺序以外,一些动作或时间可能会以不同的顺序发生,和/或与其他动作或时间同时发生。另外,要完成根据本发明的方法,并需要所有所示的框图、事件或活动。并且,应当理解,根据本发明的典型方法和其他方法可以以根据在此所表示和描述的方法来完成,也可以根据在此没有表示或描述的其他系统和装置来完成。首先,在610,为了工业设置,而为消息、事件、命令和报警建立文件库。例如,报警可以包括专门的状况事件。可以通过报警事件来进行对报警的启动,并且,向接收机携带报警的消息可以表示报警消息。同样,可以在系统中的指定时间点进行活动,其中,自动化产品产生并接收时间。可以将与事件有关的信息作为消息在源和时间信息的接收机之间发送。另外,命令可以包括由源发送至接收机,以执行某些特定功能的命令(请求)。这种命令的启动是通过命令事件,其中将该命令传送至接收机的消息被分类为命令消息。
接下来,在620,可以将产品消息定义映射至统一库。因此,在630,用于由工业产品管理消息,并引用库中的消息定义的有关基础可以被提供在平台中,作为UPM结构。接下来,在640,可以建立多个库,代表用于工业设置的不同工业操作。这样能够便于与其他设备/产品的通信(例如,通过优选的信道),其中,在整个系统中,消息的构造和管理都是一致的。
图7表示作为工厂自动化平台的一部分的,便于消息交换的有关方法。在710开始,在多个模块和应用程序之间相互操作消息总线,该消息总线与消息引擎进行交互。这种消息引擎能够使目录和其他UPM服务指向对其他消息引擎和其构造以及所支持的消息进行定位。消息引擎的活动可以涉及例如对客户制造系统中的消息事件进行过滤、桥接、路由、传播、转换和监测。接下来,在720,为工厂自动化平台确定消息引擎场景,其中,这些场景可以用来将第三方产品/设备映射至工厂自动化平台。接着,在730,可以对来自各个协议的消息进行规范化,以提供一致的接口,事件和模块在系统和消息总线中是通过该接口发送/接收。接着,在740,可以提供通用的质量,例如多个事件、命令、事件、报警、场景、交易等消息)的构造,其支持对自述消息的引用。例如,对库的消息可以为物料、设备而定义(和存储),而为工厂使用其他的工业组件。
图8表示根据本发明的一方面,通过消息引擎在控制系统和应用程序(例如,软件应用程序)之间的典型消息交换。系统800用于实现与工业自动化环境,或在工业自动化环境内,发送消息。系统800包括消息代理引擎810,该消息代理引擎对各个消息协议和格式的消息进行规范化化,并向与控制系统820的可靠性交换消息(例如,信息、数据、请求、询问、控制信号等)提供机制。例如,在一个方面,消息引擎810能够作为应用程序接口,并在应用程序之间(例如,820和840)提供通用接入点。如图所示,在消息交换系统800中,应用程序可以通过消息引擎(810)外露的接口与消息系统交互,其中这种消息引擎在发射者和接收者之间交换信息。这样,消息结构的表示可以与每个用户的角色和位置一致。
例如,与控制系统820有关的控制程序可以通过“发送消息”的指令来发送消息,而软件应用程序通过“接收消息”的功能来接收消息。相反,软件应用程序840可以通过“发送消息”的功能发送消息,而控制系统820的控制程序通过“接收消息”的指令来接收消息。系统也可以使用一套相同的应用程序级别构造。应当理解,消息的基础构造可以在功能性上不同,且可以根据主机环境和有关的系统来提供不同级别的功能性。并且,每个消息级别能够支持通用构造接口和公共接口的表示,以实现对整个系统的消息的管理控制的一致表现。因此,在每一级别,消息引擎810能够在该级向产品提供一致的外部接口,并能够向其他网络过渡,在网络之间提供所需的数据/安全映射和转换。并且,可以在相同的机器或在机器之间通过应用程序复制数据。本发明的UPM消息提供了通过一组一致的接口来实现本发明的方法。例如,系统中的用户接口设置会产生用于消息组件的构造,该消息组件在系统组件之间复制数据。消息系统提供复制功能,并能够根据复制的成功和频率来生成状态信息。
消息引擎810还能够通过被用做灵活的数据存储而来提供可靠的消息。例如,任何由控制系统820的组件所发送的、具有写入和/或读取权限的消息都能够被存储在和/或从消息引擎810中检索出来。同样,任何由组件发送至控制系统820的、具有写入和/或读取权限的消息都可以被存储在和/或从消息引擎810中检索出来。这样,消息的传输可以独立于接收机的状态(例如,在控制系统820外部的实体),和/或消息的接收者可以独立于发送者的状态(例如,控制环境外部的实体和/或控制系统820的一个或多个组件);并且,这样,可以可靠地交换消息(例如,同步或异步),而不用考虑是否发送方和接收方当前都可交互和/或交换数据。
这种消息交换的安排可以包括1对1(1∶1),1对多(1∶n,n为整数),或多对1(n∶1)的消息发送方和接收方的比例,而服务质量(QOS)的各级包括可变的消息,例如“发后不管(fire and forget)”,这是发送一次且不需要可靠传送。其他方式,例如QQS传输方式和非易失性的消息,例如带有可靠传输的发送,发送一次,并且只有一次是可靠传送,都完全在本发明的范围之内。因此,这种消息引擎能够便于与其他服务/产品通信(例如,通过优选的信道),其中在整个系统中,消息的构造和管理都是一致的。
消息引擎820还可以位于控制系统820内(例如,在有关的工业控制器内)。并且,消息引擎810可以与人机界面(HMI)、I/O模块、电桥、I/O模块等一起存在。并且,应用程序/外部单元840可以进一步与状态机、遥控设备、用户、数据库、服务器、客户、集成服务器、人力资源计划(ERP)、制造执行系统(MES)和机器控制(MC)系统有关。另外,外部实体可以包括一个或多个业务系统和/或应用程序。这种系统和/或应用程序可以与一个或多个集成服务器、中间件和/或能够与控制系统820通信的其他部件有关。消息引擎810能够提供质量的通用构造(例如,多个事件、命令、事件、报警、场景、事务和消息),并为引用和自述消息提供支持。
并且,消息的发送方可以知道或不知道该消息是通过消息引擎810所路由的。例如,发送方可以发送通常的广播或指明目的地。在传输时,通常发送方不需要知道该消息在被传送至目的地之前,被接收和/或被存储在消息引擎81中。
相反,在本发明的另一方面中,发送方知道路由路径要通过消息引擎810。并且,消息引擎能够引导目录和其他UPM服务来对其他的消息引擎和其构造,以及所支持的消息进行定位。由于消息引擎能够确定在系统消息适当的映射和路由,因比这种信息能够进一步减少在系统的构造和管理中的粘合代码。在有关的例子中,控制系统820能够执行(例如,激发,以其实例说明)可靠的确定消息引擎810的位置的消息指令,来建立与这种消息引擎的连接(例如,使用缓存的连接或连接池)。控制系统800还能够向消息引擎810传送消息,和/或从消息引擎810接收代表消息传输的确认。
这种方法可以进一步被用在例如基于公布/订阅和/或基于轮询的消息系统内。在基于公布/订阅的系统中,消息可以与一个或多个接收方有关,包括所有或全部同意接收消息和/或阅读在特定的消息存储区域所发布的消息的接收方,该消息存储区域例如是话题、队列、邮箱等。消息引擎810能够向这些用户发送事件和/或通知(或通常的广播),来通知其已经发布、公开和建立了消息,或利用与用户的连接而向其发送数据、将数据排列等待,直到根据保留协议等,用户再次可用。发布者和用户可以保持与消息引擎810的连接,用户在特定的消息队列等待,或一个面向多个信息话题。因此,当发布方向队列或话题发布了消息时,所有的用户都被立刻通知,并作为通知的一部分,接收实际的消息。同时,用户可以请求消息引擎810提供更高级的服务,并要求消息引擎810在该用户下线时,将用户消息列队等待。有了这种类型的服务,用户可以在即使是网络连接中断的情况下,也能保证不错过重要的信息。
发布方、用户和代理可以彼此协商,以建立最有效的,最佳性能的数据传输机制。例子包括选择最快的网络链接、集合数据消息(例如,提供生成一个具有两个话题得更大的消息,而不是两个分离的消息)和单播或多播、或当需要的时候广播消息、和重定向至性能更好的服务器。客户能够要求消息引擎810仅根据限制来发送消息、在传输之间使用最小时间间隔来发送消息、同时组发多个消息、在一段时间后删除未处理的消息(例如,24小时)、在一段时间后转发至别的队列(例如,10分钟后转发至增加组或垃圾箱)等。同时,一个或多个用户可以同时和/或陆续访问所存储的消息。这种访问可以包括:读取、复制、修改、移动、删除、取出等。在基于轮询的系统中,接收方可以周期性轮询消息引擎810,以确定消息是否可以被读取和/或检索。
在有关方面,一个或多个接收方能够同时和/或陆续轮询和访问所存储的数据。在另一种情况中,可以使用端对端的技术,其中接收方处理(例如,获取、复制、移动等)来自消息引擎810的消息。另外,可以通过这种消息引擎810来实现对具有消息系统附加观察的系统信息的公共视图(例如,为所有权人和第三方所有权)。消息引擎的活动可以例如用于:对客户制造系统中的消息事件的过滤、桥接、路由、传播、转换和监视。还可以提供对路由、数据转换、集合等(例如,可以将第三方和所有权系统集合至基于开放标准的接口)的支持。这种工业系统构造内的消息引擎810增强了性能,并且有助于系统的广泛构造/管理。
同样,控制系统820可以包括一个或多个控制系统(未示出),其中各个控制系统可以包括一个或多个控制器(未示出),该控制器能够控制各种设施、机器、装置、过程、系统、设备等。另外,该一个或多个控制器能够执行一个或多个智能代理和/或控制逻辑(例如,以工业和/或其他语言编写的编程、程序、指令组等),来控制各种设施、机器、装置、过程、系统、设备等。这种控制可以包括获取和/或分析输入和/或产生对所控制的设施、机器、装置、过程、系统、设备等进行控制的输入。并且,该一个或多个控制器可以包括一个或多个接收、发送和/或收发组件(未示出),该组件有助于交换消息。并且,消息引擎810和/或控制系统820的任何组件都能够是硬件、软件和/或基于硬件和软件的固件。例如,控制环境内的工业控制器可以是软件(例如,所实现的软件)和/或物理控制器(例如,具有适当的软件和/或固件的硬件),包括以太网接口或通过底板或其他网络连接与以太网接口连接的接口、人机界面和I/O模块设备和/或其结合。
并且,控制系统820可以与任何适当的通信协议有关;例如控制和信息协议(CIP),用于通过DeviceNet,ControlNet,以太网/IP和/或控制器局域网(CAN)通信的协议,用于通过Prifibus,Interbus-S,RIP,P-Net和AS-I通信的现场总线协议,用于通过互联网通信的传输控制协议(TCP)和互联网协议(IP),用于通过局域网和广域网(LAN和WAN)通信的NetBios扩展用户接口(NetBEUI),用于在工作站、服务器等之间通信的文件传输协议(FTP),用于通过万维网(WWW)通信的超文本传输协议(HTIP)等。另外,可以通过有线和/或无线通信技术来与消息引擎810通信。根据本发明所能够使用的通信体系的例子包括:以太网、串行端口、并行端口、同轴电缆、红外(IR)、蓝牙、通用串行接口(USB)、火线、WiFi、WiMax、802.11A,B,G、802.15.4、通用即插即用(UPnP)、超宽带(UWB)等。合适的通信介质的例子包括类别1-5线路(例如,CAT5 UTP 8线缆)、同轴电缆、USB、RS-232、RS-485等。
并且,消息引擎810能够结合存储器或任何适当的存储介质。例如,消息引擎810可以包括非易失性和/或易失性存储器或寄存器。适当的非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、电池支持的RAM、MRAM或闪存。易失性存储器可以包括随机存取存储器(RAM),其作为外部缓存。为了进行表示,而不是为了限制,RAM可以有很多可用形式,例如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR DSRAM)、增强SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、直接总线式RAM(RDRAM)、电池BACKEDRAM。存储器可以例如包括磁盘驱动,机械的和固态的,例如SATA/IDE/SCSI磁盘驱动、微型驱动、USB和小型闪存设备,以及远程存储器,例如网络文件系统(NFS)、通用互联网文件系统(CIFS)共享、存储区域网络(SAN)、网络附属存储器(NAS)和iSCSI接口。
图9表示根据本发明一个方面的消息引擎911与第三方应用程序的交互。消息引擎911能够在模块/应用程序之间提供实时的即时消息的交换,其中控制器的性能能够提高UPM消息性能。该UPM消息构造900能够为第三方连接和其他所有权系统将这种内部高级连接接口映射至公共的开放式接口。接口910将服务和消息级应用程序接口呈现给消息总线(未示出)。控制和信息协议(CIP)协议920作为消息构造的一部分,能够与消息引擎交互,以便于消息交换。
图10表示本发明进一步的方面,其中表示了服务与接口的关系。通常,接口1021表示用户(例如,工业工厂的工程师),具有界线,该界线在与用于有关的程序和系统中的其他程序之间共用。服务操作1021也可以与将应用程序连接起来所需的附加信息有关。这种信息可以根据客户需求和性能而由引擎、系统综合器或系统管理员来提供。该接口1021也可以被定义为类别定义的一部分,或由外部接口或服务定义来输入,其中模块编辑者可以观测服务信息,以作为与接口有关的附加服务属性。
例如,模块接口的客户能够对支持所正在被查找的接口的服务进行定位。这种服务能够向客户建议为了将模块连接在一起而需要满足的事务(安全、格式等)、传输(在存储器中、HTTP等)和诊断。这种信息可以进一步被分组为适合用户观看的格式。这种信息也可以被端口(例如,仅在存储器表示)或被接口功能过滤。
图10还表示了如何将服务信息与接口信息和支持这种服务的主机连接在一起。服务可以包括为了完成该接口所需的接口环境。这种信息可以便于对接口的连接标准化,例如当多种传输都可用时。服务实现了以一致的方式来获得传输选项,从而减小了复杂度。如图10所示,在制造商1022,工业工厂的工程师可以通过服务操作和服务元数据,将应用程序的接口显露出,以将元数据与接口连接,以用于所需的客户交互。如在1006所示,接口可以与服务结合;例如,该接口可以是应用程序制造者的视图,其中该服务是可操作的/实施视图。并且,客户可以浏览服务,以对功能定位,并且这种服务可以包含对所表示的功能的客户/系统视图,其中该系统视图标识出了“什么”、“哪里”和“怎样”。另外,该服务操作实现了使用接口上的动作(例如,输入、输出、通知等)来将通信和调用数据连接。消息是接口和通信/映射所支持的变量/数据的通用格式。
图11表示根据本发明的结合了消息引擎的特定消息系统。如图所示,该UPM消息系统1100提供了通用的结构,用于将产品,例如综合器组件1110、工厂记录1120、微型记录1120和控制器组件1140结合在一起(与UPM消息定义一起),并提供通用管理接口。UPM消息还为与第三方产品的交互操作提供了构造,这可以对用户是隐蔽的。如下文所详细解释的,这种集合可以进一步包括面向外部信息的接口,例如:网络服务接口、数据的同步副本:例如:数据在数据存储器中的副本,以及对外部信息的引用:实时数据标签所支持的MES数据值。
图12表示了根据本发明的,从源向目的地进行消息交换的进一步的方法1200。在1210开始,本发明的消息引擎串行化UPM对象或能够产生特定的消息(例如,按照与单个事件、报警、命令相同的方式来管理场景中所产生的消息)。例如,这可以包括读入由库功能/指令或消息输入序列所提供的消息。
这种消息之后在1220被提交至传输接口,例如通过识别出向其分配的输出协议接口。接下来在1230,消息在系统中传输,并进行与其有关的数据转换(例如,由消息系统所管理的语法转换,合由消息引擎以及理解消息内容的环境的应用程序对象所管理的语义转换)。在1240,当穿过网络和应用程序边界时,消息格式进行转换。接着,在1250,这种消息能够被目的应用程序所使用,在该目的应用程序处,该消息被解串行化为该应用程序能够使用的对象。消息目的可以是完全意义的地址,或逻辑话题的发布。如果该目的是逻辑话题,则消息引擎可以对话题的用户进行定位,并将消息分配至于用户有关的服务接口。
图13表示系统1300,该系统通过消息引擎在控制和业务系统之间交换消息。该系统1300包括工业控制器1305,该工业控制器具有以太网/IP接口13 10、控制网接口1315和设备网接口1320。该以太网/IP接口提供与位于以太网/IP网络1335中的设备1325和设备1330的通信。控制网接口1315提供与位于控制网络1360中的非基于TCP/IP的设备1340、1345、1350和1355(在下文总的称为1340-1355)的通信。设备网接口1320提供与位于设备网络1380中的非基于TCP/IP的设备1365、1370和1375(在下文总的称为1365-1375)的通信。设备1325、1330、1340-1355和1365-1375可以被用来控制各种工业过程、机器、制造设备、设施等,并且可以包括输入、输出、存储器和处理模块,以用于控制。各个控制器能够执行控制用于获得和/或分析输入,并且/或者产生用于控制被控制的实体(例如,发动机、驱动、电子管、螺线管、开关……)的输出的编程、程序、指令组等。这种控制编程可以以几乎是任何编程语言来编写,该编程语言包括工业控制语言(例如,ST,SFC,FBD,IL和LD)、C、C++、C#、GML、Java、流程图等,和/或其任何的组合,并且/或者包括用于同步数据活动和/或执行交换和/或基于事件的任务的目的的新指令。这些基于事件的任务可以被构造为停止,并等待接新的消息或消息传送。
工业控制器1305进一步包括具有TCP/IP适配器1390的集成组件1385,该TCP/IP适配器能够在设备1325、1330、1340-1355和1365-1375与消息引擎1395之间提供TCP/IP网关。消息引擎1395可以是计算机、服务器、群集器或被设计和用于连接和实现业务和/或消费者交易方之间的交互的面向服务的体系结构(SOA)。举例来说,使用了不同操作系统和/或应用程序的两个业务可以使用消息引擎1395来在内部和外部联网的计算机系统中交换消息。同样,消费者和公司可以使用消息引擎1395来在不同的系统之间交互。公司方之间的业务通常被称作公司对公司(B2B)的业务,并典型地包括在两个公司之间进行交换基金、货物、服务和/或数据的交易。在公司和消费者之间的业务通常被称作公司对客户(B2C)的业务,并通常包括例如服务、信息和/或产品交换的交易。消息引擎1395能够为各种平台和/或应用接口作为具有适配器的数据开关。
应当理解,消息引擎1395可以被设计为支持各种预先打包的、定制的和/或旧的应用程序。这种应用程序可以被设计为是根据例如XML,HTTP,JMS,SOAP,LDAP,WS-*等的标准。另外,也可以根据本发明的一方面使用基于星形的服务器和基于网络中心的集成服务器。通常,在基于星形的集成服务器,应用程序通过中心服务器连接,该服务器管理在所连结的系统和应用程序之间的通信、数据转换和过程互动。在基于网络中心总线的集成服务器,节点沿通用主干线连接,而在互联的系统和应用程序之间的通信沿该主干线传送至集成服务器,该集成服务器管理数据转换、转化和路由至接收节点。
另外,TCP/IP适配器1390能够在设备1325、1330、1340-1355和1365-1375与消息引擎1395之间提供TCP/IP网关。该网关可以用作以太网、网页、文件传输、HTTP、HTTPS、操作系统和/或例如Java虚拟机(JVM)和API的操作环境。另外,该网关可以提供数据传输和API,例如JMS、JDBC、JTA等。并且,该网关可以在控制器1305和消息引擎1395、LDAP目录服务和/或可靠的消息接口之间提供防火墙和/或安全性能,例如SASL(例如,Kerberos……)和SSL。应当理解,组件1390,通常称作TCP/IP适配器,可以代表通信组件,该通信组件包括TCP/IP、UDP/IP、多播以太网协议,包括IPv4和IPv6。设备1325、1330、1340-1355和1365-1375中的任何一个都可以使用集成组件1385和TCP/IP适配器1390来与消息引擎1395通信,并进一步与设备1325、1330、1340-1355和1365-1375通信。该性能能够被用于减轻对任何中间件和额外PC盒和轮询协议的需求,例如,如传统的用于实现这种交互的系统所使用的。在设备1325、1330、1340-1355和1365-1375与消息引擎1395之间的通信可以包括,但不限于,服务于基于网页的数据(例如,网页、数据视图、XML、网页对象、DIP对象……),公开信息(例如,消息、数据、标签、状态、状况、错误消息……),用于接收信息和/或轮询信息。另外,通信可以包括下载、发送、停止、更新、暂停、监视和/或移动应用程序。并且,适当的通信包括查找设备1325、1330、1340-1355和1365-1375中的任何一个。
为了提供额外的环境,图13和以下讨论是用于提供对具有控制器和/或UPM消息结构的合适的计算机环境的简洁的、大概的描述,其中可以实施本发明的各个方面。虽然已经在上文中在通常的计算机程序的可在本地计算机和/或远程计算机上运行的计算机可执行的指令的环境中描述了本发明,但是本领域技术人员将会认识到,本发明还可以与其他程序模块一起实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例行程序、程序、组件、数据结构等。
并且,本领域技术人员应当理解,所发明的方法可以以其他计算机系统构造来实施,包括单处理器或多处理器计算机系统、微型计算机、主机计算机,以及个人电脑、手持计算设备、基于微处理器的和/或可编程的消费电器等,其每个都可操作地与一个或多个相关设备通信。所示的所要求的实质内容的各方面也可以在分布式计算环境中实施,该计算环境中,某些任务是由通过通信网络而连接的远程处理设备来完成的。但是,如果不是全部,也有一些本发明的方面可以在单个计算机上实施。在分布式计算机环境中,程序模块可以位于本地和/或远程存储寄存设备中。
参考图14,典型的用于实现所要求的实质内容的各个方面的环境1400包括计算机1412。该计算机1412包括处理单元1414、系统存储器1416和系统总线1418。系统总线1418与系统组件相连接,该系统组件包括,但不限于,系统存储器1416至处理单元1414。该处理单元1414可以是各种任何可用的处理器。双微处理器和其他微处理器构造都可以被用作处理器单元1414。
系统总线1418可以是几种总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种总线构造中的任何一种的本地总线,包括但不限于,工业标准结构(ISA)、微通道结构(MSA)、扩展SIA(EISA)、智能驱动电子(IDE)、VESA本地总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、加速图形接口(AGP)、个人电脑存储卡国际协会总线(PCMCIA)、火线(IEEE 1394)和小型计算机系统接口(SCSI)。
系统存储器1416包括易失性存储器1420和非易失性存储器1422。基本的输入/输出系统(BIOS)存储在非易失性存储器1422中,该系统包含基本的用于在计算机1412的组件之间传送信息的程序,例如在启动时。为了清楚起见,而不是为了限制,非易失性存储器1422可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器1420可以包括随机存取存储器(RAM),其作为外部缓存。为了进行表示,而不是为了限制,RAM可以有很多可用形式,例如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR DSRAM)、增强SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、直接总线式RAM(RDRAM)、直接总线式动态RAM(DRDRAM)和总线式动态RAM(RDRAM)。
计算机1412还包括可移除/不可移除、易失性/非易失性计算机存储介质。图14表示了例如磁盘存储器1424。磁盘存储器1424包括,但不限于,类似磁盘驱动、软盘驱动、磁带驱动、Jaz驱动、Zip驱动、LS-100驱动、闪存卡或存储棒。另外,磁盘存储器1424可以包括分离的,或与其他存储介质相结合的存储介质,包括,但不限于,光盘驱动,例如光盘ROM设备(CD-ROM)、CD可录驱动(CD-R Drive)、CD可写驱动(CD-RW Drive)或数字化通用磁盘ROM驱动(DVD-ROM)。为了便于磁盘存储设备1424向系统总线1418的连接,典型地使用可移除地或不可移除的接口,例如接口1426。
应当清楚,图14描述了软件,该软件用作在适当的操作环境1400中所描述的用户和基本计算机资源之间的中介。这种软件包括操作系统1428。操作系统1428可以被存储在磁盘存储器1424上,该操作系统用于控制并分配计算机系统1412的资源。系统应用程序1430通过程序模块1432和程序数据1434来使用操作系统1428的资源管理,该程序模块和程序数据或者是存储在系统存储器1416中,或者是在磁盘存储器1424上。应当理解,所要求保护的实质内容可以以不同的操作系统或不同操作系统的结合来实现。
用户通过输入设备1436来向计算机1412输入命令或信息。输入设备1436包括,但不限于,指示设备,例如鼠标、滚轮、指针、触摸板、键盘、麦克风、操纵杆、游戏键盘、圆盘卫星天线、扫描仪、TV调谐卡、数字照相机、数字摄像机、网络照相机等。这些或其他输入设备经由接口端口1438而经过系统总线1418连接至处理单元1414。接口端口1438包括,例如,串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1440使用一些与输入设备1436的端口相同类型的端口。因此,例如,可以使用USB端口来向计算机1412提供输入,并从计算机1412向输出设备1440输出信息。输出适配器1442用于表示,除其他输出设备1440以外,还有一些输出设备1440,例如监视器、扬声器和打印机等需要专门的适配器。输出适配器1442包括,例如但不限于,视频和音频卡,其在输出设备1440和系统总线1418之间提供了一种方式的连接。应当注意,其他设备和/或设备系统同时提供了输入和输出功能,例如远程计算机1444。
计算机1412可以在逻辑连接到一个或多个远程计算机的网络化环境中操作,例如远程计算机1444。远程计算机1444可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的应用程序、端设备或其他通用网络节点等,并典型地包括所述与计算机1412有关的组件中的一些或全部。为了简洁起见,仅表示了一个与远程计算机1444相连接的存储器设备1446。远程计算机1444在逻辑上通过网络接口1448连接至计算机1412,并物理地通过通信连接1450来连接。网络接口1448包含有线的和/或无线的通信网络,例如局域网(LAN)和广域网(WAM)。LAN技术包括光纤分布式数据接口(FDDI)、铜缆分布式数据接口(CDDI)、以太网、令牌网等。WAN技术包括,但不限于,点对点链路、电路交换网,例如综合业务数字网(ISDN)及其上的变形、数据交换网络和数字用户线路(DSL)。
通信连接1450涉及用于将网络接口1448连接至总线1418的硬件/软件。虽然为了清楚起见,将连接1450表示在计算机1412内部,但是也可以在计算机1412外部。连接至网络接口1448的连接所需的硬件/软件包括,仅用于举例的目的,内部和外部技术,例如调制解调器,包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器和以太网卡。
在本申请中所使用的,术语“组件”、“处理器”、“模型”、“系统”等也都是用于涉及计算机有关的实体,除机电结合单元以外,或者是硬件、硬件和软件的结合、软件,或者是执行软件。例如,组件可以是,但不限于是,运行在处理器上的进程、处理器、对象、可执行的、线程、程序和/或计算机。为了清楚起见,在服务器上运行的运行程序和服务器都可以是组件。进程和/或线程内部可以存在一个或多个组件,组件可以位于一个计算机上,和/或分布于两个或更多计算机之间。同时,这些组件能够执行各种在其上存储有各种数据结构的计算机可读介质。这些组件可以通过本地和/或远程进程,例如根据包含一个或多个数据包的信号来通信(例如,通过信号,来自一个组件的数据可以与本地系统中的、分布式系统中的另一个组件,和/或通过例如互联网的网络而与其他网络进行交互)。在有关方面,除具有在单个位置中的具有有限单元数量的工业设置,术语“系统”还涉及在全球/分布式制造商包含多个位置的制造/信息控制设置。
上面所描述的内容包括本发明的例子。当然,为了描述所要求保护的实质内容,不可能描述出每一个所能想到的组件或方法的结合,但是,本领域技术人员应当清楚,很多对本发明进一步的集合和改变都是可能的。因此,所要求保护的实质内容用于包含所有这些替换、修改和变形,这都落入所附权利要求的精神和范围之内。
特别是对于由上述组件、设备、电路、系统等所执行的各种功能,用于描述这种组件的术语(包括涉及“方式”)是为了对应于,除非特别指出,任何能够执行这种上述组件的特定功能的组件(例如,功能性等同),尽管其与所公开的结构在结构上不相同,该所公开的结构在此执行所要求保护的实质内容的典型方面所表示的功能。从这点看,也应当认识到,本发明包含系统,以及包含了计算机可操作的指令的计算机可读介质,用于执行所要求的实质内容的各种方法的动作和/或事件。
另外,尽管相对于多个实施方式中的一个描述了本发明的特定特征,但是这种特征可以按照所需要的和有利于任何给定的或特定的应用而与其他实施方式中的一个或多个特征相结合。并且,对于在详细说明或权利要求中所使用的术语“包括”、“包括了”及其变形的情况,这些术语是用于表示包含的方式,与术语“包含”相似。
Claims (20)
1.一种分布式消息交换系统,包括:
多个消息引擎(102、104、106、108、404、533、810、811、1395),其之间具有连接,每个消息引擎都对统一的工厂模型内的各种协议和格式的消息进行规范化;和
消息总线,从所述多个消息引擎(102、104、106、108、404、533、810、811、1395)中生成,用于与第三方产品通信。
2.根据权利要求1的分布式消息交换,进一步包括目录,用于提供对工厂模型的逻辑视图。
3.根据权利要求1的分布式消息交换,进一步包括堆栈,用于合并了用户处理的统一的工厂模型消息。
4.根据权利要求3的分布式消息交换,所述堆栈具有库组件,该库组件被调用于促进消息交换。
5.根据权利要求4的分布式消息交换,所述库组件包含消息的逻辑定义。
6.根据权利要求4的分布式消息交换,进一步包括由库组件所生成的场景定义。
7.根据权利要求4的分布式消息交换,进一步包括应用程序解决方案,该应用程序解决方案由统一的工厂模型调用,并绑定于物理设备。
8.根据权利要求2的分布式消息交换,所述逻辑视图进一步包括数据用户的物理位置。
9.根据权利要求1的分布式消息交换,所述消息引擎可构造为至少支持一个自述和非叙述消息。
10.根据权利要求8的分布式消息交换,进一步包括视图,该视图提供了对系统信息的观察,该视图对所有者和第三方所有权所共有。
11.一种在工业工厂内交换消息的方法,包括:
在统一的工厂模型内的多个消息引擎(102、104、106、108、404、533、810、911、1395)之间提供连接;
由消息引擎(102、104、106、108、404、533、810、911、1395)接收消息;
由消息引擎(102、104、106、108、404、533、810、911、1395)对消息进行规范化,以提供一致的接口;和
为路由消息而确定合适的映射。
12.根据权利要求11的方法,进一步包括在模块和应用程序之间提供实时的消息交换。
13.根据权利要求11的方法,进一步包括向工业工厂增加集成设备,用于接收消息。
14.根据权利要求11的方法,进一步包括向过程控制提供对象链接和嵌入接口。
15.根据权利要求11的方法,进一步包括在构造和管理消息交换中,减少粘合代码。
16.根据权利要求11的方法,进一步包括引用库中的消息定义。
17.根据权利要求11的方法,进一步包括建立库,该库反映用于工业工厂的工业操作。
18.根据权利要求11的方法,进一步包括在系统中一致地管理所交换的消息。
19.根据权利要求11的方法,在网络中,在传输期间积累与消息有关的属性。
20.一种计算机实现系统,包含以下计算机可执行的组件:
多个消息引擎(102、104、106、108、404、533、810、911、1395),在所述消息引擎之间建有通信信道;每个消息引擎(102、104、106、108、404、533、810、911、1395)在统一的工厂模型内提供对各种协议和格式的一致的接口消息,和
消息总线,该消息总线与每个消息引擎(102、104、106、108、404、533、810、911、1395)通信,用于在应用程序之间的数据传输。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/536,338 | 2006-09-28 | ||
US11/536,338 US8127035B1 (en) | 2006-09-28 | 2006-09-28 | Distributed message engines and systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101197833A true CN101197833A (zh) | 2008-06-11 |
Family
ID=38830441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200710159691XA Pending CN101197833A (zh) | 2006-09-28 | 2007-09-28 | 分布式消息引擎和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8127035B1 (zh) |
EP (1) | EP1906348A1 (zh) |
CN (1) | CN101197833A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095564A (zh) * | 2011-11-01 | 2013-05-08 | 北京新媒传信科技有限公司 | 数据业务平台上数据交互方法和系统 |
CN109474533A (zh) * | 2017-10-26 | 2019-03-15 | 苏州新代数控设备有限公司 | 具备无线路由功能的嵌入式装置 |
CN111126940A (zh) * | 2019-11-22 | 2020-05-08 | 泰康保险集团股份有限公司 | 业务申请的处理方法、装置、设备及计算机可读存储介质 |
CN113039572A (zh) * | 2018-09-14 | 2021-06-25 | 摩根大通国家银行 | 实现交易处理生态系统的系统和方法 |
CN113641139A (zh) * | 2021-08-05 | 2021-11-12 | 珠海格力电器股份有限公司 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006038924A2 (en) * | 2004-06-18 | 2006-04-13 | Sap Ag | Consistent set of interfaces derived from a business object model |
EP2076874A4 (en) * | 2006-05-13 | 2011-03-09 | Sap Ag | DERIVED CONSISTENT SET OF INTERFACES DERIVED FROM A BUSINESS OBJECT MODEL |
US8417593B2 (en) | 2008-02-28 | 2013-04-09 | Sap Ag | System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems |
US20090248429A1 (en) * | 2008-03-31 | 2009-10-01 | Sap Ag | Managing Consistent Interfaces for Sales Price Business Objects Across Heterogeneous Systems |
US20090248463A1 (en) * | 2008-03-31 | 2009-10-01 | Emmanuel Piochon | Managing Consistent Interfaces For Trading Business Objects Across Heterogeneous Systems |
US20090249358A1 (en) * | 2008-03-31 | 2009-10-01 | Sap Ag | Managing Consistent Interfaces for Kanban Business Objects Across Heterogeneous Systems |
US20090326988A1 (en) | 2008-06-26 | 2009-12-31 | Robert Barth | Managing consistent interfaces for business objects across heterogeneous systems |
US20100153297A1 (en) | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
FR2946208B1 (fr) * | 2009-05-26 | 2012-02-10 | Thales Sa | Procede d'adaptation de donnees dans un systeme de transmission de donnees et systeme associe |
US8396751B2 (en) | 2009-09-30 | 2013-03-12 | Sap Ag | Managing consistent interfaces for merchandising business objects across heterogeneous systems |
US8732083B2 (en) | 2010-06-15 | 2014-05-20 | Sap Ag | Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems |
US9135585B2 (en) | 2010-06-15 | 2015-09-15 | Sap Se | Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems |
US10469579B2 (en) * | 2010-12-16 | 2019-11-05 | General Electric Company | Method and system for data processing in a vehicle group |
US8601490B2 (en) | 2011-07-28 | 2013-12-03 | Sap Ag | Managing consistent interfaces for business rule business object across heterogeneous systems |
US8725654B2 (en) | 2011-07-28 | 2014-05-13 | Sap Ag | Managing consistent interfaces for employee data replication business objects across heterogeneous systems |
US8521838B2 (en) | 2011-07-28 | 2013-08-27 | Sap Ag | Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems |
US8775280B2 (en) | 2011-07-28 | 2014-07-08 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
GB2496681A (en) * | 2011-11-21 | 2013-05-22 | Push Technology Ltd | A publish/subscribe system with time-sensitive message delivery to subscribers |
US8984050B2 (en) | 2012-02-16 | 2015-03-17 | Sap Se | Consistent interface for sales territory message type set 2 |
US9237425B2 (en) | 2012-02-16 | 2016-01-12 | Sap Se | Consistent interface for feed event, feed event document and feed event type |
US8756274B2 (en) | 2012-02-16 | 2014-06-17 | Sap Ag | Consistent interface for sales territory message type set 1 |
US8762453B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for feed collaboration group and feed event subscription |
US9232368B2 (en) | 2012-02-16 | 2016-01-05 | Sap Se | Consistent interface for user feed administrator, user feed event link and user feed settings |
US8762454B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for flag and tag |
US9400998B2 (en) | 2012-06-28 | 2016-07-26 | Sap Se | Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule |
US9367826B2 (en) | 2012-06-28 | 2016-06-14 | Sap Se | Consistent interface for entitlement product |
US8949855B2 (en) | 2012-06-28 | 2015-02-03 | Sap Se | Consistent interface for address snapshot and approval process definition |
US8615451B1 (en) | 2012-06-28 | 2013-12-24 | Sap Ag | Consistent interface for goods and activity confirmation |
WO2014000200A1 (en) | 2012-06-28 | 2014-01-03 | Sap Ag | Consistent interface for document output request |
US9246869B2 (en) | 2012-06-28 | 2016-01-26 | Sap Se | Consistent interface for opportunity |
US8756135B2 (en) | 2012-06-28 | 2014-06-17 | Sap Ag | Consistent interface for product valuation data and product valuation level |
US9043236B2 (en) | 2012-08-22 | 2015-05-26 | Sap Se | Consistent interface for financial instrument impairment attribute values analytical result |
US9547833B2 (en) | 2012-08-22 | 2017-01-17 | Sap Se | Consistent interface for financial instrument impairment calculation |
US9076112B2 (en) | 2012-08-22 | 2015-07-07 | Sap Se | Consistent interface for financial instrument impairment expected cash flow analytical result |
US8990375B2 (en) | 2012-08-31 | 2015-03-24 | Facebook, Inc. | Subscription groups in publish-subscribe system |
US9189510B2 (en) | 2013-02-26 | 2015-11-17 | Facebook, Inc. | System and method for implementing cache consistent regional clusters |
US9191343B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for appointment activity business object |
US9191357B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for email activity business object |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US9113301B1 (en) | 2014-06-13 | 2015-08-18 | Snapchat, Inc. | Geo-location based event gallery |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US10284508B1 (en) * | 2014-10-02 | 2019-05-07 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
US10133705B1 (en) | 2015-01-19 | 2018-11-20 | Snap Inc. | Multichannel system |
KR102662169B1 (ko) | 2015-03-18 | 2024-05-03 | 스냅 인코포레이티드 | 지오-펜스 인가 프로비저닝 |
US10135949B1 (en) | 2015-05-05 | 2018-11-20 | Snap Inc. | Systems and methods for story and sub-story navigation |
CN105141687B (zh) * | 2015-08-19 | 2018-05-04 | 焦点科技股份有限公司 | 一种生产消息的方法 |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10582277B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US20200026976A1 (en) * | 2018-07-17 | 2020-01-23 | iT SpeeX LLC | Method, System, and Computer Program Product for Harmonizing Industrial Machines with an Intelligent Industrial Assistant Having a Set of Predefined Commands |
EP3896920A1 (en) * | 2020-04-16 | 2021-10-20 | Deutsche Telekom AG | Proxy-based messaging system of a telecommunication network |
US20230090526A1 (en) * | 2021-09-23 | 2023-03-23 | Grey Orange Incorporated | System and method to facilitate communication between control server and robotic devices |
CN114756495B (zh) * | 2022-06-16 | 2022-09-06 | 中国人民解放军国防科技大学 | 基于分层消息软总线模型的操作系统及实现方法 |
CN116910161B (zh) * | 2023-09-14 | 2023-12-15 | 杭州三汇数字信息技术有限公司 | 一种协同分析系统、方法、电子设备以及计算机可读介质 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0456249B1 (en) | 1990-05-10 | 1998-12-09 | Hewlett-Packard Company | System for integrating application programs in a heterogeneous network enviroment |
AU9030391A (en) | 1990-10-16 | 1992-05-20 | Consilium, Inc. | Object-oriented architecture for factory floor management |
US5812394A (en) | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US6868538B1 (en) | 1996-04-12 | 2005-03-15 | Fisher-Rosemount Systems, Inc. | Object-oriented programmable controller |
US6034970A (en) * | 1996-05-31 | 2000-03-07 | Adaptive Micro Systems, Inc. | Intelligent messaging system and method for providing and updating a message using a communication device, such as a large character display |
JP3289605B2 (ja) | 1996-06-21 | 2002-06-10 | 日本電気株式会社 | ハードウェアリソース管理モジュール共通化方式 |
US6347342B1 (en) | 1996-07-15 | 2002-02-12 | Next Software, Inc. | Method and apparatus for dynamically brokering object messages among object models |
DE19906358A1 (de) * | 1999-02-16 | 2000-08-31 | Siemens Ag | System und Verfahren zur Verschaltung von Komponenten |
US8044793B2 (en) | 2001-03-01 | 2011-10-25 | Fisher-Rosemount Systems, Inc. | Integrated device alerts in a process control system |
US7096465B1 (en) | 1999-05-17 | 2006-08-22 | Invensys Systems, Inc. | Process control configuration system with parameterized objects |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
DE20016625U1 (de) | 2000-09-25 | 2000-12-21 | Niklasson, Sven, 25474 Bönningstedt | System zum Informationsaustausch zwischen Kommunikationsnetzen |
US20020165999A1 (en) | 2001-03-07 | 2002-11-07 | Ajile Systems, Inc. | Apparatus and method for interfacing hardware events with software events |
EP1410195A4 (en) | 2001-06-22 | 2008-03-19 | Wonderware Corp | ADAPTABLE SYSTEM FOR PRODUCING MONITORING PROCESS CONTROL AND MANUFACTURING INFORMATION APPLICATIONS |
EP1410204B1 (en) * | 2001-06-22 | 2016-11-09 | Wonderware Corporation | Supervisory process control and manufacturing information system application having an extensible component model |
EP1410228B1 (en) | 2001-06-22 | 2016-03-23 | Wonderware Corporation | Remotely monitoring / diagnosing distributed components of a supervisory process control and manufacturing information application from a central location |
US7107358B2 (en) | 2001-09-12 | 2006-09-12 | Rockwell Automation Technologies, Inc. | Bridge for an industrial control system using data manipulation techniques |
US7058712B1 (en) | 2002-06-04 | 2006-06-06 | Rockwell Automation Technologies, Inc. | System and methodology providing flexible and distributed processing in an industrial controller environment |
JP2004038876A (ja) * | 2002-07-08 | 2004-02-05 | Hitachi Ltd | プログラム等のデータ形式変換方法及び装置、並びにそのデータ形式変換装置を用いたコントローラ管理システム |
EP1420316B1 (en) | 2002-11-18 | 2012-05-23 | Rockwell Automation Technologies, Inc. | Instant messaging for event notification and exchanging data in an industrial controller environment |
US7191450B2 (en) * | 2003-02-06 | 2007-03-13 | International Business Machines Corporation | Data-driven application integration adapters |
US7043311B2 (en) | 2003-02-18 | 2006-05-09 | Fisher-Rosemount Systems, Inc. | Module class objects in a process plant configuration system |
EP1542143A1 (en) | 2003-12-12 | 2005-06-15 | Sap Ag | Data processing system and method |
US7530113B2 (en) | 2004-07-29 | 2009-05-05 | Rockwell Automation Technologies, Inc. | Security system and method for an industrial automation system |
US7398187B2 (en) | 2004-12-04 | 2008-07-08 | Lance David Tinseth | Method of batching and analyzing of data from computerized process and control systems |
US20060149767A1 (en) | 2004-12-30 | 2006-07-06 | Uwe Kindsvogel | Searching for data objects |
US7827234B2 (en) * | 2005-01-10 | 2010-11-02 | International Business Machines Corporation | Privacy entitlement protocols for secure data exchange, collection, monitoring and/or alerting |
US7706895B2 (en) | 2005-02-25 | 2010-04-27 | Rockwell Automation Technologies, Inc. | Reliable messaging instruction |
US20060271939A1 (en) * | 2005-05-11 | 2006-11-30 | Eric Joris | Enterprise-to-enterprise integration |
DE602005005924T2 (de) | 2005-09-19 | 2008-07-17 | Agilent Technologies, Inc. - a Delaware Corporation -, Santa Clara | Einheitliches Datenformat für Messgeräte |
US7580423B2 (en) * | 2005-09-30 | 2009-08-25 | Intel Corporation | Integrated message publisher and subscriber system in multiple technology facilities |
US8484718B2 (en) | 2006-08-03 | 2013-07-09 | Citrix System, Inc. | Systems and methods for enabling assured records using fine grained auditing of virtual private network traffic |
-
2006
- 2006-09-28 US US11/536,338 patent/US8127035B1/en active Active
-
2007
- 2007-09-27 EP EP07117409A patent/EP1906348A1/en not_active Ceased
- 2007-09-28 CN CNA200710159691XA patent/CN101197833A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095564A (zh) * | 2011-11-01 | 2013-05-08 | 北京新媒传信科技有限公司 | 数据业务平台上数据交互方法和系统 |
CN103095564B (zh) * | 2011-11-01 | 2016-07-06 | 北京新媒传信科技有限公司 | 数据业务平台上数据交互方法和系统 |
CN109474533A (zh) * | 2017-10-26 | 2019-03-15 | 苏州新代数控设备有限公司 | 具备无线路由功能的嵌入式装置 |
CN109474533B (zh) * | 2017-10-26 | 2022-01-07 | 新代科技(苏州)有限公司 | 具备无线路由功能的嵌入式装置 |
CN113039572A (zh) * | 2018-09-14 | 2021-06-25 | 摩根大通国家银行 | 实现交易处理生态系统的系统和方法 |
CN111126940A (zh) * | 2019-11-22 | 2020-05-08 | 泰康保险集团股份有限公司 | 业务申请的处理方法、装置、设备及计算机可读存储介质 |
CN113641139A (zh) * | 2021-08-05 | 2021-11-12 | 珠海格力电器股份有限公司 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
CN113641139B (zh) * | 2021-08-05 | 2022-11-25 | 珠海格力电器股份有限公司 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8127035B1 (en) | 2012-02-28 |
EP1906348A1 (en) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101197833A (zh) | 分布式消息引擎和系统 | |
CN101221435B (zh) | 在工业环境内模块定位的系统和方法 | |
US9948591B2 (en) | Messaging configuration system | |
US8782249B1 (en) | Message engine | |
US20060133412A1 (en) | Integration of control and business applications using integration servers | |
US7788319B2 (en) | Business process management for a message-based exchange infrastructure | |
US9762454B2 (en) | System and method to capture and document cross-product compatibility status information for industrial devices | |
EP3374890B1 (en) | Event stream processing cluster manager | |
CN101193078B (zh) | 用于管理订阅匹配的方法和系统 | |
EP2378741B1 (en) | Systems and Methods for Conducting Communications Among Components of Multidomain Industrial Automation System | |
CN104967650B (zh) | 第三方电商平台统一发布方法 | |
JP2011204228A (ja) | 学習メカニズムを用いたマッシュアップインフラストラクチャ | |
WO2002017106A1 (en) | Adaptive collaborative intelligent network system | |
CN102346685A (zh) | 集成适配器管理系统和方法 | |
EP2378740A1 (en) | Method for conducting communications among components of multidomain industrial automation system | |
US8327384B2 (en) | Event driven disposition | |
CN105144209A (zh) | 用于支持多个企业管理商业合作伙伴以及相关联的资产的系统和方法 | |
CN116433198A (zh) | 一种基于云计算的智慧供应链管理平台系统 | |
Shrestha et al. | Standardized framework for integrating domain-specific applications into the IoT | |
CN1333342C (zh) | 交换基础设施系统和方法 | |
CN110347451B (zh) | 一种基于ai和iot的通用人机交互系统和方法 | |
CA3136404A1 (en) | Selective address space aggregation | |
CN117376346A (zh) | 基于边缘计算与分布式计算的设备数据处理方法及装置 | |
Kirmse et al. | How to rami 4.0: Towards an agent-based information management architecture | |
Walcher et al. | KNX to MQTT/AMQP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080611 |