C通过OPC UAMQTT将设备数据采集至云端-自动化工程师的数字化之路

音频采集设备_wifi采集设备_工控数据采集设备/

写在前面:

在之前的爆款文章中:

其中,有这样一句话:所有面向未来的自动化供应商都在加快拥抱软件的步伐。 面对数字化转型的现在和未来,工程师们也应该如此。 为此,在本刊文章中,特刊出几个相关实例:

随着物联网时代的到来,相信大家对OPC UA和MQTT并不陌生。 作为工业巨头,西门子也第一时间为自家的PLC提供了相应的MQTT库:

今天我们就来说说如何使用C#通过OPC UA和MQTT采集数据到云端~

文末有彩蛋哦~

本期内容为:

1. 整体网络架构

2.服务层

3.数据层

4.应用层

01

部分

整体网络架构

很多时候,我们的需求是这样的:现场有N个不同的设备或系统,每个设备或系统的协议都不一样。 我们希望可以用一种通用的、简单的方法将这些数据传输到云端,实现远程访问。

这样的需求其实是物联网最典型的应用之一,所以使用OPCUA+MQTT或许是一个不错的选择。 整体框架设计如下:

wifi采集设备_音频采集设备_工控数据采集设备/

图1 整体网络架构

为实现整体功能,此处设备层采用Modbus Slave,基于Modbus TCP协议进行仿真测试,增加5个变量,分为压力1-压力5,对应地址从40001-40010,数据类型为浮点数,运行Modbus Slave仿真结果如下:

音频采集设备_工控数据采集设备_wifi采集设备/

图2 ModbusTCP服务器

02

部分

服务层

至于服务层,主要是OPCUA服务器的开发和应用。 这里我们有两个选择。 一种是使用第三方OPC软件,如Kepware、Knight、Matrikon。 不过,还有一种方式就是自己开发,难度相对较大。

这里我使用了一个自己开发的软件——CMS组态集成软件。 通过简单配置,10秒内实现ModbusTCP客户端数据通信。 结果如下:

音频采集设备_工控数据采集设备_wifi采集设备/

图3 ModbusTCPClient通讯测试

不过这部分只是实现了ModbusTCP客户端的功能。 如果要实现OPCUA服务器的功能,需要激活OPCUA服务器,在服务器节点下添加一个OPCUA服务器。 添加完成后,保存并再次运行。 结果如下:

wifi采集设备_音频采集设备_工控数据采集设备/

图 4 打开 OPCUAServer

为了测试OPCUA服务器是否开启成功,需要进行测试。 可以使用官方软件UAExpert软件进行测试:

工控数据采集设备_音频采集设备_wifi采集设备/

图5 OPCUAClient通信测试

03

部分

数据层

(1) 在实现数据层功能之前,需要先创建一个MQTT服务器。 这里使用了一个基于.NET CORE的MQTT服务器程序,部署在阿里云服务器中运行(这里注意开放1883端口),运行效果如下:

wifi采集设备_工控数据采集设备_音频采集设备/

图表 6 MQTT 服务器

(2) MQTT服务器创建完成后,重新打开一个CMS配置软件,测试OPCUAClient的功能。 上一节的UAExpert是OPCUA官方的客户端软件,仅供测试使用。 这里使用的CMS组态软件是OPCUAClient,是我们自己开发的客户端程序。 配置完成后运行结果如下:

wifi采集设备_工控数据采集设备_音频采集设备/

图 7 OPCUAClient

(3)在CMS配置服务器节点,右键添加一个MQTTClient,根据MQTT服务器配置IP、用户、密码、主题、更新时间等相关信息,如下:

音频采集设备_工控数据采集设备_wifi采集设备/

图 8 MQTT 客户端配置

(4) 配置完成后,点击开始按钮。 整体运行后,可以看到MQTT连接成功,并且会按照设置的周期,将最新的数据发布到指定的主题中。 效果如下:

wifi采集设备_音频采集设备_工控数据采集设备/

图9 启动MQTT客户端

(5)打开MQTT服务器,也可以看到数据在不断的发布。 这里为了观察结果方便,压力1的数据模拟为每秒增加1。 MQTT服务器收到的数据如下:

音频采集设备_工控数据采集设备_wifi采集设备/

图10 MQTT服务器数据接收

04

部分

应用层

通过以上相关部署,即可实现整个OPCUA+MQTT。 在实际应用中,只需要打开一个MQTT客户端,连接到指定的MQTT服务器,订阅相应的topic即可获取设备层的实时数据。 这里使用一个常用的MQTT客户端软件,即MQTT.fx:

工控数据采集设备_wifi采集设备_音频采集设备/

图11 MQTT.fx通信测试

工控数据采集设备_音频采集设备_wifi采集设备/

写在最后:

本文旨在结合目前主流的OPCUA统一架构和MQTT通信协议,实现一种将数据上传到云端的方式。 对于自动化行业的工程师来说,可以拓展大家的思路。 未来更多的是IT和OT结合的趋势。 因此,每一位工控技术人员都必须时刻保持危机意识,不断学习,不断进取,才能更好地面对未来产业的快速发展。

由于篇幅有限,很多细节可能无法用文字描述清楚,所以我们准备了自动化行业的物联网公开课。 名额有限,先到先得。

工控数据采集设备_音频采集设备_wifi采集设备/

结尾

工控数据采集设备_音频采集设备_wifi采集设备/

wifi采集设备_音频采集设备_工控数据采集设备/

小编1分钟前说

创作不易,如果觉得不错,欢迎来听直播课!

(扫描下图中的代码添加微信~↓↓↓)

wifi采集设备_音频采集设备_工控数据采集设备/