虹科方案 | 如何实现OPC DA Server和MQTT Broker之间的数据交互?

一、前言

世纪九十年代,传统OPC通信技术的诞生为不同生产商的工业设备通讯建立一整套开放的接口、属性和方法标准集,进而实现了不同协议设备和上位机之间的通讯。随着工业4.0的快速推进,越来越多的用户希望将设备数据上传到物联网平台实现数据的统筹管理,MQTT作为物联网协议,常常用于物联网平台数据的采集。因此,本文主要介绍如何通过虹科OPC Client for MQTT软件实现OPC DA Server和MQTT Broker之间的数据交互

二、工具

1. 软件:OPC DA Server 、虹科OPC Client for MQTT虹科HiveMQ MQTT Broker、MQTT.fx

2. 硬件:1台Windows 10 PC

三、MQTT通信简介

MQTT协议是一种基于发布/订阅(Pub/Sub)模式的“轻量级”通讯协议,作为一种低开销、低带宽占用的即时通讯协议,广泛应用于物联网行业。MQTT协议通信主要由三部分组成,分别为发布端(Publisher)、订阅端(Subscriber)和MQTT Broker。其中,发布端和订阅端通过主题(Topic)来进行数据传输。而且,发布端和订阅端并不是直接相连,而是通过MQTT Broker进行连接,整体的通信架构如下图所示。

当发布端给MQTT Broker发布某个主题的消息后,MQTT Broker会把消息转发给订阅该主题的订阅端,从而实现发布端和订阅端的数据交互。

四、 操作步骤

本文使用虹科OPC Client for MQTT采集OPC DA Server数据并且作为MQTT发布端发布数据,使用虹科HiveMQ MQTT Broker作为MQTT Broker,使用MQTT.fx作为MQTT订阅端接收数据。

4.1 OPC DA Server数据添加

1. 打开虹科OPC Client for MQTT软件,点击菜单栏中“OPC Servers”添加OPC DA Server

2. 选择本地OPC DA Server

注:除了本地OPC DA Server,也支持连接远程OPC DA Server(通信前请配置DCOM),可以在上图中“Remote Connection”配置远程OPC DA Server连接参数。

3. 添加OPC组

(1)右键点击刚添加的OPC DA Server,选择菜单中中“Add Group”添加OPC组

(2)配置OPC组名称、更新速率、死区(百分比)以及时间偏差等参数

(3)配置OPC组的读写模式

4. 添加OPC项

(1)右键点击刚添加的OPC组,选择菜单中的“Add Items”添加OPC项

(2)选择对应的项,直接拖到右边空白处或者右键添加

(3)至此,完成了OPC DA Server数据的添加

4.2 MQTT发布端发布数据

1.点击菜单栏中“MQTT Agents”添加MQTT发布端

2. 配置MQTT发布端参数

(1)设置发布端名称以及MQTT协议版本

(2)配置MQTT Broker连接参数、发布主题以及QoS服务等参数

(3)选择OPC组

(4)点击“Finish”完成MQTT发布端参数配置

(5)右键点击创建的发布端,点击“Start”启动服务

注:服务启动后,MQTT发布端的颜色由红色变成绿色。

4.3 MQTT订阅端接收数据

1. 打开MQTT.fx软件,配置MQTT Broker连接参数

2. 连接MQTT Broker,配置订阅主题(对应MQTT发布端的发布主题)

3. 点击“Subscribe”接收OPC DA Server数据

4. 至此,完成了OPC DA Server数据的接收

五、总结

虹科OPC Client for MQTT软件操作简单易上手,可以快速帮助用户采集多个OPC DA Server数据,并通过MQTT协议上传到用户的物联网平台或者云平台,进而实现数据的统筹管理。