你去国内随便一个中小型加工厂的车间走一圈,看看新装机的温度变送器、压力传感器、变频器,十台里面至少七八台,默认都带Modbus接口。
四十多年前诞生的老协议,放到今天的工业物联网时代,还在用。你说邪乎不邪乎?
1979年,施耐德搞出Modbus的时候,本来只是给自己家的PLC做个统一的通讯规范,方便和外部设备对接。谁也没想到,这个完全开放、不收任何授权费的协议,会变成全球工业界的通用语言。
那时候市面上不是没有别的协议,大多都是各家厂商锁死的私有协议,换个牌子的设备根本连不上,成套买就得被宰。Modbus一出来,好家伙,规则简单,任何人都能拿来用,小厂家做个传感器,花一周就能把Modbus驱动做出来,根本不用掏专利费。
就靠开放和便宜,Modbus迅速铺满了全球的工业现场。几十年下来,不管是老设备改造还是新项目上马,只要不是对速率要求特别高的场景,第一个想到的就是它。
问:现在新出的工业总线那么多,Profinet、EtherCAT哪个不比Modbus先进,为什么还死抱着老协议不放?
答:算过成本就懂了。一个国产的压力传感器,出厂价才五六十块,加个Profinet接口的硬件成本就得三四十,售价直接翻一倍,终端用户谁愿意买单?Modbus不管是传统的RS485串口,还是后来的Modbus TCP,硬件成本低到忽略不计,调试还简单,干了三五年的自动化工人闭着眼都能接,换个设备半天就能开工,换个不熟悉的新协议,搞不好找厂商调试就得花几千块,耽误生产一天损失都不止这点钱。换你你选哪个?
很多人提起Modbus,第一反应就是慢、落后,只能跑串口。其实早在上世纪九十年代末,Modbus TCP就出来了,直接跑在以太网上面,传输速率能到百兆甚至千兆,满足绝大多数工业现场的需求完全没问题。
说实话,Modbus本来就不是为高速运动控制这种场景设计的,给传感器、仪表、变频器这类小数据量的设备做通讯,它足够好用。很多人吐槽它没有安全机制,不加密容易被攻击。但你想想,绝大多数用Modbus的场景,都是在内网,物理隔离,本来就不接外网,要那么强的加密干嘛?加了加密反而增加设备的计算量,小设备根本扛不住,平白无故增加成本。
不过话说回来,现在Modbus的新玩法真不少,很多工业物联网项目里,Modbus都成了前端接入的标准层。不管你是什么品牌的现场设备,只要带Modbus,物联网网关直接就能读数据,不用专门开发驱动,省了不知道多少事。
问:老设备的Modbus RTU能直接接到新的Modbus TCP系统里吗?
答:当然能,一个几十块钱的转换网关就能搞定。现在很多集成商做项目,都是核心控制用高速总线,前端几十个小传感器、仪表全用Modbus RTU挂在RS485总线上,转一次Modbus TCP进PLC,整体成本比全用Profinet能降一半还多,稳定性也没差多少,行业内都是这么玩的。
Modbus规则简单,不代表不会出问题。我刚入行做项目的时候,就踩过一个大坑,折腾到晚上十点才解决,饿的肚子咕咕叫。当时接了八个温度变送器,读了七个都是对的,就最后一个死活读不到数据,查了半天线都没问题,最后才发现,厂家的地址是从1开始编的,我一直按从0开始算偏移,地址错了一位,能读到才见鬼。
现在整理了几个常见的坑,给大家提个醒:
–
✅:标准RS485总线,最多带32个设备,超过一定要加中继器,不然信号衰减,一会通一会断,找问题都找不到。
调试Modbus一定要装个调试助手或者抓包工具,出问题直接抓报文看,别瞎猜,抓完包一看就知道是发错了还是回错了,比瞎蒙快十倍。
现在很多新做的IIoT项目,哪怕是上云,前端也是全靠Modbus接设备,统一转MQTT上传,兼容性拉满,开发成本还低。工业这个行业,从来不是选最先进的,都是选最靠谱、最便宜、大家都会用的。Modbus当了四十多年的工业通用语言,接下来几十年,估计还能看到它的影子。
免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:工业老兵不死:Modbus协议为什么火了四十多年还没被淘汰? https://www.dachanpin.com/a/tg/67541.html