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