Node-Red魔改版调试modbus-RTU协议技巧

本文介绍了如何在Node-Red的IoT-Fast版本中配置Modbus组件以连接设备,包括设置从站、功能码和数据位置。通过SerialIn组件监控串口数据,利用JS函数组件解析报文,展示了一个实际的温度和湿度读取示例,以及串口闲置时间的配置。
摘要由CSDN通过智能技术生成

Modbus协议在市场上相当常见,大部分设备都支持它。接下来,我们将分享如何使用Node-Red的IoT-Fast版本来调试Modbus协议设备。通过下图,我们可以看到首先需要拖入一个Modbus组件,根据设备点表设置好从站和功能码,定义好数据位置,就可以直接读取数据。为了了解设备串口发送的原始报文,我们可以使用Serial In组件来监听返回的数据报文。在配置串口监控时,需要设置闲置时间。然后,通过JS函数组件和下图代码,我们可以根据自己的业务需求进行二次报文拆解和学习。

步骤说明

  1. 添加Modbus组件:在IoT-Fast中,你需要添加一个Modbus组件,并根据你的设备点表设置好从站和功能码,定义好数据位置。
  2. 添加Serial In组件:为了监听串口发过来的原始报文,你需要添加一个Serial In组件,并配置串口监控。在配置中,需要设置闲置时间。
  3. 使用JS函数组件:你可以使用JS函数组件,结合以下代码,根据自己的业务需求进行二次报文拆解和学习

报文内容说明

0x2 设备地址
0x3 功能码
0x4 数据开始
0x1 数据1
0xf 数据2
0x2 数据3
0x72 数据4
0x79 CRC验证码
0x89

modbus-RTU报文结构

const buffer = Buffer.from(msg.payload , 'hex');  
const array = Array.from(buffer);  
 temperature=buffer.readInt16BE(3)/10 //温度
 humidity=buffer.readInt16BE(5)/10 //湿度
 msg["temperature"]=temperature
 msg["humidity"]=humidity
return msg;

串口监控配置,需设置闲置时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值