从零开始:在 TCP 基础上手动搭建 ModBus TCP 协议
一、核心认知:ModBus TCP 的本质与结构
ModBus 协议是工业控制领域的 “通用语言”,而 ModBus TCP 并非独立协议,而是将传统 ModBus 协议的帧结构 “嫁接” 在 TCP/IP 协议之上,实现设备间的可靠、高效通信。其核心特点如下:
- 底层依赖:基于 TCP 连接,默认端口为 502(工业设备通用端口,需确保防火墙未拦截);
- 帧结构核心:TCP 报文的 “数据段” 中封装 ModBus TCP 应用数据单元(ADU),结构分层清晰,便于解析与调试。
1.1 ModBus TCP 帧结构拆解
TCP 报文与 ModBus TCP 帧的嵌套关系如下(附可视化图示):
字段 | 长度(字节) | 说明 |
---|---|---|
事务标识符 | 2 | 自增唯一值(如从 1 开始累加),用于匹配同一次通信的 “请求 - 响应” 对 |
协议标识符 | 2 | 固定为 0(专属 ModB |