谈谈OPCUA 聚合服务器(aggregation-server)

发布时间:2025-12-09 16:30:44 浏览次数:6

     OPC UA 作为一种以信息模型为基础的工业自动化通信协议,如同它的名字一样正在朝着“统一架构”的方向飞速地发展,从传感器,PLC ,传感器到云端应用都正在向OPCUA 迁移。它将成为开放型系统,数字孪生,仿真系统的主要承载协议。

   笔者看来,研究OPC UA 不能简单地停留在标准,嵌入式服务器和客户端软件的单元概念层面,要从系统架构的大视野去探索OPCUA 的各种应用方式和系统架构。基于OPC UA 技术,专业的自动控制公司开发了大量满足客户需求的软件产品。包括了HMI ,SCADA,服务器等。

       在本文我们谈谈聚合服务器。所谓聚合服务器是将多个服务器的对象和类型聚合成为一个单一巨大的服务器。

为什么要数据聚合

什么是数据聚合?

     数据聚合是将来自不同 OPC 服务器(和其他数据源)的数据汇集到单个数据源中,以便一个或多个 OPC 客户端(或其他客户端)可以通过单个通用接口访问此数据。

        根据您选择的解决方案,数据聚合不仅仅是OPC - 它是关于从所有各种数据源集中收集数据,为您的整个企业创建一个全面的数据集。

     越来越多的设备中都包含了用于外部访问的服务器,例如PLC ,边缘控制器,甚至是传感器中都可能包含一个OPCUA 的服务器。可以通过内嵌了OPC UA 的客户端访问系统中所有服务器。当系统中的设备很多时,这种访问是复杂的。OPCUA 客户端软件访问服务器的需要:

  • 发现服务器,获取服务器的网络地址和端口
  • 获取服务器的信息模型。
  • 根据信息模型来读写数据
  • 订阅,告警事件的处理
  •    与此同时,多个客户端软件同时访问服务器时,将会占用网络带宽和前端处理器的算力。下图是增加了聚合服务器的前后变化。

     使用聚合服务器的模式

         如今,大多数项目涉及的系统比使用单个PLC进行HMI读写更复杂。因此,大多数项目都涉及配置与多个数据源和设备的单独客户端连接。数据聚合支持从多个源将数据汇集在一起,并将其作为单个全面的数据集提供给客户端应用程序。

    使用聚合服务器的优点:

  • 降低了OPCUA 客户端的负荷
  • 使用单一的通信连接访问多个数据源
  • 方便地访问和控制多个服务器
  • 使用单一的地址空间。
  • 数据聚合有助于确保将通用且一致的更新速率传递到其他 OPC 服务器和数据源,避免过程网络上不必要的流量。
  • 如果客户端应用程序需要每个服务器连接的许可证,则通过单个客户端连接访问数据也可以节省资金。
  • 从所有各种数据源收集数据,并将其作为共享的通用数据集呈现给用户。
  • 客户端程序永远不需要知道哪个程序发起了数据才能读取和写入数据,因为有一个公共位置可以访问它。
  • 系统架构

    聚合服务器的模型

    系统架构

    聚合技术

    聚合服务器的基本架构

     被聚合的服务器(Aggregated server)

            它们是自动控制系统的实体,比如PLC ,现场设备中的服务器。可以是子系统中的一组实体。

    聚合服务器(Aggregation server)

            聚合服务器是聚合架构的核心。它通过OPC 服务连接所以的服务器。聚合它们的类型,实例和结构信息。

    信息模型

            为了实现聚合服务器,需要一些扩展的OPCUA 信息模型。扩展模型包括两部分:

    聚合服务器的信息模型

    OpcUaServerType是OpcUa 的模型,它包含了一个变量ServerUrl ,也就是服务器的地址(Url)。

    AggregatedServerType是OpcUaServerType的继承,包含了ServerType.

    ServerType.包含了服务器的详细信息。比如诊断状态diagnostic status.

    AvailableServerSetType 包含了所有聚合的服务器

    被聚合服务器的扩展信息模型

    OPCUA 聚合服务器的实现

    服务器聚合

            服务器聚合是发现和收集所有被聚合服务器的信息,这样两者方式

    文件描述方式

            将所有的服务器Url 放置在ServerUris.xml文件中

    自动发现方式

            使用OPCUA 的discovery方式,一种是广播方式,一种是建立一个本地发现服务器Local Discovery Server。所有的服务器都需要在LDS中注册,Client 通过访问LDS 来获取服务器的Url

    读取数据

            每当聚合服务器请求读取是,内部的节点管理器将会通过字典查询,将读请求转向被聚合的服务器。而被聚合服务器中读取的响应返回给外部的OPCUA 客户端。

     

    写入数据

             与读操作类似,直接将写请求前向发送给相应的被聚合服务器。

    订阅和解除订阅

            也同样是中继的方式实现。

    现有的项目和产品

    项目

                    OPC Foundation 的UA -.NETStandard -samples 中提供了一个聚合服务的实例:

    https://github.com/OPCFoundation/UA-.NETStandard-Samples

    商业化产品

            多家公司实现了聚合服务器产品,或者在它们的产品中包含了聚合服务器的功能

    softwaretoolbox公司的Top Server

    Softing 公司的安全集成服务器(Secure Integration Server )

    Prosys 公司的OPC UA Historian

          从国外的产品来看,聚合服务器能够结合历史数据库,Web 服务,MQTT 等功能和通信协议,实现功能强大的服务器。

    下图是Softing 公司SIS的系统架构

    实验项目

            我们正在研究开发一个聚合服务器的演示,其系统的架构:

            每一台PLC 通过modbus TCP与与一个OPC UA 网关相连接。网关内置OPCUA 服务器,将PLC的modbus 数据转变成为OPC UA 信息模型。

            所有的OPCUA Server 聚合到聚合服务器。在HMI的视角下,聚合服务器保存了一个大的OPC UA 模型。

           聚合服务器中可以带有一个历史数据库。

    结束语

           OPCUA 是自动控制领域重要的通信协议,但是不能只是停留在信息模型,嵌入式服务器和简单客户端程序的基础阶段。要全面地研究和学习OPC UA 如何在工业软件中的应用,基于OPC UA 标准,国外公司开发了各种软硬件集成软件,聚合服务器就是其中一种。从聚合架构看出,国外公司十分重视技术的应用,开发了面向解决方案的软件,而且具体的方式也十分多样化。并不是标准中题记的那些单一架构。这一点是值得我们借鉴。

    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477