ARMxy 嵌入式工业计算机的 ModbusTCP 与 MQTT 通信操作全解析

引言

在工业自动化领域,实时数据采集对于优化生产流程和提高设备效率至关重要。 Modbus RTU作为一种广泛应用的工业通信协议,因其简单可靠而备受青睐。Node-Red作为一款强大的可视化编程工具,能够极大地简化数据流的创建与管理,使其成为实现设备间互联互通的理想选择。

本文将详细介绍如何在钡铼技术的 ARMxy工业计算机上使用Node-Red工具,通过Modbus RTU协议来采集M160T IO模块的数据。通过具体的步骤演示,我们将展示从配置环境到成功读取IO模块信息的全过程。无论您是刚刚接触工业物联网的新手,还是寻求提升现有系统功能的专业技术人员,本文都将为您提供实用的操作指南,帮助您快速掌握这一关键技术的应用技巧

1 案例说明

案例功能:使用 node-red 工具通过 Modbus/RTU 协议采集 M160T IO 模块数据,再经过 MQTT 协议的转换上传到上位机Ubuntu。基于 node-red 部署程序,实现获取 M160T IO 模块数据上传到上位机。

 

1

7.2 案例测试

本案例使用 node-red 工具、M160T IO 模块和上位机 Ubuntu 通信。请通过网线将设备 ETH1、上位机和 M160T 模块 连接至公网,确保可正常访问互联网。

下表提供了可用的在线公共 MQTT 服务器,可根据需要自行切换。

1

服务器名称

Broker地址

TCOPP端口

web socket

HiveMQ

broker.hivemq.com

1883

8000

Mosquitto

test.mosquitto.org

1883

80

Eclipse

mqtt.eclipseprojects.io

1883

8 0/443

EMQX (国内)

Broker-cn.e mqx.io

1883

8083/8084

 

请按下图所示使用网线连接   M160T ETHERNET   网口,并将电源连接到   DC/IN   接口。

 

  2

1 获取从机   IP   地址及端口号

打开 “ MxxxT_E   配置软件   V1.5.1_t   ”软件,执 行以下操作查询到   M160T   设备的   IP   地址和配置端口号。本次查询   到的 IP 地址是 192.168.1.4,端口号配置为   502。我司提供的“ MxxxT_ E   配置软件   V1.5.1_t ”软件位于产品资料   “ 程序相关\Tools\Windows   ”目录下。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  3

 

 

  4

找到并双击   M160T   设备。

 

  5

设备默认密码为   1234。


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  6

弹出窗口点击确定。

 

 

 

  7

点击读取配置选项,获取当前设备信息。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  8

弹出窗口,点击确定。

 

  9

选取网络配置选项。

 

 


  10

获取到当前设备   IP   地址为   192.168.1.4,将监听端 口配置为   502,连接模式选择Modbus TCP   模式。

 

 

  11

点击写入配置选项,将配置信息写入设备。

 

  1 2

弹出窗口,提示数据保存成功。

 

 

  13

点击重启设备,重新载入配置。

 

 

 

 


 

 

  1 4

 

  15

2)   Mosquitto 工具安装

Mosquitto 是一款开源的 MQTT 消息代理(服务器)软件,提供轻量级的、支持可发布/可订阅的的消 息推送模   式。本文   node_mqtt.json   案例采用   node-red    Mosquitto 工具演示 MQTT 通信协议的通信功能。由于上位机 Ubun  tu   系统作为通信对象,因此需在 Ubuntu 终 端执行如下命令安装 Mosquitto 工具。

Host#      sudo apt-get i nstall mosquitto-clients

 

 

  1 4

3) 设备发布/上位机订阅

设备启动,执行   node-red   程序,将上位机登录到   node-red   部署系统。

使用的依赖模块有: node-red-dashboard    ”、“ node-red-contrib-modbus    ”以及自带的   mqtt   模块。请参考上方 “安装依赖模块   ”步骤安装上相应依赖模块。

在上位机执行如下命令,使用mosquitto_sub   工具订阅   MQTT   主题。

Host#     mosquitto_sub  -h  broker.hivemq.com  -p    1883  -t  modbus/da ta

参数解析:

-h:  指定 MQTT   服务器;

-p:  指定 MQTT 服务器   TCP   端口;

-t:  定义 MQTT 主题,可自定义命名。

 

  1 5

为便于测试,我司提供的经验证的   Modbus/TCP     MQTT   通信协议为案例 “ node-red\node_red_mqtt\   ”目录下的   modbus_mqtt.json 文件。请参考上方“导入节点文件   ”步骤导入对应节点文件。

导入文件成功后,点击右上角部署按钮,启动程序。

 

 

 

  1 6

部署成功后,node-red   将通过   modbus/tcp   协议采集   M160T IO   模块数据上传到   MQTT   服务器,上位机将从 MQTT   服务器接收到对应的消息。

 

  1 7

 

 


 


请使用浏览器的分享功能分享到微信等