串行线 RTU 与 ASCII

串行线 RTU 与 ASCII

规范:Modbus over Serial Line Specification and Implementation Guide V1.02
新项目优先 RTU;ASCII 多用于遗留或人工可读调试


1. 物理层常见实践

项目 建议
介质 RS-485 半双工最常见;短距可用 RS-232
拓扑 总线 + 两端终端电阻(常 120Ω)
波特率 9600 / 19200 / 38400 / 115200… 全网一致
数据位 常 8
校验 Even / Odd / None(与设备一致)
停止位 1 或 2
从站地址 1–247,唯一

2. Modbus RTU 帧

1
2
3
4
┌─────────┬──────────────────┬────────┐
│ Address │ PDU (FC+Data) │ CRC16 │
│ 1 byte │ ≤253 bytes │ 2 bytes│
└─────────┴──────────────────┴────────┘

特点:

  • 二进制紧凑
  • CRC 低字节在前(小端存放于线上的常见描述:先发 CRC Lo)
  • 帧与帧之间靠静默间隔定界(经典要求约 3.5 字符时间;高速/实现中常有放宽与 FIFO 影响)

主站轮询:同一时刻总线通常只有一问一答;多主站需额外仲裁(标准串行线不原生支持多主)。


3. Modbus ASCII 帧

1
: + 十六进制字符编码的 (Address + PDU) + LRC + CR LF
  • 每字节变 2 个 ASCII 字符 → 更慢、更大
  • : 与 CRLF 定界,对“字符间隙”更宽容
  • 校验为 LRC

4. 时序要点(RTU)

概念 说明
字符超时 帧内字符间隔过大可能判为新帧/错误
响应超时 主站发出后等待从站应答的时间
周转延迟 485 方向切换方向需要时间

嵌入式注意:DE/RE 收发使能脚时序不对 → 丢首字节/CRC 错。


5. 与 TCP 对照

RTU TCP
地址 帧头 Address MBAP Unit ID(子网)/ IP
校验 CRC TCP 校验
定界 时间间隙 长度字段
并发 可多连接

下一篇:04-ModbusTCP与MBAP.md

文章互动

阅读 --

留言

0 条留言

正在加载留言…