2026-09-08 02:35:58 作者:网编
分类:文章
你走在工厂的控制车间里,随便拽出一台十几年的PLC,拔了接线端子看看,十有八九,那两根线就是走Modbus的。
真的,这个协议太老了,比很多现场工程师的年纪都大。但它就是没死,反而越活越滋润,几乎所有工业网关、SCADA系统,第一个做适配的协议就是它。
为什么Modbus到今天还没被淘汰?
工业现场PLC Modbus RS485接线实拍
1979年施耐德为自己的PLC开发这个协议的时候,肯定没想到四十多年后还到处都是它的身影。
那时候没有工业以太网,没有工业互联网,连PC都还是稀罕东西。Modbus从出生那天起,就走了简单开放的路线——没有复杂的协议栈,没有高额的专利授权费,只要你懂点串口编程,一天就能写出一个Modbus从站。
这个优势放到今天依然管用。
问:现在有Profinet、EtherCAT这些高速工业以太网协议,为什么还在用Modbus?
答:核心原因就两个:够用,便宜。你想想,现场一个普通的温度变送器、阀门定位器,要传的无非就是几个模拟量、几个开关状态,Modbus RTU跑RS485,19200波特率完全够撑住几十台设备的数据,硬件成本几块钱就能搞定。换个Profinet?光是协议栈的授权费就能顶小半个设备成本,小厂商根本没必要花这个钱。而且工业现场换设备的节奏有多慢?一台设备装上去,只要不坏,跑十几年太正常了,新系统要对接老设备,不认Modbus你根本连不上。
说白了,工业现场不追新,只追稳。稳了还便宜,为什么要换?
Modbus最常见的坑,九成工程师都踩过
用的人多,踩坑的人也多。Modbus简单,但简单不代表不会出问题,很多问题还是那种时好时坏,查半天找不到原因的玄学问题。
最常见的就是地址偏移坑。很多新手刚接触Modbus,对着手册找寄存器地址,死活读不到数据,折腾一下午,最后发现手册里写的是1起始地址,程序里用的是0起始,差了1个偏移。那种懊恼谁懂啊!
然后就是终端电阻坑。RS485总线超过一百米,总线两端必须接120欧的终端电阻,很多人忘了接,信号反射导致丢包,表现就是有时候能读,有时候读不到,你站在设备旁边调试它就好,一走就坏,能把你逼疯。
问:Modbus RTU和Modbus TCP到底选哪个?二者核心区别在哪?
答:核心区别就是传输层不一样,Modbus TCP就是把Modbus的协议数据封装进TCP包,跑以太网而已,功能码、寄存器这些核心逻辑完全没变。选哪个其实很好判断:如果是小项目,现场都是小传感器小执行器,走RS485布线成本低,选Modbus RTU就够;如果已经有以太网布线,设备多距离远,要对接上位机SCADA,选Modbus TCP更方便。别迷信TCP一定比RTU好,我见过不少现场,TCP因为工业环境电磁干扰导致交换机丢包,换了RTU跑485反而稳得一批。
Modbus寄存器地址偏移换算对照表
下面给你们整理几个我攒的避坑小贴士:
✅ 接RS485的时候A/B线别搞反,反了肯定不通,别问我怎么知道的…
✅ 同一台Modbus RTU总线上,从站地址绝对不能重复,重复了会撞包,整个总线都会乱掉
❗ 不要硬撑着在一条总线上挂超过30个从站,哪怕芯片手册说能驱动32个,实际超过20个最好加中继,稳定性掉得离谱
💡 调试不通先抓包看物理层,别上来就改程序,90%的问题出在接线或者地址,不是程序
Modbus会在未来十年消失吗?
Modbus会在未来十年消失吗?
说实话,我不觉得。
工业领域的迭代速度,和互联网完全不是一回事。互联网几年就能换一套技术栈,工业领域你能看到二十年的老设备还在满负荷跑,只要设备没坏,工厂绝对不会停线给你换,停线一小时损失可能几十万,犯不上。
而且现在做工业互联网,做设备上云,首先要解决的就是老设备的数据采集,老设备十有八九只出Modbus接口,你不支持Modbus,这个市场根本做不动。哪怕是新出的IIoT网关,也得留个Modbus口做兼容,对吧?
不过话说回来,Modbus原生的缺点也不能忽略。它出身的时候根本没考虑安全问题,没有加密,没有认证,只要你能接到总线,就能读数据写寄存器,直接连外网太危险。现在新的项目如果要把Modbus设备连到外网,一定要加VPN或者前置防火墙,这个千万不能忘。
它就像工业界的红砖,老,便宜,不高级,但是建房子离不了。新的建筑材料再多,红砖还是到处都在用。Modbus就是这么个东西,再过十年,你去工厂转一圈,大概率还是能看到那两根走Modbus的线。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:Modbus:工业现场活了四十多年的老协议,为什么还没被淘汰?
文章链接:https://m.zystgy.cn/a/58738