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 定义可能不一样,我吃过这个亏。
拓扑结构: 只能是点对点。一台设备对一台设备,没有第二种玩法。
接线方式:
设备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”。
拓扑结构: 总线型。所有设备并接在两根线上,像一串葡萄。绝对不能搞星型或环型,否则信号反射会让你崩溃。
接线方式:
主机 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 核心知识体系图
下面这张图帮你理清这三种接口的核心逻辑。说白了,选哪个接口,就看三个问题:多远?多少设备?要不要同时收发?
2.6 实战选型建议
说了这么多,到底怎么选?我根据多年经验,给你几个实用建议:
- 做 Modbus RTU 网络,首选 RS-485。 这是工业现场的事实标准。距离远、节点多、抗干扰强。我做的项目里,90% 都是 RS-485。
- 调试阶段用 RS-232。 电脑自带串口,方便。但正式部署时,除非距离很近,否则别用。
- RS-422 用在特殊场合。 比如需要同时收发数据的设备,或者对时序要求高的场景。但记住,它不能像 RS-485 那样挂很多从机。
- 线缆质量别省钱。 我见过有人用普通网线做 RS-485,结果通信距离一远就出问题。建议用屏蔽双绞线,比如 RVSP 2×0.5mm²。
- 接地要规范。 屏蔽层单端接地,信号地要共地。不接地的话,共模电压可能烧毁接口芯片。我烧过两块 485 芯片,血的教训。
好了,物理层这块就聊到这儿。记住一句话:物理层稳了,Modbus 通信就成功了一半。下一节咱们聊聊 Modbus 的报文结构,那才是协议的核心。
公众号:蓝海资料掘金营,微信deep3321