2. 物理层与接口:RS-232、RS-485、RS-422 接口特性、拓扑结构、接线方式

咱们搞工业通信的,都知道一句话:物理层搞不定,上层协议再牛也白搭。Modbus 虽然是个应用层协议,但它跑在什么线上,直接决定了你能传多远、带多少设备、抗不抗干扰。

今天咱们就聊聊这三种最常见的物理接口:RS-232、RS-485 和 RS-422。说实话,我入行头三年,光是在 RS-485 接地问题上就栽过好几次跟头。你想想看,一个工厂几百个传感器,要是因为接线问题导致通信不稳定,排查起来真是要命。

2.1 RS-232:点对点的老将

RS-232 是最早的串行通信标准之一。我记得刚毕业那会儿,调试第一台 PLC,用的就是 RS-232 口接电脑。那时候觉得这东西真简单,三根线就能通信。

接口特性:

  • 传输方式:单端传输,说白了就是一根信号线对地。电压范围 ±3V ~ ±15V,逻辑“1”是 -3V ~ -15V,逻辑“0”是 +3V ~ +15V。
  • 最大距离:理论 15 米左右。实际项目中,我建议你别超过 10 米。超过这个距离,信号就开始衰减得厉害。
  • 最大速率:20kbps 左右。虽然有些芯片能跑到 115200bps,但距离一长就不行了。
  • 连接方式:DB9 接头最常见。2 脚 RXD、3 脚 TXD、5 脚 GND。注意,不同厂家的 DB9 定义可能不一样,我吃过这个亏。
⚠️ 我曾经踩过的坑: 用 RS-232 做长距离通信。有一次客户非要在 30 米外放一个串口打印机,结果数据全是乱码。后来老老实实加了 RS-232 转 RS-485 转换器才搞定。记住,RS-232 就是给短距离用的,别硬撑。

拓扑结构: 只能是点对点。一台设备对一台设备,没有第二种玩法。

接线方式:

设备A (DB9)         设备B (DB9)
  TXD (3)  ——————  RXD (2)
  RXD (2)  ——————  TXD (3)
  GND (5)  ——————  GND (5)

注意:如果是两台电脑直连,需要做交叉线。如果是电脑连 PLC,通常用直连线。具体看设备手册,别想当然。

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

RS-485 才是咱们工业通信的主角。Modbus RTU 绝大多数情况下都跑在 RS-485 上。为什么?因为它能带多设备、传得远、抗干扰强。

接口特性:

  • 传输方式:差分传输。两根线(A+ 和 B-)传一路信号,靠两根线的电压差来判断逻辑。这招高明,共模干扰被抵消了。
  • 最大距离:1200 米(9600bps 时)。速率越高,距离越短。我一般按 1000 米算,留点余量。
  • 最大节点数:标准 32 个。现在很多芯片能到 128 甚至 256 个,但我不建议挂太多。挂多了,信号反射和总线负载都是问题。
  • 电气特性:A 比 B 高 200mV 以上为逻辑“1”,反之为逻辑“0”。
💡 我个人习惯: 做 RS-485 网络时,我总会在总线两端各加一个 120Ω 终端电阻。为什么?因为信号传到末端会反射回来,跟后面的信号叠加,造成数据错误。这个电阻就是吸收反射波的。很多新手忘了加,结果通信时好时坏。

拓扑结构: 总线型。所有设备并接在两根线上,像一串葡萄。绝对不能搞星型或环型,否则信号反射会让你崩溃。

🔧 避坑指南: 我曾经在一个项目中,客户把 RS-485 接成了星型拓扑,结果最远的几个设备老是丢包。我让他们改成手拉手的总线结构,问题立刻解决。记住:RS-485 只认总线,不认星星。

接线方式:

主机 A+ ———————————————— 从机1 A+ ———— 从机2 A+ ———— ... ———— 从机N A+
主机 B- ———————————————— 从机1 B- ———— 从机2 B- ———— ... ———— 从机N B-
      [120Ω]                                         [120Ω]
      终端电阻                                        终端电阻

注意:屏蔽层单端接地。我见过有人两端都接地,结果形成地环路,干扰反而更大。

2.3 RS-422:全双工的升级版

RS-422 其实可以看作是 RS-485 的升级版。它支持全双工,也就是可以同时收发。但说实话,在 Modbus 应用里用得不多,因为 Modbus 是主从协议,半双工就够了。

接口特性:

  • 传输方式:差分传输,但用了 4 根线:T+、T-、R+、R-。发送和接收分开。
  • 最大距离:跟 RS-485 一样,1200 米。
  • 最大节点数:一个发送器可以带 10 个接收器。注意,RS-422 不允许有多发送器。
  • 速率:最高可达 10Mbps(短距离时)。

拓扑结构: 一点对多点。一个主机发,多个从机收。但从机不能主动发数据,只能等主机问。

接线方式:

主机 T+ ———— 从机1 R+ ———— 从机2 R+ ———— ... ———— 从机N R+
主机 T- ———— 从机1 R- ———— 从机2 R- ———— ... ———— 从机N R-
主机 R+ ———— 从机1 T+ (仅第一个从机)
主机 R- ———— 从机1 T- (仅第一个从机)

嗯,这里要注意:RS-422 的接收端通常只接一个从机,因为多个从机同时发数据会打架。所以实际项目中,如果要用全双工,我建议还是用 RS-485 加协议切换更灵活。

2.4 三种接口对比一览

特性 RS-232 RS-485 RS-422
传输方式 单端 差分 差分
线数 3 线(TX、RX、GND) 2 线(A、B) 4 线(T+、T-、R+、R-)
最大距离 15 米 1200 米 1200 米
最大节点 2 个 32 ~ 256 个 1 发 10 收
通信模式 全双工 半双工 全双工
抗干扰
典型应用 电脑连 PLC Modbus RTU 网络 高速打印机、工业相机

2.5 核心知识体系图

下面这张图帮你理清这三种接口的核心逻辑。说白了,选哪个接口,就看三个问题:多远?多少设备?要不要同时收发?

物理层接口选型决策树 物理层接口选型 距离 ≤ 15米? 距离 > 15米? 只有2个设备? RS-232 点对点,简单 RS-485 多设备,总线型 需要全双工? RS-485 半双工,够用 RS-422 全双工,4线 总结: 短距离、2设备 → RS-232 长距离、多设备、半双工 → RS-485(工业首选) 长距离、全双工、少设备 → RS-422

2.6 实战选型建议

说了这么多,到底怎么选?我根据多年经验,给你几个实用建议:

  1. 做 Modbus RTU 网络,首选 RS-485。 这是工业现场的事实标准。距离远、节点多、抗干扰强。我做的项目里,90% 都是 RS-485。
  2. 调试阶段用 RS-232。 电脑自带串口,方便。但正式部署时,除非距离很近,否则别用。
  3. RS-422 用在特殊场合。 比如需要同时收发数据的设备,或者对时序要求高的场景。但记住,它不能像 RS-485 那样挂很多从机。
  4. 线缆质量别省钱。 我见过有人用普通网线做 RS-485,结果通信距离一远就出问题。建议用屏蔽双绞线,比如 RVSP 2×0.5mm²。
  5. 接地要规范。 屏蔽层单端接地,信号地要共地。不接地的话,共模电压可能烧毁接口芯片。我烧过两块 485 芯片,血的教训。
🔧 我的小习惯: 每次做 RS-485 项目,我都会在总线上预留一个调试口。万一通信出问题,直接拿笔记本接上去抓数据,比猜来猜去快多了。

好了,物理层这块就聊到这儿。记住一句话:物理层稳了,Modbus 通信就成功了一半。下一节咱们聊聊 Modbus 的报文结构,那才是协议的核心。


公众号:蓝海资料掘金营,微信deep3321