Modbus RTU 485通讯结构详解

Modbus RTU 通讯结构详解


Modbus RTU 通讯结构详解

功能码 01H – 读线圈状态

主站 → 从站(请求帧)
字段名称 说明 示例值
从站地址 目标设备编号 0x01
功能码 读线圈状态 0x01
起始地址 地址高 + 低 0x00 0x13
线圈数量 高位 + 低位 0x00 0x25
CRC CRC 校验 0xXXXX
从站 → 主站(响应帧)
字段名称 说明 示例值
从站地址 响应地址 0x01
功能码 回显功能码 0x01
字节数 返回字节 0x05
线圈状态 状态打包 0xCD 0x6B 0x05 0x00 0x00
CRC CRC 校验 0xXXXX

功能码 03H – 读保持寄存器

主站 → 从站(请求帧)
从站地址 目标地址 0x01
功能码 读取保持寄存器 0x03
起始地址 高位 + 低位 0x00 0x6B
寄存器数量 高位 + 低位 0x00 0x03
CRC CRC 校验 0xXXXX
从站 → 主站(响应帧)
从站地址 回显地址 0x01
功能码 回显功能码 0x03
字节数 返回字节数 0x06
数据 寄存器值 0x02 0x2B 0x00 0x00 0x00 0x64
CRC 校验 0xXXXX

功能码 05H – 写单个线圈

主站 → 从站(请求帧)
从站地址 设备地址 0x01
功能码 写线圈 0x05
线圈地址 高位 + 低位 0x00 0xAC
写入值 0xFF00 = ON, 0x0000 = OFF 0xFF 0x00
CRC 校验 0xXXXX
从站 → 主站(响应帧)
回显请求 所有字段与请求帧一致 完全一致

功能码 06H – 写单个保持寄存器

主站 → 从站(请求帧)
从站地址 设备地址 0x01
功能码 写单个寄存器 0x06
寄存器地址 高位 + 低位 0x00 0x01
写入值 2 字节 0x00 0x03
CRC 校验 0xXXXX
从站 → 主站(响应帧)
回显请求 所有字段与请求帧一致 完全一致

功能码 10H – 写多个保持寄存器

主站 → 从站(请求帧)
从站地址 设备地址 0x01
功能码 写多个寄存器 0x10
起始地址 高位 + 低位 0x00 0x01
寄存器数量 写几个寄存器 0x00 0x02
字节数 后续数据长度 0x04
数据 数据内容 0x00 0x0A 0x01 0x02
CRC 校验 0xXXXX
从站 → 主站(响应帧)
从站地址 响应设备 0x01
功能码 回显 0x10
起始地址 确认地址 0x00 0x01
寄存器数量 确认写入个数 0x00 0x02
CRC 校验 0xXXXX

下面以工业在线PH/ORP分析仪进行modbus rtu 485通讯采集PH值为例:【有些时候使用modscan32软件无法采集,得使用串口调试助手软件才可以】
接线图

电气接线图

Modbus RTU通讯地址功能码列表


如图所示:01 从站地址 03功能码 00 97是0x97起始地址 00 01是读取两个字节即1个字,35 6E是CRC;响应帧 01 从站地址 03功能码 02 返回2个字节分别是03 68,即0x0368就是872,小数点左移2位就是PH值为8.72;B9 5A是CRC




转载请注明出处:  https://www.cntworld.cn
智能工控 » Modbus RTU 485通讯结构详解

发表回复

提供最优质的资源集合

立即查看 了解详情
文章加载时间:0.0039 秒