新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 技术应用
纵横智控

Modbus 请求/解析-EG网关历史节点

2025-09-24 11:00:58 阅读: 发布人:纵横智控

概述

Modbus是一种工业现场总线协议,通常运行于RS485总线,采用半双工即一问一答的通信机制。Modbus分为Modbus RTU/Modbus TCP/Modbus ASCII三种通信模式,Modbus请求和Modbus解析节点只用于Modbus RTU通信。

Modbus请求节点:根据设置的参数(地址码/功能码/寄存器起始地址/寄存器数量等)生成Modbus指令。

Modbus解析节点:根据匹配的Modbus请求节点,解析响应数据。

Modbus解析节点使用时需指定匹配的Modbus请求节点,匹配完成就会按照Modbus请求节点的设置来解析数据,因此Modbus请求和Modbus解析节点必须成对出现且必须一一匹配。

节点只对协议报文处理,并未指定相应的串口,因此一般配合串口节点一起使用。Modbus请求和Modbus解析不支持通过传参来动态请求数据。

以下介绍主要针对Modbus请求节点,Modbus解析节点无任何设置项。


Modbus协议【完整版】-https://iotrouter.yuque.com/attachments/yuque/0/2023/pdf/38696274/1698721058459-2269824c-e5b8-49d9-b135-164ba88cd249.pdf

(如下源码:https://iotrouter.yuque.com/zn3vdn/eg8000/xtbmo18kq05in9gm)

输入

msg.payload

#设置的功能码不同需要不同的参数

#FC 1:读线圈(msg.payload无意义)

#FC 2:读触点(msg.payload无意义)

#FC 3:读保持寄存器(msg.payload无意义)

#FC 4:读输入寄存器(msg.payload无意义)

 

#FC 5:写单个线圈(msg.payload:1/0)

#FC 6:写单个保持寄存器(msg.payload:0-65535)

#FC15:写多个线圈(msg.payload:字节数组,每个字节表示8个线圈)

#FC16:写多个保持寄存器(msg.payload:一个寄存器2个字节,要写入的具体字节数组,详见示例)

输出

msg.payload

#根据配置项生成的modbus rtu请求指令

功能

1. 配置项

地址码:1-255 十进制输入,请注意进制转换

 

功能码:FC 1读线圈(功能码:0x01)

FC 2读触点(功能码:0x02)

FC 3读保持寄存器(功能码:0x03)

FC 4读输入寄存器(功能码:0x04)

FC 5写单个线圈(功能码:0x05)

FC 6写单个保持寄存器(功能码:0x06)

FC 15写多个线圈(功能码:0x0F)

FC 16写多个寄存器(功能码:0x10)


起始地址:5位十进制数字,请注意进制转换

最高位不清楚怎么写可以填0,后4位是寄存器地址十六进制转成十进制后加1

例如:0x0100-->002570x0000-->00001 0x0010-->00017


数量:根据实际情况填写

 

寄存器解析:根据实际情况填写

2. 节点匹配方法


示例

1. 读线圈

Modbus 请求/解析-EG网关历史节点

2. 读触点

Modbus 请求/解析-EG网关历史节点

3. 读保持寄存器

Modbus 请求/解析-EG网关历史节点

4. 读输入寄存器

Modbus 请求/解析-EG网关历史节点

5. 写单个线圈

Modbus 请求/解析-EG网关历史节点

6. 写单个保持寄存器

Modbus 请求/解析-EG网关历史节点

7. 写多个线圈

Modbus 请求/解析-EG网关历史节点

8. 写多个保持寄存器

Modbus 请求/解析-EG网关历史节点

9. 轮训采集

Modbus 请求/解析-EG网关历史节点

10. 同一个传感器采集相同数量寄存器(防止误解析)

Modbus 请求/解析-EG网关历史节点

注意

Modbus请求节点参数有改动,对应的Modbus解析节点要重新搜索选中一下

Modbus 请求/解析-EG网关历史节点


热门产品