Modbus Tutorial

从入门到精通,system学习 Modbus protocol原理、messageformat、debug方法和实战应用

快速开始

协议Tutorial

Modbus RTU

  • RTU 帧format与时序
  • CRC verification计算
  • 主从通信机制
  • 常见Error处理
View details

Modbus TCP

  • MBAP message头结构
  • TCP connect建立
  • Transaction identifier
  • 与 RTU 的区别
View details

Modbus ASCII

  • ASCII 帧format
  • LRC Verification calculation
  • 开始/End字符
  • 应用Scene
View details

function code详解

  • 01/02: 读写线圈
  • 03/04: 读写register
  • 05/06: 写单个
  • 15/16: 写多个
View details

debug实战

Serial Port Debugging

  • Serial port parameters设置
  • messagesend与receive
  • Response超时处理
  • 常见Error码
在线debug

TCP debug

  • IP 和端口设置
  • TCP connect测试
  • message捕获分析
  • 网络故障排查
在线debug

CRC 计算

  • CRC-16 算法
  • 在线计算Tools
  • 校验码验证
  • 常见Error
在线计算

messageParse

  • 自动Parsemessage
  • field说明
  • Error码解释
  • 实例分析
在线Parse

Frequently Asked Questions

Modbus RTU 和 TCP 有什么区别?

RTU 使用串行通信(RS485/RS232),帧format包含address、function code、data和 CRC verification;TCP 使用以太网通信,帧format包含 MBAP 头和 PDU,不需要 CRC verification。

如何计算 Modbus CRC verification码?

CRC-16 使用 0x8005 多项式,初始值 0xFFFF,计算每个byte后与 0xFFFF 异或。可以使用我们的在线 CRC 计算Tools自动计算。

Modbus function code 03 和 04 有什么区别?

function code 03 Read and hold register(可读可写),function code 04 Read input register(只读)。保持register用于参数设置,输入register用于实时data。

Modbus 通信超时怎么解决?

检查Serial port parameters(Baud rate、data bit、stop bit、check digit)是否匹配,检查接线是否正确,检查slave address是否冲突,适当增加超时time。

Need help?

如果您在学习或使用 Modbus 过程中遇到问题,欢迎Contact Us的Technical Support团队。