2、物理层与电气特性:RS-232、RS-485、RS-422接口标准对比与选型

做Modbus这么多年,我经常被问到同一个问题:

“这三种接口到底怎么选?”

说实话,选错了接口,后面调试能让你怀疑人生。今天咱们就把RS-232、RS-485、RS-422这三个老伙计掰开揉碎讲清楚。

2.1 先看一张总览图

下面这张图,是我自己总结的选型逻辑。你一看就明白该走哪条路。

RS-232 / RS-422 / RS-485 选型决策树 通信距离 > 15米? RS-232 需要多节点通信? RS-422 RS-485 RS-232 特点 • 点对点(1对1) • 距离 ≤ 15米 • 速率 ≤ 115.2kbps • 抗干扰差 RS-422 特点 • 1发多收(1对10) • 距离 ≤ 1200米 • 全双工 • 差分信号抗干扰 RS-485 特点 • 多节点(最多256个) • 距离 ≤ 1200米 • 半双工 • 工业现场首选
我的习惯: 拿到项目需求,先问三个问题——距离多远?几个设备?要不要同时收发?答案出来,接口基本就定了。

2.2 RS-232:老当益壮的短距离选手

RS-232是串口通信的老祖宗。我记得刚入行那会儿,调试PLC和触摸屏,用的就是DB9接口的RS-232。

核心特点:

  • 单端信号传输:用一根信号线对地传输,说白了就是电压差。
  • 逻辑电平:-3V~-15V表示逻辑“1”,+3V~+15V表示逻辑“0”。
  • 最大距离:理论15米,实际超过10米就开始丢包。
  • 连接方式:点对点,只能接一个设备。
我曾经踩过的坑: 有一次在工厂现场,RS-232线拉了20米,结果数据全是乱码。后来发现是线缆太长,信号衰减严重。最后老老实实换成RS-485,问题解决。记住,RS-232别超过10米,这是血泪教训。

什么时候用RS-232?

  • 调试阶段,电脑直接连PLC或变频器
  • 短距离(3米以内),比如控制柜内部通信
  • 设备少,就一个上位机带一个下位机

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

RS-485是我用得最多的接口。说实话,Modbus RTU在工业现场能火起来,RS-485功不可没。

核心特点:

  • 差分信号传输:用A、B两根线传信号,抗干扰能力比RS-232强太多。
  • 逻辑电平:A-B > +200mV为逻辑“1”,A-B < -200mV为逻辑“0”。
  • 最大距离:1200米(加中继器可以更远)。
  • 多节点:一条总线上最多挂256个设备。
  • 半双工:同一时刻只能发或收,不能同时进行。
选型要点: 如果你要接多个设备,比如一个PLC带20个温控器、10个变频器,RS-485是唯一选择。Modbus RTU就是跑在RS-485上的。

实际项目中的注意事项:

  • 终端电阻:总线两端各加一个120Ω电阻,防止信号反射。我见过有人不加,结果通信时好时坏。
  • 偏置电阻:总线空闲时,A线比B线高200mV以上,防止误触发。
  • 屏蔽层单端接地:屏蔽层只在一端接地,避免形成地环路。
我的经验: 现场布线时,RS-485的A/B线一定要用双绞线,绞距越密越好。我曾经在一个电机旁边走线,没做屏蔽,结果电机一启动,通信就断。后来换成屏蔽双绞线,世界清净了。

2.4 RS-422:全双工的“异类”

RS-422其实是个过渡产品。它比RS-232强,但不如RS-485灵活。不过在某些场景下,它依然有不可替代的优势。

核心特点:

  • 差分信号:和RS-485一样,抗干扰能力强。
  • 全双工:可以同时发送和接收,不需要切换方向。
  • 1发多收:一个发送端可以带最多10个接收端。
  • 最大距离:也是1200米。

什么时候用RS-422?

  • 需要全双工通信,比如某些高速数据采集系统
  • 一个主站带多个从站,但主站只发不收(比如广播指令)
  • 对实时性要求高,不想花时间切换收发方向
注意: RS-422不能像RS-485那样挂多个发送端。如果你需要多个设备都能主动发数据,老老实实用RS-485。

2.5 三张表搞定选型

下面这三张表,是我做项目时经常翻的。你直接拿去用。

表1:电气特性对比

参数 RS-232 RS-422 RS-485
信号类型 单端 差分 差分
传输线数 3根(TX、RX、GND) 4根(T+、T-、R+、R-) 2根(A、B)
最大节点数 1发1收 1发10收 32发32收(标准)
最大距离 15米 1200米 1200米
最大速率 115.2kbps 10Mbps 10Mbps
通信方式 全双工 全双工 半双工

表2:抗干扰能力对比

干扰类型 RS-232 RS-422 RS-485
共模干扰
电磁干扰(EMI) 较好 较好
地电位差 敏感 不敏感 不敏感

表3:典型应用场景

场景 推荐接口 原因
电脑调试PLC RS-232 距离近,设备少,简单直接
工厂设备联网 RS-485 距离远,节点多,抗干扰强
高速数据采集 RS-422 全双工,不需要切换方向
变频器控制 RS-485 现场干扰大,需要差分信号

2.6 实际接线与配置

光说不练假把式。咱们看看实际怎么接线。

RS-232接线(DB9接口):

电脑端(DB9母头)          PLC端(DB9公头)
  针脚2(RX)  ——————  针脚3(TX)
  针脚3(TX)  ——————  针脚2(RX)
  针脚5(GND) ——————  针脚5(GND)

RS-485接线(两线制):

主站(A+)  ——————  从站1(A+)  ——————  从站2(A+)
主站(B-)  ——————  从站1(B-)  ——————  从站2(B-)
主站(GND) ——————  从站1(GND) ——————  从站2(GND)

注意:总线两端各加120Ω终端电阻

RS-422接线(四线制):

主站(T+)  ——————  从站1(R+)
主站(T-)  ——————  从站1(R-)
主站(R+)  ——————  从站1(T+)
主站(R-)  ——————  从站1(T-)
一个小技巧: 现场调试时,如果通信不通,先用万用表量一下A-B之间的电压。空闲状态下,应该在200mV~500mV之间。如果电压为0或者负值,说明偏置电阻没加对。

2.7 避坑指南

最后,把我这些年踩过的坑总结一下,你遇到了直接对照排查。

  • 地电位差问题:两个设备距离远时,地电位可能差几十伏。RS-232直接烧接口芯片。RS-485虽然抗共模,但超过-7V~+12V范围也会坏。加隔离模块是正解。
  • 线缆选型:别用普通电线代替双绞线。我见过有人用网线里的单根线走RS-485,结果100米外就丢包。
  • 终端电阻别乱加:只有总线两端加,中间设备不要加。加多了信号幅度不够,通信失败。
  • 波特率匹配:所有设备波特率必须一致。我遇到过有人把PLC设成9600,触摸屏设成19200,结果怎么调都不通。
总结一句话: 短距离点对点用RS-232,长距离多节点用RS-485,需要全双工且节点少用RS-422。选对了接口,项目就成功了一半。

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