Modbus RS485接线方法

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus RS485接线方法缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 一、认识 RS-485 的信号线:哪根是 A、哪根是 B
  2. 2. 1.1 厂商的 A/B 标准:不是每个厂商都标「A」和「B」
  3. 3. 1.2 用万用表确定 A/B 线的终极方法
  4. 4. 二、拓扑结构:只能手拉手,拒绝一切分支
  5. 5. 2.1 正确的拓扑
  6. 6. 2.2 绝对禁止的连接方式
  7. 7. 2.3 现场万不得已的分支对策
  8. 8. 三、线缆选型:一条线选错,全盘皆输
  9. 9. 3.1 必须用屏蔽双绞线(RVSP)
  10. 10. 3.2 现场常见的野路子
  11. 11. 四、屏蔽层接地:单点还是双点?
  12. 12. 4.1 Rules:屏蔽层单点接地
  13. 13. 4.2 接哪一端?
  14. 14. 4.3 超过 50 米怎么办
  15. 15. 4.4 信号地(GND)的连接
  16. 16. 五、终端电阻:120Ω 的两个位置
  17. 17. 5.1 终端电阻的作用
  18. 18. 5.2 接在哪里
  19. 19. 5.3 什么情况下需要考虑不接终端电阻
  20. 20. 六、偏置电阻:防止空闲时的噪声
  21. 21. 6.1 问题背景
  22. 22. 6.2 偏置电阻的原理
  23. 23. 6.3 计算方法
  24. 24. 七、防雷与过压保护
  25. 25. 7.1 三级防护方案
  26. 26. 7.2 防雷接地必须可靠
  27. 27. 八、调试流程:从万用表到跑通
  28. 28. 步骤一:断电检查
  29. 29. 步骤二:上电检查空闲电压
  30. 30. 步骤三:单从站通信测试
  31. 31. 步骤四:全设备联调
  32. 32. 步骤五:示波器看波形
  33. 33. 九、常见故障快速排查
  34. 34. 十、施工检查清单

Source: Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community

本文:Modbus RS-485 接线完整手册:从线缆选型到调试跑通 · Author:modbus Technical Team · 发布于 2026-07-01

摘要:RS-485 接线是 Modbus 通信的第一道门槛,这道门槛挡住了无数新手——不是因为原理难,而是因为细节太多、容错太低。本文从 A/B 线辨认、拓扑结构、线材选择、屏蔽层接地、终端电阻与偏置电阻配置、防雷保护到调试排查全流程覆盖,每一条建议都来自现场事故,每一个参数都可以直接对着施工。关键词:RS-485接线、Modbus布线、终端电阻、偏置电阻、屏蔽接地、手拉手拓扑。


现场最常见的一幕:设备都装好了、参数也配了、程序也写了,通电一测——通信灯不闪。拿万用表一量 A/B 线,电压一直在 0.3V 和 1.8V 之间跳,根本没到 5V 的差分摆幅。再查线——A 和 B 接反了。半小时的活变成了三小时的现场排查。

RS-485 接线就是这么一位脾气古怪的老实人:规则其实很简单,但你不遵守它,它绝对不跟你废话。


一、认识 RS-485 的信号线:哪根是 A、哪根是 B

RS-485 通信只靠两根差分信号线——习惯上标记为 A(或 D-)和 B(或 D+)。差分传输的意思是:不靠单根线的电压绝对值来传数据,而是比较 A 和 B 两根线之间的电压差。

当 B 线电压高于 A 线电压 200mV 以上(即 B – A > +200mV),表示逻辑 1。当 A 线电压高于 B 线电压 200mV 以上(即 B – A < -200mV),表示逻辑 0。如果 A 和 B 之间的电压差在 ±200mV 之间,这是不确定状态——接收端不知道这是 1 还是 0,可能会读到随机噪声。

这就是为什么你必须确认 A 和 B 没接反——反了之后,发送端的逻辑 1 在接收端变成逻辑 0,Modbus 帧的每个字节全乱套。

1.1 厂商的 A/B 标准:不是每个厂商都标「A」和「B」

这是 RS-485 接线最坑的地方——不同厂商对 A 和 B 的定义是反过来的。有的标「A = 正极(B+)、B = 负极(A-)」,有的标「A = D-、B = D+」。而且 Modbus 规范本身并没有强制 A/B 的命名方式,它只规定了差分信号的电气特性。

所以你手上拿到的说明书如果是英文版,可能标的是 D+、D-、Tx+、Tx-。如果是国产仪表,可能标 A、B、GND。怎么确认?用万用表。

1.2 用万用表确定 A/B 线的终极方法

在设备上电但空闲时(没有通信),用万用表直流电压档分别测量 A 对 GND 和 B 对 GND 的电压。

空闲状态下(没有数据传输),总线的默认状态用偏置电阻保持着:B 线电压应该高于 A 线。典型值:B 对地约 2.5V~3.5V,A 对地约 1.5V~2.5V。

如果测出来 A 比 B 高——那 A 和 B 的定义和你试的这台设备刚好反了,互换即通。

还有一个现场速判法:先把所有设备的 A 连到 A、B 连到 B、GND 连到 GND。通电后用万用表交流电压档测 A-B 之间的电压。如果通信正常,在数据传输瞬间你会看到电压明显波动(几百毫伏到几伏的摆幅)。如果一直没波动,要么没接终端电阻导致总线浮空,要么 A/B 接反导致所有从站同时认为接收到了错误帧。


二、拓扑结构:只能手拉手,拒绝一切分支

2.1 正确的拓扑

RS-485 总线必须采用「手拉手」菊花链拓扑——从一台设备出来,只接下一台设备,不分支:

主机 ─── [device1] ─── [device2] ─── [device3] ─── ... ─── [deviceN]
  │           │           │           │                   │
  └─ 120Ω ────┘           │           │                   │
                    继续按序串联          └───────── 120Ω ──┘
                                             (末端终端电阻)

总线两端各接一个 120Ω 终端电阻,中间设备依次串联。

Modbus RS485接线方法插图

2.2 绝对禁止的连接方式

星形连接:所有设备从同一个集中点放射出来。

        ┌── [device1]
主机 ──[节点]── [device2]
        └── [device3]

树状分支:从总线中段分出一条分支挂设备。

Modbus RS485接线方法插图1
这两种接法的问题是信号反射叠加——每个分支末端都是一次阻抗不连续,反射波和主信号叠加在一起,接收端看到的是一团噪声。设备越多、分支越长、波特率越高,星形连接的危害越大。

2.3 现场万不得已的分支对策

如果现场设备物理位置确实无法手拉手(比如一排设备装在一面墙上、另一面墙还有设备),不硬走星形——用一个 RS-485 分配器(也叫集线器)把主干分成多个独立网段,每个网段内部依然是标准的手拉手拓扑。RS-485 分配器本质上是多口中继器,每个端口有独立的驱动和接收电路,代替了简单的铜线分支。


三、线缆选型:一条线选错,全盘皆输

3.1 必须用屏蔽双绞线(RVSP)

RS-485 依赖差分信号来抑制共模干扰——干扰信号在 A 和 B 两根线上的感应电压几乎相同,接收端做差分减法时自然抵消。双绞线能保证 A 和 B 两根线耦合的干扰尽可能相同,绞距越均匀、绞合越紧,抗干扰效果越好。

线缆类型是否可用原因
RVSP(屏蔽双绞线,特性阻抗 120Ω)最佳选择专为 RS-485 设计
RVV(普通护套平行线)不可用不是双绞,干扰耦合不平衡
网线(Cat5e/6 UTP)不推荐虽然是双绞线但特性阻抗 100Ω,且无总屏蔽
同轴电缆不可用单端信号,和差分完全不是一个概念
普通 BV 线(单芯硬线)不可用没有双绞、没有差分,等同于两根天线

线径要求:0.75mm² 或 1.0mm²(约 AWG18-20)。0.5mm² 只能在 300 米以内的理想环境中跑,长距离或干扰强的现场必须用 0.75mm² 以上。

特性阻抗要求:120Ω。这和你终端电阻的 120Ω 匹配,不能随便拿 100Ω 的网线代替——阻抗不匹配意味着每一段电缆过渡处都会反射信号。

3.2 现场常见的野路子

「拿一根网线分出两芯当 485 线使」——网线是 UTP(非屏蔽),而且网线 8 芯内部四对双绞,你只取其中一对用,剩下的 6 芯浮空就是 6 根天线,给双绞线的干扰耦合引入了巨大的不平衡。如果你必须用网线(现场只有网线了),用小刀把不用的 6 芯全剪掉贴地,只留你用的那一对,再把这 2 芯外套根屏蔽层接地。这比直接用网线强,但依然比正规 RVSP difference。

「把 485 信号线和 220V 电源绑在一起穿同一根管」——变频器一次侧的 PWM 波形在电源线上激发的电磁干扰可以直接干翻 485 差分信号的 200mV 阈值。485 线路距离强电(电源线、变频器输出线)至少保持 30cm 平行距离,交叉时必须直角穿。


四、屏蔽层接地:单点还是双点?

RS-485 采用的是低频差分信号(典型的波特率最高也就 115.2kbps),属于低频电路。低频电路的基本原则:单点接地

4.1 Rules:屏蔽层单点接地

屏蔽层只在总线的一端接大地。另一端悬空,不接任何东西。

为什么?如果两头都接地,两个地由于各自的接地电阻不同,会在屏蔽层中产生一个环路电流(地环路)。这个电流在屏蔽层上流动本身就是干扰源——它不仅不屏蔽,反而往信号线上耦合噪声。单点接地斩断了这个环路。

4.2 接哪一端?

优先在主站侧(PLC、上位机、网关侧)接地。理由:主站通常有更好的接地条件(标准配电柜、等电位接地排),现场设备侧接地条件差(设备外壳接了个不知道通不通的接地桩)。

如果主站侧本身是浮地系统(设备没有接地端子),可以把屏蔽层接到现场设备侧的防雷接地排上。关键是:只接一端。

4.3 超过 50 米怎么办

如果总线长度超过 50 米、现场电磁环境特别恶劣(旁边有变频器、大功率电机),单点接地可能不够——屏蔽层过长后,单点接地的效果会衰减。这时候采用 双端接地 + 串联电阻:屏蔽层的远端不是直接接大地,而是通过一个 100Ω ~ 1kΩ 的电阻接大地。电阻限制了地环路的电流,同时保持了屏蔽层两端的电位不至于差太多。

4.4 信号地(GND)的连接

许多 RS-485 设备除了 A、B 线还有 GND(信号地)端子。这个 GND 是否要接?

如果所有设备都在同一套电源系统上(同一个配电柜出来的 DC 24V),可以不接 GND——各设备的 GND 已经等电位了。

如果设备用独立电源(各自一个开关电源适配器),必须把所有设备的 GND 端子串起来(注意:是 GND 串在一起,不是接大地)。不同电源的 GND 之间可能有几伏甚至几十伏的共模电压差——如果这个差超出了 485 收发器的共模范围(典型 -7V~+12V),收发器会烧毁或者永远识别不了信号。GND 线的作用就是把所有设备的参考地拉到同一个电位上。


五、终端电阻:120Ω 的两个位置

5.1 终端电阻的作用

信号在传输线上的行为和水波在管道中类似。管道突然到尽头,水波会弹回来。RS-485 双绞线的特性阻抗约 120Ω,信号跑到线的末端如果突然遇到高阻抗(开路),能量无处消耗,就会反射回来。反射波叠加在原始信号上,形成振铃和过冲。

终端电阻在总线的两端各接一个 120Ω 电阻跨接在 A、B 线上,使线缆末端阻抗等于 120Ω——和线缆特性阻抗一致,信号到达末端时被电阻吸收能量,不反射。

5.2 接在哪里

只在总线的最两端设备上各接一个。中间设备不接。如果接了三个以上的终端电阻,总并联电阻会低于 120Ω,反而加重 485 驱动器的负载,信号幅值被拉低。

5.3 什么情况下需要考虑不接终端电阻

短距离(< 50 米)、低波特率(≤ 9600)、只有 2-3 台设备。此时信号反射的能量极小,不接终端电阻也能正常工作。但这需要实测确定——接了不会有副作用,是一种保险做法。

Baud rate 38400 以上或距离超过 100 米,终端电阻是必须的。


六、偏置电阻:防止空闲时的噪声

6.1 问题背景

RS-485 总线空闲时(没有设备在发送数据),A 和 B 线的状态是不确定的。如果此时总线是完全浮空的(只有终端电阻把 A 和 B 拉在一起),任何微小的电磁噪声都可能在 A-B 之间产生超过 ±200mV 的电压波动——接收端看到的就是未经请求的随机字节。这个现象叫「空闲噪声触发了通信中断」,表现为主站发了查询,从站没反应——因为从站的中断服务程序被空闲随机字节占满了 CPU。

6.2 偏置电阻的原理

在总线一端加上拉电阻(A to +3.3V/5V)和下拉电阻(B to GND),使得空闲时 B 线的电压自动高于 A 线 200mV 以上——总线默认处于确定的逻辑 1 status(空闲态)。这组电阻叫偏置电阻(Fail-safe Bias Resistor)。

6.3 计算方法

标准 485 总线有 120Ω 终端电阻两个(分别接两端)。加上偏置电阻后,端接等效电路变成:上拉电阻 Rpu 接 5V → 120Ω 终端电阻 → 下拉电阻 Rpd 接 GND。

要求空闲时 B – A ≥ 200mV,result:

取 Rpu = Rpd = 680Ω,电源 5V——

空闲时 A 点电压 = 5V × (680Ω // 下端120Ω的一半) / (680Ω + 680Ω // R)…

简化公式:Rpu = Rpd ≈ 5V / (V_AB_min / Rterm) = 5 / (0.2 / 60) ≈ 1.5kΩ —— 这个计算太理想。实际工程上直接用 680Ω 或 560Ω 就行。常见方案:Rpu = Rpd = 680Ω,在总线一端接。

下表是常用偏置电阻值在 5V 供电下的空闲电压:

偏置电阻值 (Rpu = Rpd)空闲时 B – A 电压(约)适用场景
1.5kΩ200mV临界值,环境干净可用
1kΩ300mV一般推荐
680Ω430mV有轻微干扰的环境
560Ω530mV干扰强但别太小的底线
470Ω640mV强干扰但再小会拉动电源

偏置电阻不宜过小——太小会把 485 驱动器的有效信号幅值拉低,而且偏置电流浪费太多。

市面上很多 RS-485 串口卡和转换器(如 USB 转 RS-485 模块)已经在电路板上内置了偏置电阻,这种情况下总线远端不用再加偏置——但要确认。用万用表断电测 A 对 VCC 和 B 对 GND 的电阻值,如果测到 680Ω~1.5kΩ 范围,说明有内置偏置。


七、防雷与过压保护

RS-485 通信线只要走出建筑物、在两栋楼之间跑,就必须考虑浪涌保护。RS-485 收发器的耐压通常在 ±12V~±15V 左右,一个近距离的雷击感应能带来几百伏到几千伏的瞬间电压——直接烧毁收发器芯片。

7.1 三级防护方案

标准的三级 RS-485 浪涌防护是:

第一级:A、B 线对保护地(PE)各接一个气体放电管(GDT),耐压 90V~150V,泄放大能量。

第二级:A、B 线对 PE 各接一个 TVS 瞬态抑制二极管(如 SMBJ6.5CA,击穿电压 6.5V),钳位剩余电压。

第三级:A、B 线各串联一个 PTC 自恢复保险丝(如 50mA-100mA 级),限制持续电流。

这个三级方案中,GDT 吃掉最大能量、TVS 吃掉剩余尖峰、PTC 限制持续电流。实际部署中,可以在总线的入口处(建筑物外墙穿管处)集中安装一个 RS-485 防雷模块,再把信号按正常接线接入室内设备。

7.2 防雷接地必须可靠

防雷器件的接地端必须低阻抗接入接地排。防雷接地排的接地电阻应 ≤ 4Ω。如果防雷器件地把浪涌电流导入了不合格的地——那浪涌电流通过大地的高阻抗会瞬间抬升整个「地的电位」,然后通过共地耦合把浪涌送回通信芯片,等于没防。


八、调试流程:从万用表到跑通

按这个顺序排查,是最有效的:

步骤一:断电检查

所有设备断电。用万用表电阻档测 A-B 之间的直流电阻。如果终端电阻接了 120Ω,应该在 60Ω~120Ω 之间(取决于其他设备的输入阻抗)。如果电阻是开路状态,要么线断了,要么终端电阻没接。

测 A 对地、B 对地的电阻——应该是高阻(几十 kΩ 以上)。如果测到短路或低阻,线缆有破损碰壳或设备端口击穿。

步骤二:上电检查空闲电压

所有设备上电,但主站不发送数据(或把主站拔掉)。用万用表直流电压档测:

  • A 对 GND:应在 1.5V~2.5V 左右
  • B 对 GND:应在 2.5V~3.5V 左右
  • A-B 电压:B 应高于 A,差值在 200mV~600mV 左右

如果 A-B 电压接近 0V 或极小( B 电压),很可能是偏置电阻接反了或者 A/B 在设备端被反接。

步骤三:单从站通信测试

把总线上的从站一个一个加。先只接从站 01,主站发一个读保持寄存器的命令(function code 03,读一个寄存器)。有回应→这台的接线和参数没错。没回应→检查从站地址、Baud rate、data bit/stop bit/校验位的匹配。

很多新手以为「设备默认地址 1、9600、8N1」——但不同厂商的默认不一样。有的默认 1,有的默认 247。波特率可能是 4800、9600、19200、115200 中的任意一个。校验位可能是无校验(N)、even parity(E)、odd parity(O)。说明书上写的是「默认 9600,8N1」,但出厂测试时工程师可能改成了 19200——这种坑没有捷径,只能对着说明书一个个参数检查和同步。

步骤四:全设备联调

单台跑通后,加下一台。加一台测一台。不要一次性把所有设备挂上去再找问题——RS-485 的故障往往是某一台设备故障把整条总线拖垮了,但如果十六台全挂着,你根本不知道是谁干的。

如果加到某台后通信突然出问题,先把它拔掉看总线是否恢复。恢复→这台设备有问题(端口损坏、波特率不匹配、地址冲突)。不恢复→检查前面几台的接线、终端电阻、供电。

步骤五:示波器看波形

如果万用表没查出问题但还是通信不正常,示波器是最终武器。将示波器探头(差分探头最好,没有的话用两个单端探头做 A-B 运算)跨接在 A/B 线上,触发主站发送一帧 Modbus Command。

正常波形应该看到:空闲时 B 高于 A(逻辑 1)。开始发送时出现清晰的方波——低电平(B A)是逻辑 1。方波的上升/下降沿应该干净利落,没有明显的过冲和振铃。帧间隙(3.5 字符时间)在示波器上是一段明显的空闲高电平区域。

如果看到严重的振铃(方波顶部有多条波浪线),终端电阻选值不对或者没接。如果空闲时电压一直在抖动且幅度超过 ±200mV,偏置不够或电缆屏蔽未接地。如果 A-B 电压总是比正常低不少(比如摆幅只有 1V 而不是 3-5V),驱动器负载过重(终端电阻并联过多、设备数量超出芯片驱动能力、或某个设备端口坏了)。


九、常见故障快速排查

现象最可能的原因检查方法
所有设备都不通信A/B 线接反、总线开路、无偏置测空闲电压、测电阻
某一路正常,某路不正常不正常的设备波特率/address/校验不匹配单台测试
通信时断时续终端电阻缺失或接触不良、总线过长示波器看振铃
偶尔收到乱码屏蔽未接地、近强干扰源、偏置不足测环境、查屏蔽
新加设备后全局故障新设备端口损坏或 A/B 短路逐个隔离
空闲时收到随机数据缺少偏置电阻测空闲电压、加偏置
波特率低时正常、高时不行线缆质量差或距离超限降低波特率或换线

十、施工检查清单

接线完工后,逐项对一遍:

  • [ ] 拓扑是手拉手菊花链,没有星形或分支
  • [ ] 总线两端各接一个 120Ω 终端电阻
  • [ ] 线缆是屏蔽双绞线(RVSP),线径 ≥ 0.75mm²
  • [ ] 不需要的网线芯已处理(不会浮空当天线)
  • [ ] 485 线路距离强电 ≥ 30cm,交叉时垂直穿过
  • [ ] 屏蔽层单点接地(优先主站侧)
  • [ ] 所有非共源设备的 GND 线已串联
  • [ ] 如果穿过室外,已安装防雷模块并可靠接地
  • [ ] 偏置电阻已在总线上的一点配置(或确认转换器内置)
  • [ ] 所有设备的 A 均接 A,B 均接 B,GND 均接 GND
  • [ ] 各设备波特率/address/校验位已核实并记录
  • [ ] 能单点跑通,能全点跑通

这份清单每一条都是工控工程师在现场花了代价换回来的教训。接线不靠直觉和运气——靠一步一步验证。

有问题再聊。

技术术语(共 7 个)—— Click to Expand
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
registerModbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
网关协议转换设备,如 Modbus RTU ↔ Modbus TCP
serial port计算机与外部设备进行串行通信的物理接口
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— Click to Expand
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus debugging tool,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 No installation required, WeChat Search「Modbus Debugging Assistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.