Modbus RTU 是工业现场常见的主从式应用层协议,通常运行在 RS-485 总线上。它实现简单、设备兼容性广,适合寄存器读写和状态采集。
典型报文由设备地址、功能码、数据和 CRC 校验组成。地址用于区分从站,功能码表示读写线圈或寄存器等操作,数据区包含起始地址、数量或写入值,末尾 CRC 用于检测传输错误。多字节数据的顺序和寄存器组合方式需要根据设备手册确认。
RTU 帧依靠总线空闲时间区分边界,因此串口参数必须一致,包括波特率、数据位、校验位和停止位。主站发送请求后,应设置合理响应超时并处理异常功能码,不能无限重试。
现场调试时,先验证 A/B 线、电气地、终端电阻与收发方向,再使用串口工具或逻辑分析仪检查原始十六进制报文。若 CRC 正确但数据异常,重点检查寄存器地址偏移、字节序、数据类型和比例系数。
稳定系统还应记录超时率、CRC 错误率和设备离线状态,并对通信异常设置退避与恢复策略。
本文整理自个人 Obsidian 学习笔记。