1. Modbus 协议概述
Modbus 是工业自动化领域应用最广泛的通信协议之一,自 1979 年由 Modicon(现施耐德电气)发布以来,凭借其开放、简单、可靠的特点,已成为连接现场设备与控制系统的事实标准。本章从发展历史、应用领域和协议栈结构三个维度,帮助学员建立对 Modbus 协议的整体认知。
1.1 Modbus 协议发展历史
Modbus 协议的发展经历了三个关键阶段,从串行总线到工业以太网,始终保持着向后兼容的设计哲学。
| 阶段 | 时间 | 关键事件 | 协议版本 |
|---|---|---|---|
| 诞生与串行时代 | 1979 年 | Modicon 发布 Modbus 协议,用于 PLC 与智能设备通信 | Modbus RTU / ASCII |
| 开放与标准化 | 1999 年 | 施耐德电气将 Modbus 协议规范公开,成为工业领域开放协议 | Modbus TCP |
| 以太网与泛化 | 2006 年 | Modbus-IDA 组织推动,Modbus TCP 成为 GB/T 19582 国家标准 | Modbus TCP / RTU over TCP |
关键认知: Modbus 协议不依赖特定硬件平台,任何微控制器只要实现协议栈即可互操作。这是它历经 40 余年仍活跃在工厂一线的根本原因。
1.2 应用领域
Modbus 协议在厂务监控系统(FMS)、楼宇自控、能源管理、过程控制等领域占据主导地位。以下列出典型应用场景:
- 厂务监控(FMS): 空调机组、空压机、水泵、风机、变配电设备的参数采集与控制。
- 能源管理: 智能电表、水表、气表、热表的能耗数据读取。
- 环境监测: 温湿度传感器、PM2.5 检测仪、VOC 报警器、液位变送器。
- 过程控制: 变频器、软启动器、电动调节阀、执行机构的远程设定与反馈。
- 楼宇自控: 照明控制、电梯监控、消防系统联动。
实战提示: 在厂务项目中,超过 80% 的从站设备(传感器、执行器、仪表)都支持 Modbus RTU 或 Modbus TCP 接口。掌握地址映射与调试方法,是解决现场通信问题的核心技能。
1.3 协议栈结构(物理层、数据链路层、应用层)
Modbus 协议遵循 OSI 模型的简化分层设计,主要聚焦在物理层、数据链路层和应用层。下面通过一张协议栈结构图展示各层的关系。
1.3.1 物理层
物理层定义了电气接口、传输介质和信号特性。Modbus 主要支持两种物理层:
- RS-485(最常用): 差分信号传输,最大传输距离 1200 米,支持多点连接(最多 32 个节点),半双工通信。
- RS-232: 点对点通信,传输距离约 15 米,常用于调试口或单设备连接。
- 以太网(Modbus TCP): 使用标准 RJ45 接口和 TCP/IP 协议栈,传输距离受交换机限制,支持全双工。
1.3.2 数据链路层
数据链路层负责帧封装、地址识别和差错校验。Modbus 定义了三种帧格式:
| 帧格式 | 传输介质 | 帧结构 | 校验方式 | 典型应用 |
|---|---|---|---|---|
| Modbus RTU | RS-232 / RS-485 | 地址(1B) + 功能码(1B) + 数据(NB) + CRC(2B) | CRC-16 (Modbus) | 厂务传感器、PLC、变频器 |
| Modbus ASCII | RS-232 / RS-485 | 起始符(:) + 地址(2B) + 功能码(2B) + 数据(NB) + LRC(2B) + 结束符(CRLF) | LRC (纵向冗余校验) | 老旧设备、调试场景 |
| Modbus TCP | 以太网 | MBAP头(7B) + 功能码(1B) + 数据(NB) | 无(依赖 TCP 校验) | 上位机、网关、控制器 |
常见误区: Modbus RTU 和 Modbus TCP 的 PDU(协议数据单元)结构不同。RTU 的地址和 CRC 属于数据链路层封装,而 TCP 的 MBAP 头替代了地址和校验功能。在地址映射时,务必确认从站设备使用的是哪种帧格式。
1.3.3 应用层
应用层定义了功能码、数据模型和地址映射规则。Modbus 应用层核心要素包括:
- 功能码: 01(读线圈)、02(读离散输入)、03(读保持寄存器)、04(读输入寄存器)、05(写单线圈)、06(写单寄存器)、15(写多线圈)、16(写多寄存器)等。
- 数据模型: 四种基本数据对象——线圈(DO)、离散输入(DI)、输入寄存器(AI)、保持寄存器(AO)。
- 地址映射: 从站设备将内部参数(温度、压力、频率、状态)映射到 Modbus 地址空间,主站通过功能码+地址组合访问。
1.4 本章小结
本章从发展历史、应用领域和协议栈结构三个维度建立了 Modbus 协议的整体框架。学员应重点掌握:
- Modbus 协议从串行总线到以太网的演进路径,以及 RTU / ASCII / TCP 三种帧格式的差异。
- 物理层 RS-485 的接线规范与波特率配置对通信稳定性的影响。
- 应用层四种数据对象(线圈、离散输入、输入寄存器、保持寄存器)的地址范围与对应功能码。
- 地址映射时“PLC 地址”与“协议地址”的偏移关系(差 1 问题)。