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

2023-10-13 19:40

本文主要是介绍谈谈OPCUA 聚合服务器(aggregation-server),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

      行业需要在各个层级之间实现无缝的垂直和水平通信。这导致OPC服务器的激增,分布在制造工厂的各个点,并且可能具有地理分布。出于各种目的使用此数据的OPC客户端可能必须与每台服务器建立单独的连接,这通常会导致高昂的许可证成本和维护难题。顾名思义,聚合服务器从各种 OPC 服务器聚合 OPC 数据中心,并将数据作为单个端点公开给最终客户端。聚合服务器还可以承担其他功能来对其正在收集的数据进行计算和优化,从而提高最终客户端的性能。

为什么要数据聚合

什么是数据聚合?

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

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

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

  1. 发现服务器,获取服务器的网络地址和端口
  2. 获取服务器的信息模型。
  3. 根据信息模型来读写数据
  4. 订阅,告警事件的处理

   与此同时,多个客户端软件同时访问服务器时,将会占用网络带宽和前端处理器的算力。下图是增加了聚合服务器的前后变化。

 使用聚合服务器的模式

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

使用聚合服务器的优点:

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

聚合服务器被称为系统的系统,服务器的服务器。

系统架构

聚合服务器的模型

系统架构

       OPC UA聚合服务器可能在Windows上运行,而OPC UA嵌入式服务器可能在VxWorks上运行。OPC UA提供独立于平台和操作系统的安全数据交换的能力对于将不同的系统融合到一个安全系统中至关重要。由此产生的系统链,从低级设备到SCADA系统再到企业应用程序,与OPC UA集成以形成系统系统。

聚合技术

聚合服务器的基本架构

 被聚合的服务器(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 标准,国外公司开发了各种软硬件集成软件,聚合服务器就是其中一种。从聚合架构看出,国外公司十分重视技术的应用,开发了面向解决方案的软件,而且具体的方式也十分多样化。并不是标准中的那些单一架构,也不是在AML,AAS,OPCUA 多种标准中兜圈子,迷失方向。这一点是值得我们借鉴。

这篇关于谈谈OPCUA 聚合服务器(aggregation-server)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205441

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT