第2章:物理层与通信介质

各位同学,咱们今天聊聊Modbus通信的“地基”——物理层。说白了,就是数据到底怎么在线上跑的。我见过不少新手,上来就写代码调协议,结果死活连不上,最后发现是线接错了,或者距离太远信号衰减了。嗯,物理层搞不定,上层协议再漂亮也是白搭。

2.1 RS-232:最经典的“点对点”

RS-232,这玩意儿年纪比我都大。它用的是单端信号,说白了就是一根信号线对地线,电压差来代表逻辑“0”和“1”。

  • 逻辑1(Mark):-3V ~ -15V
  • 逻辑0(Space):+3V ~ +15V

我个人习惯把RS-232叫做“短距离直连”。为什么?因为它抗干扰能力弱,传输距离一般不超过15米。我在项目里用它来调试设备,比如连个PLC或者串口屏,距离近,简单粗暴。

⚠️ 注意:RS-232是“点对点”的,只能连两个设备。别想着挂一堆从站上去,那是RS-485的活。

2.2 RS-485:工业现场的主力军

RS-485,这才是咱们工业物联网的主角。它用的是差分信号,两根线(A和B)拧在一起,靠两根线之间的电压差来传数据。你想想看,两根线同时受到干扰,差值基本不变,所以抗干扰能力特别强。

  • 逻辑1:A线比B线高(通常>200mV)
  • 逻辑0:B线比A线高(通常>200mV)

我记得有一次在工厂里,传感器离主机有800多米,用RS-232根本不行,换成RS-485,加了个终端电阻,稳得很。RS-485支持多点通信,一条总线上最多能挂256个设备(实际看驱动芯片)。

💡 核心优势:长距离(1200米)、多节点、抗干扰强。Modbus RTU最常用的物理层就是它。

2.3 RS-422:全双工的“老大哥”

RS-422和RS-485很像,也是差分信号。但有个关键区别:RS-422是全双工的,能同时收发数据。它用了4根线:发送对(T+、T-)和接收对(R+、R-)。

我在项目中很少用RS-422做传感器采集,因为成本高,线也多。但如果你需要高速、长距离、同时收发,比如连接某些高速PLC或者变频器,RS-422就派上用场了。

特性 RS-232 RS-485 RS-422
信号类型 单端 差分 差分
最大距离 15米 1200米 1200米
最大节点数 2(点对点) 256(典型) 10(接收)
通信模式 全双工 半双工 全双工
典型应用 调试、短距 工业总线 高速设备

2.4 双绞线与终端电阻

说到RS-485,就绕不开双绞线和终端电阻。双绞线,就是把两根信号线(A和B)像麻花一样拧在一起。为什么要拧?因为两根线受到的电磁干扰几乎一样,差分信号一减,干扰就抵消了。

终端电阻,这玩意儿我吃过亏。曾经有个项目,总线上挂了10个传感器,距离300米,数据总是丢包。我查了半天,发现总线两端没加120欧姆的终端电阻。加上之后,信号反射没了,通信稳如老狗。

🔧 实战建议:RS-485总线两端各加一个120Ω电阻。如果距离短(<50米)且节点少,可以不加,但加了更保险。

2.5 常见接线方式

接线方式其实就几种,我给大家总结一下:

  1. 点对点:一个主机一个从机,RS-232或RS-485都行。简单,但扩展性差。
  2. 总线型:RS-485最常用。所有设备挂在一对双绞线上,手拉手连接。注意不要搞成星型,信号反射会让你头疼。
  3. 菊花链:从主机出来,先连设备1,再从设备1连到设备2,依次类推。这种接法在长距离时效果不错。

我曾经在一个项目中,客户非要搞星型接线,结果通信时好时坏。我过去一看,直接改成总线型,问题解决。嗯,有时候理论就是实践,别瞎创新。

2.6 知识体系总览

下面这张图,是我自己画的,把本章的核心逻辑串起来了。你一看就明白:

物理层与通信介质知识体系 物理层标准 RS-232 单端信号,点对点 距离≤15米 RS-485 差分信号,半双工 距离≤1200米 RS-422 差分信号,全双工 距离≤1200米 关键要素 双绞线(抗干扰) 终端电阻(防反射) 总线型接线(最稳定)

2.7 避坑指南

最后,我把自己踩过的坑分享给你:

  • 接地问题:我曾经在一条总线上,有的设备接地,有的没接,结果共模电压差太大,烧了两个485芯片。后来我统一了地线,再没出过事。
  • 线缆质量:别用普通网线代替双绞线。我试过,距离一长就丢包。老老实实用屏蔽双绞线(STP),尤其是靠近变频器、电机这些强干扰源的地方。
  • 终端电阻别乱加:如果总线很短(比如几米内),不加电阻也能工作。但一旦超过50米,或者节点超过10个,必须加。我曾经偷懒没加,结果调试了整整两天。

好了,物理层就聊到这儿。记住一句话:物理层稳了,Modbus通信就成功了一半。下一章咱们会深入数据链路层,看看数据帧到底是怎么打包的。


专注资料整理