总线式故障的特点
RS-485 是差分总线,一条线上挂多台从站,任何一处接线、终端电阻或驱动芯片出问题都会牵连整段链路。它的故障表现往往不是彻底停摆,而是部分设备时通时断,从而把排查人误导到“那台设备坏了”。定位的核心思路是分段与二分:在中点断开分别测,或从末端逐个摘除从站,快速把范围缩小,而不是从第一台设备开始逐台猜。
基本信息
| 拓扑 | 手拉手总线型,从站挂接在干线;星型与树型分叉应避免 |
|---|---|
| 电气 | 差分信号走 A/B 两线,长距离与多电源场合需参考地 |
| 终端电阻 | 仅在总线两个物理末端各接一个匹配电阻,中间节点不接 |
| 相互制约 | 总长度、支线长度、节点数与波特率彼此牵制,具体限值以器件手册与标准为准 |
典型使用场景
- 整条总线上多台从站同时异常,怀疑干线或终端匹配时
- 只有最远端或某支线上的从站异常,怀疑分支过长时
- 检修或新增从站后开始出错,怀疑极性接反或接线不当
- 低波特率正常而提高波特率后出错,怀疑线缆与匹配质量
- 需要在不影响其余从站的前提下隔离出故障段时
定位手段对照
| 手段 | 怎么做 | 能得出什么 |
|---|---|---|
| 分段断开 | 在总线中点断开,分别测两半 | 判断故障落在哪一半并逐步逼近 |
| 末端摘除 | 从末端开始依次摘掉从站 | 恢复正常时说明问题在刚摘除的节点或其支线 |
| 测终端电阻 | 断电后用万用表测 A-B 间阻值 | 阻值接近两端匹配电阻并联值说明匹配齐备 |
| 测差分电平 | 通电通信时测 A-B 电压差 | 幅度过小或抖动说明驱动能力或负载异常 |
| 换线复测 | 用一段新线替换可疑区段 | 排除线缆与接头本身的问题 |
现场测量与逐站轮询
现场测量与逐站轮询
# 1) 断电测 A-B 阻值:应为两端匹配电阻的并联值(例:两端各 120 欧则接近 60 欧)
# 2) 通电通信时用示波器看差分波形是否干净、幅度是否到位
# 3) Linux 侧逐站轮询,把超时分布找出来
stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb # 先固定串口参数
# 再用 modpoll 一类工具依次指定从站地址读取同一寄存器,参数以工具手册为准
cat /dev/ttyUSB0 | xxd | head # 观察总线上是否持续出现噪声或残帧判断终端匹配是否正常,最直接的办法是断电后量 A-B 之间的阻值:明显偏大说明某一端缺失或走线断开,接近零则可能是短路或中途被误加了电阻。
波特率越高对线缆与匹配越敏感。低波特率正常、高波特率出错,基本都在提示线缆质量、支线过长或终端匹配问题,而不是设备本体损坏。
参考地在长距离与多电源场合尤其重要。缺少共地时共模电压可能超出收发器允许范围,表现为时好时坏甚至损坏接口,具体限值以收发器手册为准。
在运行中的总线上带电插拔端子有损坏收发器并造成整段停机的风险。应尽量在计划窗口内断电作业,必要时先停主站轮询再动手。