基于RS485的Modbus RTU 协议详解
基于RS485的Modbus RTU 协议详解

基于RS485的Modbus RTU 协议详解

Modbus RTU(Remote Terminal Unit) 是一种 串行通信协议,运行在 RS-485、RS-232 等物理层之上,用于实现 主从通信

  • 由 Modicon 公司于 1979 年制定
  • 被广泛应用于 PLC、工业控制系统、远程I/O模块

1.通信架构:主从式

  • 主站(PLC 或上位机)发出请求
  • 从站(接口模块)按地址响应

2.报文结构(标准 RTU 帧)

[起始静默] [从站地址] [功能码] [数据] [CRC校验] [结尾静默]

其中:

  • [起始静默] 时间长度≥3.5个字符时间,表示一次传输开始
  • [从站地址] 长度1字节(8bit),表示目标设备地址(1~247)
  • [功能码] 长度1字节,表示操作类型,如读写寄存器
  • [数据] 长度N字节(由要读或写的位决定),表示操作参数,如寄存器地址、数量等
  • [CRC校验] 长度2 字节(16bit),帧尾16位 CRC 检查码
  • [结尾静默] 时间长度≥3.5个字符时间,表示一次传输结束

标准 RTU 帧没有开始帧和结束帧,而是以时间作为界定

3.常用功能码

最常用的有01(读一个/多个位),05(写一个位),15(写多个位)03(读一个/多个寄存器),06(写一个寄存器),16(写多个寄存器)

详细功能码见Modbus RTU 协议产品的用户手册

4.其他

学习Modbus RTU 协议可以使用Modbus poll(Modbus 主机设备模拟软件)和Modbus slave(Modbus 从机设备模拟软件)

使用RS485转USB工具你才能连接到电脑使用串口助手发送或接收数据包

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注