Modbus RTU 基于 RS485 差分半双工,现场 95% 故障集中在物理接线、终端电阻、接地干扰、参数时序、地址偏移、轮询逻辑、高低字节、隔离防护八大坑点,下面分层拆解致命错误与标准规范。
一、硬件接线致命坑(70% 故障源头)
1. A/B 线接反 / 标识混淆
- 坑:不同厂家标注混乱:A/D+/485 + 为正;B/D-/485 - 为负;部分仪表标 SDA、SDB;直接 A 接 B 完全无应答、乱码、偶尔闪断。
- 校验方法:总线空闲时万用表测 A-B 电压2~6V(A 电位高于 B) 为正常;电压反向就是线序颠倒。
- 正确接法:全程手拉手总线拓扑,严禁星形、分叉、T 型分支;一分多星型必然信号反射、远距离彻底不通。
2. 终端电阻 120Ω 乱用(高频翻车)
- 铁律:仅总线最远端首尾两台设备开启 120Ω 终端电阻,中间全部关闭。
- 常见错误:
- 所有设备全开电阻→总线负载过大、信号衰减;
- 两端都不开→长线信号反射、高波特率疯狂 CRC 报错;
- 单台短距离(<10m)强行加电阻→信号过载。
- 适用场景:线缆>20m、波特率≥19200、变频器 / 焊机强干扰环境必须规范配电阻。
3. 线缆选型错误
- 禁止普通平行线、护套线;必须用120Ω 特性阻抗双绞屏蔽线(AWG18~22)。
- 距离上限参考(标准屏蔽双绞线):
- 9600bps:≤1000m
- 19200bps:≤600m
- 38400bps:≤300m
- 115200bps:≤100m
- 布线避坑:与动力电缆、变频器输出线平行间距≥30cm;交叉必须 90° 直角穿过;桥架分层隔离强弱电。
4. SG 信号地忽略 / 乱接
- SG(485 信号地)作用:消除设备间地电位差,压差>7V 会直接静默接收芯片、端口烧毁。
- 规范:所有从站 SG 串联共接至 PLC 主站 SG;屏蔽层单端接地(控制柜主站侧),绝对禁止两端接地(形成地环流,干扰放大 10 倍以上)。
- 地电位差大(不同配电柜、车间):直接加RS485 光电隔离器,彻底切断地环路,保护 PLC 通讯口不击穿。
二、通讯参数匹配坑(一字不对全盘不通)
1. 四参数必须全网完全统一
固定四要素:波特率、数据位、校验位、停止位,一台不一样就乱码 / 超时。
工业通用标准:9600 8N1(8 数据位、无校验、1 停止位);
少数仪表强制:8E1(偶校验)/8O1(奇校验);无校验场景严禁写成 8N2。
2. 3.5T 帧间隔时序隐形大坑(高波特率重灾区)
RTU 不靠起始符,靠空闲 3.5 个字符时间判定帧头;字符间隔>1.5T 判定帧结束,间隔超标直接拆包、CRC 错误、随机丢包。
- 计算公式:单个字符时间 T=11 / 波特率(1 起始 + 8 数据 + 校验 + 停止)
- 高波特率简化固定值:19200 及以上,帧间隔强制≥1.75ms;
- PLC 程序坑:轮询指令中间加多余扫描延时、中断打断发送帧,导致帧被拆分,出现半截报文。
3. 从站地址冲突 / 广播误用
- 从站合法地址:1~247;0 为广播地址,无应答返回,用 0 读取永远超时。
- 多从站必查:两台设备同站号→两个设备同时回帧,总线信号打架,数据乱跳、CRC 报错、时通时断。
排查:断开所有从站,逐个单台接入测试,确认地址唯一再组网。
三、寄存器地址偏移超级大坑(新手最多踩)
1. 40001 减 1 法则(最经典陷阱)
- 协议底层寄存器从 0 开始;厂商手册标注 40001 = 协议地址 0、40002 = 地址 1,读取时必须数值 - 1。
示例:仪表写温度寄存器 40005 → PLC 主站请求地址填 4;
- 区分两种标注:
- PLC 地址(40001 格式):减 1;
- Protocol Address(协议地址 0/1 格式):直接用,不减。
2. 四大寄存器区功能码别混用
3. 32 位浮点数 / 整数高低字节颠倒
- 坑 1:多数仪表高字节在前(AB CD),部分变频器 / 传感器是低字节在前(CD AB),直接读取数值天文乱数;
- 坑 2:一次读取多个 32 位变量,寄存器数量计算错误:1 个浮点数占用2 个保持寄存器,读 4 个浮点数要请求 8 个寄存器;多读 / 少读直接越界报错。
解决:PLC 程序加高低字交换指令,对比 Modbus Poll 抓包核对数值。
四、PLC 程序与轮询逻辑坑
1. 半双工收发冲突(RS485 天生缺陷)
RS485 同一时间只能发或收;主站发送时收发芯片处于发送态,此时从站回复收不到。
- 错误写法:高速循环无间隔连续下发多条

1万+

被折叠的 条评论
为什么被折叠?



