在工业自动化领域,Modbus可以说是最"老牌"却也最"常青"的通信协议。
尽管如今工业现场总线协议层出不穷,Modbus依然占据着半壁江山——从PLC与变频器的连接,到DCS系统的数据采集,再到各种传感器与仪表的通讯,Modbus的身影无处不在。
对于电气技术人员来说,搞懂Modbus,已经成为一项必备技能。今天我们就用最通俗易懂的方式,3分钟让你彻底搞懂Modbus通信原理。
---
一、什么是Modbus?
Modbus是一种工业通信协议,通俗地理解,它是工业设备之间"说悄悄话"的语言。
打个比方:PLC是大脑,变频器、传感器、仪表是手脚。光是脑袋聪明没用,还得大脑和手脚之间能正常交流。Modbus就是一种让PLC和这些设备"对话"的规则。
Modbus最初由Modicon公司(现施耐德电气)在1979年开发,最早用于PLC之间的通讯。因为协议简单、开放免费,很快就在工业领域广泛普及,至今仍是全球工业自动化领域最常用的协议之一。
---
二、Modbus的两种传输形式
Modbus有两大"分身",适用于不同的场景:
1. Modbus RTU(最常用)
通过串口传输(RS485或RS232),数据以二进制形式发送。
特点: - 传输效率高,抗干扰能力强 - 最适合工业现场环境 - 最常见、应用最广 类比: 就像两个人用加密的暗号说话,速度快,但需要约定好暗号规则才能听懂。
---
2. Modbus TCP
通过网络传输(网线/WiFi),数据基于TCP/IP协议栈。
特点: - 适合远距离通讯或分布式系统 - 可以和现代以太网无缝对接 - 在智能工厂、远程监控场景越来越多 类比: 就像两个人通过网络视频通话,不受距离限制,但需要稳定的网络。
---
三、Modbus RTU的通信原理(重点!)
下面我们重点讲讲应用最广的Modbus RTU,这是大家日常接触最多的。
1. 主从架构
Modbus RTU采用"一主多从"的通信方式:
主站(Master):通常是PLC或工控机,向从设备发起请求
从站(Slave):变频器、传感器、仪表等被动响应的设备
类比: 老师(主站)提问,学生(从站)回答。老师不问,学生不说。
---
2. 通讯格式:站号、功能码、数据、校验
一条Modbus RTU报文,长这样:
站号 | 功能码 | 数据区 | CRC校验 |
1字节 | 1字节 | N字节 | 2字节 |
站号: 相当于设备的"身份证号",范围1~247。主站通过站号指定要和哪台设备通信。
功能码: 告诉从站要做什么。常用功能码:
功能码 | 含义 | 常见应用 |
01 | 读线圈状态 | 读开关量输出状态 |
03 | 读保持寄存器 | 读PLC数据区、变频器频率等 |
06 | 写单个寄存器 | 写入变频器频率、PLC数据 |
16 | 写多个寄存器 | 批量写入数据 |
数据区: 存放具体的读/写参数,比如起始地址、数量、数据值等。
CRC校验: 工业环境电磁干扰大,CRC校验用来检验数据是否传输正确,发现错误会要求重发。
---
3. 一个实例:PLC读取变频器频率
场景: PLC通过Modbus RTU读取一台变频器的当前输出频率。
发送报文示例(十六进制):
01 03 00 00 00 01 84 0A解析:
站号 | 功能码 | 起始地址 | 寄存器数量 | CRC校验 |
01 | 03(读寄存器) | 0000 | 0001 | 840A |
变频器响应报文示例:
01 03 02 13 88 B3 5A解析:
站号 | 功能码 | 数据字节数 | 数据(频率=0x1388=5000,即50.00Hz) | CRC校验 |
01 | 03 | 02 | 1388 | B35A |
---
四、实战:PLC如何配置Modbus通信?
以西门子S7-200 SMART PLC为例:
第一步:设置通信参数
参数 | 常用值 |
波特率 | 9600 bps(最常用)或 19200 bps |
数据位 | 8位 |
停止位 | 1位或2位 |
校验 | 无校验(None)或偶校验(Even) |
第二步: 在PLC程序中调用Modbus库指令(如MBUS_MSG),填写从站站号、功能码、数据地址等参数。
第三步: 连接硬件——PLC的RS485端口(+接+,-接-)连接到变频器或仪表的RS485接口。
注意事项: - 两台设备的波特率、数据位、停止位、校验方式必须完全一致 - RS485通信线建议使用屏蔽双绞线,且布线时应远离强电线 - 一条总线上最多可接247台从设备,但实际建议不超过32台以保证通信质量 ---
五、Modbus常见问题排查
问题1:PLC读不到从设备数据
排查思路: 1. 检查通信参数是否一致(波特率、校验等) 2. 检查站号是否对应 3. 用USB转RS485调试工具直连电脑,用Modbus测试软件单独测试从设备 4. 检查RS485接线是否正确(+、-不能接反) 5. 用万用表测量RS485总线电压是否正常 问题2:通信时好时坏
可能原因: - 通信线过长(一般RS485总线不超过1200米) - 现场电磁干扰严重,建议使用屏蔽电缆 - 接地不良,检查屏蔽层单端接地 - 从设备过多,建议分段或加信号增强器 ---
六、总结
要点 | 内容 |
| 协议类型 | Modbus RTU(串口)、Modbus TCP(网口) |
| 通信架构 | 一主多从,主站轮询从站 |
| 常用功能码 | 03读寄存器、06写单个寄存器、16写多个寄存器 |
| 应用场景 | PLC与变频器、仪表、传感器通讯 |
| 调试重点 | 通信参数一致、接线正确、站号对应 |
---
一句话记住Modbus:
Modbus就是工业设备的"普通话"——简单、开放、通用。学会了它,你就能读懂大部分工业设备的"心跳"。
---
如果你觉得这篇文章有用,欢迎转发给身边同样学PLC的同学和朋友!
更多工控技术干货,欢迎关注公众号「工控电小工」
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!