CN115398878B - 用于在远程地址空间中聚合数据的系统和方法 - Google Patents

用于在远程地址空间中聚合数据的系统和方法 Download PDF

Info

Publication number
CN115398878B
CN115398878B CN202180026192.1A CN202180026192A CN115398878B CN 115398878 B CN115398878 B CN 115398878B CN 202180026192 A CN202180026192 A CN 202180026192A CN 115398878 B CN115398878 B CN 115398878B
Authority
CN
China
Prior art keywords
opc
server
data
aggregation
aggregation server
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.)
Active
Application number
CN202180026192.1A
Other languages
English (en)
Other versions
CN115398878A (zh
Inventor
罗兰·布劳恩
马里奥·霍尼克
朱利叶斯·吕克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ABB Schweiz AG filed Critical ABB Schweiz AG
Publication of CN115398878A publication Critical patent/CN115398878A/zh
Application granted granted Critical
Publication of CN115398878B publication Critical patent/CN115398878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34263OLE object linking and embedding, OPC ole for process control

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用于在远程地址空间中聚合数据的系统和方法。本发明涉及用于在远程地址空间(121)中聚合至少一个OPC UA服务器(120)的OPC UA聚合服务器(100),其中所述至少一个OPC UA聚合服务器(100)被配置为支持数据减少和/或冗余机制。

Description

用于在远程地址空间中聚合数据的系统和方法
技术领域
本发明涉及开放平台通信统一架构(OPC UA)聚合服务器、OPC UA聚合系统、用于OPC UA系统中的聚合的方法、计算机程序单元和计算机可读介质。
背景技术
OPC UA是定义来自不同制造商的各种设备的在线数据通信的标准规范。未来的分布式控制系统(DCS)将在OPC UA连接的设备上运行。OPC UA是独立于平台的面向服务的客户端-服务器架构,其将机器数据作为控制值、测量值和参数来传送,并在语义上描述机器数据。
作为OPC UA服务器的UA服务器从设备接收并暴露信息,例如传感器数据。UA服务器支持定义信息如何被键入和分类的信息模型。该信息的表示称为服务器地址空间。UA客户端是连接到UA服务器的应用。客户端用于例如从服务器的地址空间中找到信息、读取和写入服务器数据、订阅某些变化(例如数据变化)或事件(例如警报),以及调用服务器方法。客户端和服务器之间的通信由服务来处理。地址空间是UA服务器暴露的信息的实际表示。它由节点和引用形成,其可以由UA客户端探索和显示。可以将节点与面向对象编程语言中的对象进行比较。节点包括属性、方法和事件。属性可具有可读取的值,方法由命令调用,并且事件可以被发送以在设备之间交换某些信息。事件是例如在数据变化时发生的警报和条件。事件包括接收时间戳、消息和严重程度。引用用于使节点彼此相关,属性用于描述节点。信息模型是基于节点的。
OPC UA系统可以根据聚合体系结构来组织。聚合体系结构包括经聚合的服务器和聚合服务器,聚合服务器在本公开中也称为正在聚合的服务器。
OPC UA聚合服务器表示自动化系统的实体。这些是底层服务器,其可以表示单个组件(例如,现场设备)或由自动化系统的一组组件、部分或整个自动化系统组成的子系统。由聚合服务器创建和管理的节点形成远程地址空间。远程地址空间的对应部分是由聚合服务器中的节点形成的聚合地址空间。
聚合服务器是聚合体系结构的核心。它通过OPC UA服务连接到底层服务器,并聚合它们的类型、实例和结构信息。因此,单个服务器可用于连接到多个其它服务器并以统一的方式表示它们的信息。这样,连接到服务器的客户端能够从单个源访问多个服务器的数据。
OPC UA系统可以容纳数百或甚至数千个节点。特别是当启动系统时,可能花费几分钟来聚合聚合服务器中的所有节点。通常,包括在节点中的数据的仅一部分对于运营商来说是感兴趣的,从而可能发生客户端必须处理大量数据的情况,客户端在创建其视图之前必须对这些数据进行分类或处理,或者客户端的视图呈现不相关的数据。
Ian L Tuomi:“为灵活制造系统聚合OPC UA服务器(Aggregating OPC UA Serverfor Flexible Manufacturing Systems)”,描述了用于灵活制造系统的聚合服务器的需求定义、设计和实现。提供了架构、模块和功能的说明,包括聚合地址空间中的节点与其源之间的配置和映射。CN 108 199 897A描述了一种支持缓存管理的OPC UA多服务器聚合方法,实现了底层服务器数据的收集,实现了向上层客户端的无缝转发。
发明内容
该问题由独立权利要求的主题解决。实施例由从属权利要求、以下描述和附图提供。
所描述的实施例类似地涉及用于在OPC UA系统中聚合数据的方法、OPC UA聚合系统、用于在OPC UA系统中聚合数据的方法、计算机程序单元和计算机可读介质。协同效果可以由实施例的不同组合产生,尽管它们可能没有被详细描述。
此外,应当注意,关于方法的本发明的所有实施例可以以所述步骤的顺序来执行,然而这不必是该方法的步骤的唯一且基本的顺序。除非在下文中明确相反地提及,否则在不脱离相应方法实施例的情况下,本文呈现的方法可以所揭示步骤的另一次序实施。
技术术语按其常识使用。如果将特定含义传达给某些术语,则将在下文中在使用术语的上下文中给出术语的定义。
术语“服务器”可以是软件组件或硬件组件。在服务器是硬件组件的情况下,它可以包括几个软件服务器。类似地,客户端可以是软件组件或硬件组件。在本公开中,使用“服务器”和“客户端”,就好像它们是硬件组件一样,然而,应当理解,它们也可以是软件组件,而没有由此产生的限制。
根据第一方面,一种用于在远程地址空间中聚合至少一个OPC UA服务器的OPC UA聚合服务器,其中所述至少一个OPC UA聚合服务器被配置为支持数据减少和/或冗余机制。
OPC UA服务器的主要目的之一是提供多个OPC UA服务器的数据的合并视图,这些OPC UA服务器通常分布在现场。客户端可以连接到OPC UA聚合服务器,并且访问例如特别是对于该客户端可以预见的数据。这种OPC UA数据访问的优点在于,OPC UA聚合服务器还从OPC UA服务器收集数据,并对数据进行预处理。预处理意味着,例如,数据类型是在聚合服务器的地址空间中被标准化,数据或对象之间的关系是可用的。所收集的数据基本上是完整的,因为它是服务器从整个远程地址空间收集数据的任务,并且当值(例如,节点的测量值等)变化时服务提供数据更新。因此,客户端可以快速且基本上完整地访问数据,而不需要存储例如用于解释数据的冗余数据类型定义,或用于从不同类型定义转换到客户端需要的类型定义的功能。由于高数据速率和时间,特别是在启动时,这种舒适或目标以资源作为带宽来支付。
根据实施例,OPC UA聚合服务器被配置为在请求时按需聚合来自远程地址空间的数据。
通过该实施例,减少了必要的带宽和时间,并且仍然瞬时和完整提供了客户端所需的数据。仅当例如由客户端请求时,将数据从远程地址空间发送到聚合服务器。也就是说,由聚合服务器聚合的数据仅是远程名称空间的数据的一部分,并且当数据被聚合时的时间点被分布在时间跨度上,其中时间跨度是在运行会话期间而不是在系统启动期间的时间跨度。这意味着系统在聚合数据之前处于可操作状态。如果应用开始访问聚合地址空间中的节点,则聚合过程检查其在高速缓存中的可用性。如果高速缓存不包含所请求的节点,则聚合过程导入所请求的节点,即,聚合OPC UA服务器根据实际OPC UA客户端调用的服务来构建其内部高速缓存。
根据实施例,OPC UA聚合服务器被配置为存储当前会话的远程地址空间信息。远程地址空间信息可以是关于远程地址空间的任何信息,例如关于结构、节点ID(“nodeIDs”)、URL(统一资源定位符)、元数据等的关系和信息。会话可以被定义为应用或进程在客户端设备或服务器设备上的运行、在应用或进程的启动和关闭之间。会话与OPC UA客户端或服务器上的应用有关,并且OPC UA聚合服务器被配置为在下一会话中使用远程地址空间信息以用于聚合数据。也就是说,从下一会话看到,已存储在聚合服务器中或由于先前会话而存储的信息可用于发现和收集远程名称空间的数据。所存储的数据可以是远程地址空间的部分信息。即例如:它包括关于一个或多个节点或服务器的子集的信息,作为远程地址空间中节点和服务器的全部数目中的地址、名称和/或关系。节点的子集可以分布在多于一个服务器上。
根据实施例,OPC UA聚合服务器从配置文件获得远程名称空间信息。因此,根据第一方面,远程名称空间信息可以是部分远程名称空间信息。配置文件可以手动创建,或者优选地自动创建和更新。即,例如,关于远程名称空间的信息(其可能不经常改变,例如远程名称空间的结构或URL)可被存储在配置文件中,该配置文件可在建立时被读取,待聚合的服务器的特定数据(如类型定义和对象数据)可按需被聚合。因此,当聚合服务器接收到来自客户端的请求时,可以直接寻址远程名称空间中的服务器,并且还可以向远程服务器提供附加信息,例如节点ID,以允许快速处理聚合请求和快速回复。
根据实施例,OPC UA聚合服务器被配置为:将按需聚合的数据存储在高速缓存中。也就是说,当在某个时间点请求时,节点的完整信息和被引用节点的最终相关信息,也可以包含变量值,可以存储在高速缓存中。在值是活动值(living value)(即,例如实时或接近实时地变化的值)的情况下,可以不高速缓存或标记这些值,使得在请求时对它们进行重新聚合。完整数据还可以包括类型定义、引用或相关性、描述性数据等。这样,数据的高速缓存相对于通常的聚合系统被延迟。不是在启动时,即在系统运行之前,缓存数据,而是在操作期间执行缓存。一旦数据被高速缓存,它就不必再在将来的会话中被聚合,除了例如作为稳定变化的活动值的值。
根据实施例,OPC UA聚合服务器被配置为:使用基于应用的配置数据的信息。也就是说,配置数据可以不存储或不仅仅存储在聚合服务器侧,也可以存储在客户端,其可以随客户端的请求提供给聚合服务器。例如,OPC UA客户端的应用知道要聚合的部分远程地址空间的应用相关子集。
根据一个实施例,基于应用的配置数据的信息是聚合地址空间的节点子集,其中节点子集通过Nodeld标识。根据先前的会话或基于准备好的配置数据,例如OPC UA客户端的应用具有关于聚合地址空间的应用相关子集的信息。可以通过OPC UA指定Nodeld的类型。在聚合地址空间中使用的Nodeld以允许推断经聚合的OPC UA服务器的URL并计算经聚合的OPC UA服务器的地址空间中的节点的Nodeld的方式来设计。
根据实施例,OPC UA聚合服务器所使用的Nodeld被构成为使得可以提取经聚合的OPC UA服务器的URL和经聚合的OPC UA服务器的远程地址空间中的节点的Nodeld。这允许Nodeld转换,这将在下面进一步详细解释,并且允许快速的按需聚合和存储器的保存。
根据实施例,OPC UA聚合服务器还聚合来自远程地址空间的节点上下文,即外部或经聚合的OPC UA服务器。如果高速缓存不包含所请求的节点,则聚合过程从外部(即,聚合OPC UA服务器)导入所请求的节点加上可选地所需的节点上下文。节点上下文是所请求的节点周围的一组节点,其中引用将所请求的节点与其上下文相关联。节点之间的引用允许浏览地址空间中的节点。输入及其在所请求节点的聚合地址空间中的最终表示(包括其上下文)支持其可识别语义的保存。
根据实施例,数据包括对象数据和类型数据。对象数据项和类型数据项是经聚合的OPC UA服务器的单独的结构组件,然而,值得一提的是,对象数据和类型数据两者都是聚合的,因为OPC UA服务器首先必须识别与所请求的对象数据相关的相关类型数据,并且必须在单独的子过程中提供所识别的类型数据。
根据实施例,OPC UA聚合服务器被配置为聚合事件的源名称。事件可以是例如警报。根据实施例,聚合服务器被配置为导入事件覆盖数据,该覆盖数据定义至少一个属性的覆盖,并且通过使用所导入的事件覆盖数据来变换至少一个属性。
根据实施例,所述至少一个属性是源名称。
根据实施例,聚合OPC UA服务器被配置为接收客户端事件订阅,在接收到客户端事件订阅时检查事件的操作数是否涉及为其定义覆盖规则的事件属性、涉及向操作数添加覆盖规则,以及当聚合OPC UA服务器接收到事件时检查操作数内部是否有配置的覆盖。此外,聚合OPC UA服务器被配置为在将具有覆盖属性的事件转发到OPC UA客户端之前,根据覆盖规则变换操作数引用的事件属性的值。
根据实施例,OPC UA聚合服务器支持实现冗余设备的优化地址空间表示的冗余类型。
根据实施例,OPC UA聚合服务器被配置为支持相同设备和/或不同设备的冗余。
根据实施例,OPC UA聚合服务器被配置为分别支持经聚合的OPC UA服务器或经聚合的OPC UA服务器的至少一个节点的冗余。
根据实施例,OPC UA聚合服务器被配置为在聚合之前过滤要被聚合的数据。
根据实施例,OPC UA聚合服务器被配置为过滤数据以仅聚合变量、方法调用和诸如警报的事件的值。OPC UA地址空间的主要部分是关于静态元数据。在调试和操作期间,只有少数数据项是动态的。特别是在控制操作期间,通信应当集中于IO信号的传送。聚合服务可以将到设备的流量减少到设备的实际动态值。聚合服务优化聚合(较小)设备的业务负载。
根据一个方面,提供了一种OPC UA聚合系统。OPC UA聚合系统包括:OPC UA客户端,被配置为发送数据请求给OPC UA聚合服务器;如上所述的OPC UA聚合服务器,其因此被配置为聚合节点并从OPC UA聚合服务器导入数据;以及OPC UA经聚合的服务器,被配置为向OPC UA聚合服务器提供所请求的数据。该系统还可以包括客户端、经聚合的服务器、结构和其它组件,例如高速缓冲存储器、数据接口、人机接口等。
根据实施例,客户端的请求可以包括针对所请求的聚合地址空间的子集的远程地址空间信息,例如,与对象相关的变量或变量集,并且其还可以包括支持OPC UA聚合服务器聚合来自OPC UA经聚合的服务器的数据的信息,其可以是例如一个或多个Nodeld或URL。例如,客户端包括包含该信息的存储装置或可访问包括该信息的存储装置。该信息可以被存储为客户端或系统配置,或者可以是基于先前会话的信息。配置可以被存储在本地或文件中。
根据实施例,OPC UA经聚合的服务器被配置为:确定与包括对象数据相关的类型数据。如上所述,OPC UA经聚合的服务器在将相关类型数据提供给聚合服务器之前首先必须识别相关类型数据。
根据实施例,OPC UA经聚合的服务器包括软件OPC UA服务器和硬件加速OPC UA服务器,并且其中,硬件加速OPC UA服务器被配置为基于数据请求检查硬件加速数据是否可用;如果是,则访问硬件加速OPC UA服务器的存储装置以检索所请求的数据;如果否,则访问软件OPC UA服务器的存储装置以检索所请求的数据。
根据一个方面,提供了一种用于在OPC UA系统中聚合远程地址空间数据的方法。该方法包括以下步骤:例如由OPC UA客户端从OPC UA聚合服务器请求远程地址空间数据,使用数据减少和/或冗余机制聚合远程地址空间数据,以及例如由OPC UA客户端提供和呈现所请求的远程地址空间数据。
根据另一方面,提供了一种计算机程序单元,其在由处理器执行时指示聚合服务器执行上述方法的步骤。
计算机程序单元可以是计算机程序的一部分,但它本身也可以是整个程序。例如,计算机程序单元可以用于更新已经存在的计算机程序以得到本发明。
根据另一方面,一种其上存储有程序单元的计算机可读介质。计算机可读介质可以被看作是存储介质,例如USB棒、CD、DVD、数据存储设备、硬盘、或上面可以存储如上所述的程序单元的任何其它介质。
以下附图示出了本发明的实施例。
参考附图和以下描述,将更好地理解本发明的这些和其它特征、方面和优点。
附图说明
图1示出了包括根据实施例的组件的系统的框图,以及
图2示出了根据实施例的方法的流程图,
图3示出了通常的模块化自动化系统300,
图4示出了根据实施例的正在聚合的系统400,事件在其中被转换。
图5示出了包括名称空间和节点的OPC UA服务器。
图6示出了根据实施例的在转换之前的数据类型的屏幕剪辑。
图7示出了根据实施例的具有在转换之前由警报服务器提供的警报的细节的屏幕剪辑,
图8示出了根据实施例的具有在转换之后由警报服务器提供的警报的细节的屏幕剪辑,
图9示出了根据实施例的转换后的屏幕剪辑数据类型。
图10示出了根据实施例的具有两个相同设备的OPC UA聚合系统。
图11示出了根据实施例的具有两个不同设备的OPC UA聚合系统。
图12示出了根据实施例的用于减少数据流量的OPC UA聚合系统。
图13示出了根据实施例的OPC UA服务器,其被级联为软件OPC UA服务器和硬件加速OPC UA服务器。
具体实施方式
OPC UA服务器的聚合提供远程定义地址空间上的统一视图。在多个OPC UA服务器运行大地址空间的大型系统中,即使网络以高数据速率运行并且即使从外部地址空间导入单个节点所需的时间较小,在所有远程服务器变得可操作之前导入所有远程服务器的完整地址空间也是耗时的。大型系统中的大量节点将导致可能花费几分钟的启动时间。下面说明根据本发明的减少启动时间的系统和方法。
图1示出了聚合系统10的框图,聚合系统10包括在其上实现聚合过程的OPC UA聚合服务器100、在其上实现客户端应用的客户端110、以及要被聚合的OP UA服务器120。在聚合服务器100中实现的聚合过程包括具有对象102和类型定义104的经聚合的地址空间101。
相应地,要聚合的OP UA服务器120包括远程地址空间121中的对象122和类型124定义。在图1中仅描绘了一个OP UA服务器120,然而,更多数目的OP UA服务器可以被集成到聚合系统10中。在下文中,给出了示例,其示出了本发明的实施例。
在第一步骤131中,客户端100的客户端应用想要读取变量,例如变量(A)。客户端110从任何先前的会话中知道聚合地址空间101的描述。备选地,客户端110在例如通过读取配置之前已经导入了聚合地址空间101的描述。
在第二步骤132中,服务器100中的聚合过程然后可以使OPC UA聚合服务器100聚合来自客户端使用的节点NodeId的节点NodeId。浏览所请求的变量(A)的相关性,服务器100中的聚合过程在执行步骤133之前聚合类型定义122和其它上下文相关数据。
在步骤133中,聚合服务器100聚合所请求的变量(A)。聚合的数据也被存储在高速缓存中。
在步骤134中,聚合过程使用变量A的聚合数据来响应客户端请求。除了必须从外部OPC UA服务器读取的实时值之外,将基于高速缓存数据来管理引用变量(A)的其它请求。
在下文中,描述了NodeID转换的示例,其允许使用结构信息的按需快速聚合。OPCUA服务器托管的地址空间包含OPC UA客户端可以使用OPC UA指定的节点Nodeld寻址的节点。因此,Nodeld允许对地址空间中的节点进行寻址。在聚合地址空间中使用的Nodeld以允许推断经聚合的OPC UA服务器的URL并计算经聚合的OPC UA服务器的地址空间中的节点的Nodeld的方式来设计。Nodeld由两部分组成。第一部分是对名称空间的引用,也被指定为名称空间索引。第二部分可以是用于标识名称空间中的节点的数字,例如通用唯一标识符(UUID)或字符串。其它选项也是可能的。
下面描述的概念可以应用于允许OPC UA节点身份的翻译,其基于适于转换属于定义实例的空间(例如,远程地址空间中的名称空间)的Nodelds的规则,以及适于翻译类型定义区域的Nodeld的规则。
在远程或聚合地址空间中,以允许推断经聚合的OPC UA服务器的URL并计算经聚合的OPC UA服务器的地址空间中的节点的Nodeld的方式来设计所使用的Nodeld。实例专用(例如,对象或类型)转换规则需要结合服务器的身份,名称空间的身份和节点本身的身份。如何排序聚合实例ID的这些元素并不重要。唯一的事情是所有元素都存在。
服务器的身份和名称空间的身份可以是抽象的,但这不是必需的。由于抽象将变得比实际身份更短,因此抽象(其可以参考一些内部查找表)节省了存储器。这些实际身份是相当长的URL。转换的Nodeld的示例可以是:“SRV8_NS11_ID_<theOriginalNodeld>”。SRV8是指登记聚合服务器的所有URL的查找表中的元素(索引=8)。相应地,NS11是指列出所有聚合的名称空间的集合中的条目,其也可包括URL串。
类型特定转换规则只需要合并聚合的名称空间和类型节点的身份。同样,对于类型特定转换,聚合类型身份的元素的次序并不重要,只要所有元素都存在。名称空间的身份也可以使用例如保存存储器的内部查找表来抽象。转换类型Nodeld的示例可以是:“NS11_ID_<theOriginalNodeld>”。NS11是指列出所有聚合的名称空间的表中的条目,其也可包括URL串。
这个概念允许在没有任何地址映射表的情况下工作的通用地址空间转换。这个概念允许一种安全的方式来验证聚合结果,因为它将轨迹留给聚合的数据源。
图2示出了根据实施例的方法200的框图。
在方法200的第一步骤202中,客户端向聚合服务器请求数据;
在第二步骤204中,聚合服务器聚合来自聚合服务器的远程地址空间数据。该步骤可以在接收到请求时执行,并且可以包括根据关于数据内容和聚合数据的时间点的要求来聚合数据。独立于此,这可以包括数据过滤、支持冗余、选择快或慢数据、和/或转换事件,如下面更详细描述的。在第三步骤206中,客户端接收并呈现所请求的远程地址空间数据。
例如,所请求的远程地址空间数据可以包括Nodeld或对象数据。在方法200的第二步骤204中,当被请求时来自远程地址空间121的数据被聚合132、133。客户端确定与所请求的Nodeld节点或对象数据相关的类型数据,并将类型数据124和对象数据133、122传送132到聚合服务器100。此外,聚合数据被高速缓存。
图3示出了通常的模块化自动化系统300。通常的基于OPC UA的自动化系统300包括自动化模块302,正在聚合OPC UA服务器312将其集成到公共地址空间中。自动化系统300的模块302实现类型A的UPC UA服务器1,304和服务器2,306。例如,客户端设备314上的应用运行OPC UA客户端服务以通过聚合地址空间与自动化系统300的模块302交互。除了预期的IO功能之外,应用可能需要理解来自自动化系统300的模块302的事件和警报。挑战是理解警报或事件的起源,也就是说,例如,事件源或警报源。关于OPC UA客户端314,正在聚合的OPC UA服务器312是经聚合的OPC UA服务器304、306的一种服务和数据代理。当OPC UA客户端314订阅事件时,正在聚合的OPC UA服务器312将该请求转发到经聚合的OPC UA服务器304、306。聚合OPC UA服务器312将由经聚合的OPC UA服务器304、306生成并发送311的事件(例如类型B的事件)转发313到UPC UA客户端314。
在聚合场景中,OPC UA客户端314通常可以订阅来自聚合OPC UA服务器312的事件。OPC UA客户端314可以订阅来自对象命名服务器(其是用于所有OPC UA服务器的强制OPC UA指定对象)的事件。聚合OPC UA服务器312将该事件订阅请求转发到所有经聚合的OPC UA服务器304、306。来自相同UPC UA服务器类型的事件看起来完全相同,因为它们是从在多个实例中运行的相同软件创建的。在来自经聚合的OPC UA服务器的事件可以被转发之前,聚合服务器需要变换该事件。
经变换的事件需要被移动到表示经聚合的OPC UA服务器304或306的聚合地址空间的分区的上下文。这是必要的,因为随事件提交的数据是指地址空间的数据。地址空间是发布事件的环境。每当事件提交值引用地址空间中的元素(节点)时,该值通过名称空间的身份来限定。
聚合服务器312的当前实现将这些名称空间限定值从它们的源变换(转换)到聚合的名称空间,就像对任何聚合节点所做的那样。由OPC UA借助于为基本事件类型定义的完整类型层次来标准化随事件提供的信息。在OPC UA中,警报是特定类型的事件。在UPC UA指定条件类型或其任何子类型中定义与警报一起提供的信息。OPC UA指定条件类型是基本事件类型的子类型。因此,随后的描述集中于事件,因为所描述的问题源于警报和事件之间的共性。根据UPC UA规范,可以用基本事件类型定义的属性源名称(SourceName)来描述事件的起源。源名称的数据类型是字符串。这意味着,通过属性源名称提供的值不被绑定到名称空间。注意,OPC UA定义了数据类型限定名称(QualifiedName),其允许将字符串值放入名称空间的上下文中。在OPC UA客户端和UPC UA服务器之间的直接关系中,这不是问题。在聚合场景中,如果那些OPC UA服务器是由相同类型(例如,图3和图4中的类型A)制成的,则虽然事件来自不同的OPC UA服务器(例如,304或306),但是传送事件的源名称的转发,接收器即OPC UA客户端将在不同的事件中看到相同的源名称。即使属性源名称的值可能与聚合服务器的地址空间中的节点的浏览名称(BrowseName)相匹配(这不是由UPC UA规范强制执行的),该源名称的值也可能不像Nodeld那样唯一,Nodeld是聚合服务器的地址空间中的节点的唯一地址。
值得注意的是,在地址空间的上下文中,不能使用单个浏览名称来找到节点。浏览路径是一种浏览名称序列,可用于查找节点。
由于UPC UA客户端314需要区分事件的起源,因此聚合OPC UA服务器312将变换随事件的属性源名称而提供的值。迄今为止所描述的问题与未被嵌入名称空间的上下文中的任何其它事件提供的值有关。
图4示出了根据实施例的聚合系统400,其中事件的源名称被聚合。聚合OPC UA服务器412具有变换事件和警报的属性值的能力。就了解聚合项背后的应用的这些OPC UA客户端应用而言,转换规则支持具有关于聚合地址空间的某些知识的OPC UA客户端应用。该变换可以被配置为简化OPC UA客户端414中的警报的基于应用层的解释。
关于事件变换的规则描述了如何覆盖事件的某些属性。考虑到以下事实,配置数据的结构是由嵌套的查找表构成的,这些在图5的部分中示出。在图6到图9中给出了查找表的示例。
(1)存在多个经聚合的OPC UA服务器404、406,可以为其定义事件覆盖。这些服务器404、406中的一个在图5中被描述为服务器500。
(2)单个经聚合的OPC UA服务器404、406或500可以分别包含多个名称空间520、540、560。
(3)单个名称空间520、540、560可具有多个节点522、524;542、544、546;562,其可以是事件的来源。
(4)单个事件包含将为其定义覆盖的多个属性。
图6示出了具有由警报服务器提供的警报细节的屏幕剪辑。
数据类型“ConditionId”是指地址空间中的现有节点的Nodeld。OPC UA客户端可以使用ConditionId来检查节点的数据,如图7所示。图8示出了当该演示服务器被聚合时需要转换转发事件的表的条目。属性ConditionId的值必须属于如图9中的屏幕剪辑所示的聚合地址空间中的现有节点。
一旦OPC UA客户端414订阅了事件,则聚合OPC UA服务器412检查提交的事件过滤器中的操作数是否涉及在“事件数据覆盖(Event Date Override)”中定义覆盖的事件属性。将所找到的规则(例如,图8中的Sourcename中的“Prefix_”)添加到该操作数。即例如:图8中的“Identifier”的前缀值“SRV_0_NS_2_ID_”。当订阅保持活动时,保持事件监测项(EventMonitoredItem)的特定配置。当聚合OPC UA服务器412接收事件时,聚合OPC UA服务器412检查事件相关操作数的每个操作数内部是否配置有覆盖。然后,在聚合OPC UA服务器412将具有覆盖属性的事件转发到OPC UA客户端之前,使用在操作数内找到的覆盖来变换操作数优选事件属性的值。
图4所示的系统可以具有类似于图3所示的自动化系统的模块化组成。覆盖数据可以是例如由文件或手动输入提供的外部数据。
类似地,该变换被应用于在正在聚合的OPC UA服务器中实现的事件的转发。当远程OPC UA服务器发送的事件包含Nodeld时,这是远程地址空间中可用的节点(远程节点(Remote Node))的地址。当远程OPC UA服务器发送的事件包含浏览名称BrowseName(合格名称QualifiedName)时,这是远程地址空间中可用的节点的名称(远程浏览名称BrowseName)。聚合OPC UA服务器必须在转发事件之前变换绑定到名称空间的这些值。转发的包含的名称空间限定值事件必须在聚合地址空间中找到。
冗余概念增加了系统的责任。仪器实现嵌入式OPC UA服务器连通性,然而,通过服务器聚合来集成仪器降低了它们的性能负担。所提出的聚合服务支持用于完整地址空间或经聚合的OPC UA服务器的特定节点的冗余概念。聚合服务还支持用于实现冗余设备的优化地址空间表示的相同和不同设备类型的冗余概念。图10示出了OPC UA聚合系统,其中两个相同的设备1002和1004提供由OPC UA聚合服务器1012支持的冗余,从而实现优化的地址空间表示,并且客户端1014可以访问由聚合服务器1012表示的设备1002、1004的地址空间。类似地,图11示出了具有两个不同设备1102、1104的OPC UA聚合系统,然而,这两个设备可以提供冗余数据p(x)和p(x')。从OPC UA聚合服务器1112向OPC UA客户端1114提供冗余数据p(x,x)。
OPC UA地址空间的主要部分是静态元数据。在调试和操作期间,只有少数数据项是动态的。特别是在控制操作期间,通信应当集中于IO信号的传送。所提出的聚合服务将到设备的流量减少到设备的实际动态值。即例如,聚合服务可以仅考虑变量值和方法调用来减少到设备的流量。图12示出了OPC UA系统,其中实现了可配置流量过滤器1213,其过滤否则将在设备或服务器1202与OPC UA聚合服务器1212之间流动的流量。可以是自调整流量优化逻辑的过滤器1213由流量过滤器配置1205配置,流量过滤器配置1205向OPC UA聚合服务器1212提供过滤器规则。例如,客户端发送用于浏览的请求或数据120、读/写值122、发送调用1228、以及作为读显示名称(Read DisplayName)、描述(Description)、浏览名称(Browsename)等的静态数据。此外,它接收警报1226。在该示例中,静态数据被过滤器阻塞,并且仅发送读/写(Read/Write)值1222、方法调用1228和警报1226。
由于基于FPGA的快速硬件加速OPC UA服务器中的存储容量相对于仪器所需的存储容量是有限的,所以提供了支持快速实时I/O动作和较慢参数化的软件可扩展FPGA管理的地址空间。设备将硬件加速、快速实时IO信号交换与软件扩展地址空间相结合,以支持通用设备管理功能(参数化、配置、诊断)。图13示出了设备,即OPC UA服务器1312,其被级联到软件OPC UA服务器1301和硬件加速OPC UA服务器1302中。OPC UA客户端1314例如发送Get命令1313。硬件加速OPC UA服务器1302检查1306硬件加速数据是否可用。如果是1306,则访问硬件加速OPC UA服务器1302的存储。否则1305,访问软件OPC UA服务器1301的存储。
通过研究附图、公开内容和所附权利要求,本领域技术人员在实践所要求保护的本发明时可以理解和实现所公开的实施例的其它变型。在权利要求中,词语“包括”不排除其他元件或步骤,并且不定冠词“一”或“一个”不排除多个。单个处理器或其它单元可以实现权利要求中所述的若干项目或步骤的功能。在相互不同的从属权利要求中叙述某些措施的事实并不表示不能有利地使用这些措施的组合。计算机程序可以存储/分布在适当的介质上,例如与其他硬件一起提供或作为其他硬件的一部分提供的光存储介质或固态介质,但是也可以以其他形式分布,例如经由因特网或其他有线或无线电信系统。权利要求中的任何附图标记不应被解释为限制权利要求的范围。

Claims (24)

1.一种OPC UA聚合服务器(100、412、1012、1112、1212、1312),用于在远程地址空间(121)中聚合至少一个OPC UA服务器(120、404、406、1002、1006、1102、1106、1202、1302),其中所述至少一个OPC UA聚合服务器(100、412、1012、1112、1212、1312)被配置为支持数据减少和/或冗余机制,
其中所述OPC UA聚合服务器(100)被配置为存储当前会话的远程地址空间信息,其中所述会话与应用和/或OPC UA客户端(110)相关,并且其中所述OPC UA聚合服务器(100)被配置为在下一会话中使用所述远程地址空间信息以用于聚合数据。
2.根据权利要求1所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)被配置为在被请求时按需聚合来自所述远程地址空间(121)的数据。
3.根据权利要求1或2所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)从配置文件获得部分的远程地址空间信息。
4.根据权利要求1或2所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)被配置为将按需聚合的所述数据存储在高速缓存中。
5.根据权利要求1或2所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)被配置为使用基于应用的配置数据的信息。
6.根据权利要求5所述的OPC UA聚合服务器(100),其中基于应用的配置数据的所述信息是所述远程地址空间(121)的节点子集,其中所述节点子集通过Nodeld进行标识。
7.根据权利要求6所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)所使用的所述Nodeld被构成为使得所聚合的所述OPC UA服务器(120)的URL和所聚合的OPCUA服务器(120)的所述远程地址空间(121)中的节点的Nodeld能够被提取。
8.根据权利要求1或2所述的OPC UA聚合服务器(100),其中所述OPC UA聚合服务器(100)还聚合来自所述远程地址空间(121)的节点上下文。
9.根据权利要求1或2所述的OPC UA聚合服务器(100),其中所聚合的所述数据包括对象数据(122)和类型数据(124)。
10.根据权利要求1或2所述的OPC UA聚合服务器(412),其中
所述OPC UA聚合服务器(412)被配置为聚合事件的源名称;并且其中
所述OPC UA聚合服务器(412)被配置为导入事件覆盖数据,所述覆盖数据定义至少一个属性的覆盖,并且通过使用所导入的所述事件覆盖数据来转换所述至少一个属性。
11.根据权利要求10所述的OPC UA聚合服务器(412),其中所述属性是源名称。
12.根据权利要求10所述的OPC UA聚合服务器(412),其中正在聚合的OPC UA服务器(412)被配置为:
接收客户端事件订阅;
在接收到所述客户端事件订阅时,检查所述事件的操作数是否引用事件属性,针对所述事件属性定义有覆盖规则;
向所述操作数添加覆盖规则;
当所述OPC UA聚合服务器(412)接收到事件时,检查所述操作数内部是否配置有覆盖;以及
在将具有覆盖属性的所述事件转发到OPC UA客户端之前,根据所述覆盖规则转换所述操作数所引用的事件属性的值(414)。
13.根据权利要求1或2所述的OPC UA聚合服务器(1012、1112),其中所述OPC UA聚合服务器(1012、1112)被配置为支持实现冗余设备(1002、1004;1102、1104)的地址空间表示的冗余类型。
14.根据权利要求13所述的OPC UA聚合服务器(1012、1112),其中所述OPC UA聚合服务器(1012、1112)被配置为支持相同设备(1002、1004)和/或不同设备(1102、1104)的冗余。
15.根据权利要求13所述的OPC UA聚合服务器(1012、1112),其中所述OPC UA聚合服务器(1012、1112)被配置为支持所述冗余设备(1002、1004;1102,1104)的至少一个节点的冗余。
16.根据权利要求1或2所述的OPC UA聚合服务器(1212),其中所述OPC UA聚合服务器(1212)被配置为在聚合之前过滤要聚合的数据。
17.根据权利要求16所述的OPC UA聚合服务器(1212),其中所述OPC UA聚合服务器(100)被配置为过滤数据以仅聚合变量(1222)、方法调用(1228)和事件(1226)的值。
18.一种OPC UA聚合系统(10),包括:
OPC UA客户端(110、414、1014、1114、1214、1314),被配置为向OPC UA聚合服务器(100)发送数据请求;
根据权利要求1至17中任一项所述的OPC UA聚合服务器(100、412、1012、1112、1212、1312),被配置为聚合OPC UA经聚合的服务器(100、412、1012、1112、1212、1312),并且将所聚合的OPC UA服务器数据提供给所述OPC UA客户端(110、414、1014、1114、1214、1314);以及
OPC UA经聚合的服务器(120、404、406、1002、1006、1102、1106、1202、1302),被配置为将所请求的数据提供给所述OPC UA聚合服务器(100、412、1012、1112、1212、1312)。
19.根据权利要求18所述的OPC UA聚合系统(10),其中所述OPC UA客户端(110)的所述请求包括针对所请求的所述聚合地址空间(121)的子集的远程地址空间信息,以及支持所述OPC UA聚合服务器(100)聚合来自所述OPC UA经聚合的服务器(120)的数据的信息。
20.根据权利要求18或19所述的OPC UA聚合系统(10),其中所述OPC UA经聚合的服务器(120)被配置为确定与包括对象数据(122)的对象相关的类型数据(124)。
21.根据权利要求18或19所述的OPC UA聚合系统(10),其中所述OPC UA经聚合的服务器(1302)包括软件OPC UA服务器(1321)和硬件加速OPC UA服务器(1322),并且其中所述硬件加速OPC UA服务器(1302)被配置为在数据请求时检查(1306)硬件加速数据是否可用;如果是(1306),则访问所述硬件加速OPC UA服务器(1302)的存储装置以检索所请求的所述数据;如果否(1305),则访问所述软件OPC UA服务器(1301)的存储装置以检索所请求的所述数据。
22.一种用于在根据权利要求18-21中任一项所述的OPC UA系统中聚合远程地址空间数据的方法(200),包括以下步骤:
通过OPC UA客户端,向OPC UA聚合服务器请求(202)远程地址空间数据;
使用数据减少和/或冗余机制来聚合(204)远程地址空间数据;以及
提供并且呈现(206)所请求的所述远程地址空间数据。
23.一种计算机程序产品,包括计算机程序,所述计算机程序当由处理器执行时,指令正在聚合的服务器(100)执行根据权利要求22所述的步骤。
24.一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序当由处理器执行时,指令正在聚合的服务器(100)执行根据权利要求22所述的步骤。
CN202180026192.1A 2020-03-31 2021-03-29 用于在远程地址空间中聚合数据的系统和方法 Active CN115398878B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20167246.6A EP3890277B1 (en) 2020-03-31 2020-03-31 System and method for aggregating data in a remote address space
EP20167246.6 2020-03-31
PCT/EP2021/058152 WO2021198178A1 (en) 2020-03-31 2021-03-29 System and method for aggregating data in a remote address space

Publications (2)

Publication Number Publication Date
CN115398878A CN115398878A (zh) 2022-11-25
CN115398878B true CN115398878B (zh) 2024-05-14

Family

ID=70224229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180026192.1A Active CN115398878B (zh) 2020-03-31 2021-03-29 用于在远程地址空间中聚合数据的系统和方法

Country Status (5)

Country Link
US (1) US20230027121A1 (zh)
EP (1) EP3890277B1 (zh)
CN (1) CN115398878B (zh)
CA (1) CA3173459A1 (zh)
WO (1) WO2021198178A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338802B (zh) * 2022-02-21 2023-07-18 重庆邮电大学 一种支持发布/订阅的opc ua多服务器聚合方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076992A (zh) * 2004-08-13 2007-11-21 塞特里克斯系统公司 在多个远程访问服务器之间维持事务完整性的方法
CN101903837A (zh) * 2007-12-21 2010-12-01 Abb研究有限公司 根据标准协议opc ua进行客户端服务器通信的方法和装置
CN102667748A (zh) * 2009-10-30 2012-09-12 日立数据系统有限公司 使用复制在具有名称空间的分区的内容平台上的固定内容存储
CN108199897A (zh) * 2018-01-17 2018-06-22 重庆邮电大学 一种支持缓存管理的opc ua多服务器聚合方法
CN109672668A (zh) * 2018-12-03 2019-04-23 积成电子股份有限公司 一种gda接口与opc ua服务的映射方法
CN110162417A (zh) * 2019-05-28 2019-08-23 重庆邮电大学 一种工业边缘计算应用与opc ua地址空间的数据交互方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008011191A1 (de) * 2008-02-26 2009-08-27 Abb Research Ltd. Client/Server-System zur Kommunikation gemäß dem Standardprotokoll OPC UA und mit Single Sign-On Mechanismen zur Authentifizierung sowie Verfahren zur Durchführung von Single Sign-On in einem solchen System

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076992A (zh) * 2004-08-13 2007-11-21 塞特里克斯系统公司 在多个远程访问服务器之间维持事务完整性的方法
CN101903837A (zh) * 2007-12-21 2010-12-01 Abb研究有限公司 根据标准协议opc ua进行客户端服务器通信的方法和装置
CN102667748A (zh) * 2009-10-30 2012-09-12 日立数据系统有限公司 使用复制在具有名称空间的分区的内容平台上的固定内容存储
CN108199897A (zh) * 2018-01-17 2018-06-22 重庆邮电大学 一种支持缓存管理的opc ua多服务器聚合方法
CN109672668A (zh) * 2018-12-03 2019-04-23 积成电子股份有限公司 一种gda接口与opc ua服务的映射方法
CN110162417A (zh) * 2019-05-28 2019-08-23 重庆邮电大学 一种工业边缘计算应用与opc ua地址空间的数据交互方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Automatic address space generation for an OPC UA server of a flexible manufacturing system";A. Gîrbea;《IEEE》;全文 *
"Aggregating OPC UA Server for Flexible Manufacturing Systems";Ilkka Seilonen, D.Sc.;《Aalto University School of Electrical Engineering Department of Electrical Engineering and Automation》;第9-33页 *
"An OPC UA Multi-Server Aggregator with Cache Management";Heng Wang;《IEEE》;全文 *
"OPC UA多服务器聚合软件的设计与实现";马越;《中国优秀硕士论文全文数据库》;全文 *

Also Published As

Publication number Publication date
EP3890277A1 (en) 2021-10-06
EP3890277B1 (en) 2024-01-03
US20230027121A1 (en) 2023-01-26
CN115398878A (zh) 2022-11-25
WO2021198178A1 (en) 2021-10-07
CA3173459A1 (en) 2021-10-07
EP3890277C0 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
US7546335B2 (en) System and method for a data protocol layer and the transfer of data objects using the data protocol layer
US7970823B2 (en) System for sharing data objects among applications
US7779050B2 (en) Method, apparatus, and system for data modeling and processing
US6636886B1 (en) Publish-subscribe architecture using information objects in a computer network
US6343287B1 (en) External data store link for a profile service
US6769032B1 (en) Augmented processing of information objects in a distributed messaging framework in a computer network
US7130872B2 (en) Multi-tiered caching mechanism for the storage and retrieval of content multiple versions
US7487191B2 (en) Method and system for model-based replication of data
US8392567B2 (en) Discovering and identifying manageable information technology resources
US8056091B2 (en) Systems and methods for using application services
US20020032775A1 (en) System and method for transmitting and retrieving data via a distributed persistence framework
US20060136437A1 (en) System, method and program for distributed policy integration
US20060085412A1 (en) System for managing multiple disparate content repositories and workflow systems
US8838627B2 (en) Systems and methods for providing template based output management
US7552151B2 (en) System, method and program product for adding, updating and removing RDF statements stored on a server
US10120886B2 (en) Database integration of originally decoupled components
CN115398878B (zh) 用于在远程地址空间中聚合数据的系统和方法
US6745203B1 (en) User interface for a distributed messaging framework
US20030115243A1 (en) Distributed process execution system and method
EP2355406B1 (en) A method for flexibly storing/retrieving data stored in a tree-based data storing device in/from a database and corresponding system
US8533220B2 (en) Retrieving data in batches from a line of business system
CN117827953A (zh) 一种基于分布式服务的数据融合方法、系统、设备及介质
Li et al. Distributed spatial catalog service on the CORBA Object Bus
Zhong et al. A Unified-Index Based Distributed Specification for Heterogeneous Components Management
JP2004356735A (ja) ネットワークアクセスのための方法,プログラム,サーバ,システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant