Node-RED 采集 Modbus Slave 的数据
整理自《node red 采集 modbus slave 的数据》原稿。
1、Modbus 是什么
Modbus 是一种串行通信协议,由 Modicon(现施耐德电气)于 1979 年为 PLC 通信提出,现已成为工业电子设备之间常用的连接方式之一。通俗讲:通过寄存器、线圈与其它设备交换数据。
2、Modbus 与 Modbus TCP / RTU / ASCII
Modbus 是一簇协议,包含 RTU、TCP、ASCII,本身不规定物理层。典型实现:
| 形态 | 要点 |
|---|---|
| ASCII / RTU | 规定报文结构与应答;Master/Slave;ASCII 用 LRC,RTU 用 16 位 CRC |
| TCP | 走以太网;因传输可靠,一般不再做 CRC 校验 |
| 物理层 | 常见 RTU 走 RS232 / RS485;TCP 走以太网 |
Master 发请求,Slave 应答;Master 也可直接写 Slave,实现双向读写。
3、常用功能码
注意:现场最常用的是 1、2、3、4、15、16 这 6 个,即可完成对下位机数字量、模拟量的读写。
4、安装 Modbus 节点
在 Node-RED 中安装 node-red-contrib-modbus:

安装后调色板会出现一组 Modbus 相关节点:

5、案例参考
可结合公开实操文加深理解,例如:
百家号相关案例
配置时一般需要:
- 建 Modbus Client / Server(按 TCP 或串口)
- 用 Flex Getter / Read 等节点按功能码与地址读保持寄存器或线圈
- 经 function / json 整理后,可选 mqtt out 上报 ThingsBoard
具体地址与从站号以现场设备点表为准。
