Skip to content

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 节点

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

Modbus 节点一览

5、案例参考 ​

可结合公开实操文加深理解,例如:
百家号相关案例

配置时一般需要:

  1. 建 Modbus Client / Server(按 TCP 或串口)
  2. 用 Flex Getter / Read 等节点按功能码与地址读保持寄存器或线圈
  3. 经 function / json 整理后,可选 mqtt out 上报 ThingsBoard

具体地址与从站号以现场设备点表为准。