- 1. 一、典型的现场故障长什么样
- 2. 二、排查综述:从物理层到应用层的四层模型
- 3. 三、第一层:物理连接检查
- 4. 3.1 万用表打线——最基本的第一步
- 5. 3.2 A/B 线到底怎么接——这个坑踩的人最多
- 6. 3.3 终端电阻——什么时候接、接在哪
- 7. 3.4 屏蔽和接地——大部分人做错的地方
- 8. 四、第二层:电气层检查
- 9. 4.1 用示波器看波形
- 10. 4.2 偏置电阻(Fail-Safe 偏置)
- 11. 五、第三层:数据链路层检查
- 12. 5.1 确认从站是否支持 Modbus
- 13. 5.2 波特率和帧格式
- 14. 5.3 校验位、停止位、数据位
- 15. 5.4 抓包分析——区分「没发出去」「没回应」「回了错误」
- 16. 5.5 CRC 校验错误的精准排查
- 17. 六、第四层:应用层检查
- 18. 6.1 从站地址
- 19. 6.2 寄存器地址偏移
- 20. 6.3 功能和功能码
- 21. 6.4 字节序(大端/小端)
- 22. 七、逐步添加从站的正确方法
- 23. 八、主站轮询策略与超时设置
- 24. 8.1 超时时间怎么算
- 25. 8.2 先读后写
- 26. 九、排查清单速查表
- 27. 十、FAQ:高频排障问题
来源:Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区
本文:渐进式解决Modbus通信问题:从物理层到应用的完整排查手册 · 作者:modbus技术团队 · 发布于 2026-07-01
摘要:Modbus RS-485 通信不通怎么办?本文从物理层到应用层,通过真实报文分析和排查工具演示,给出完整的渐进式排障方法。关键词:Modbus 通信故障排查、RS-485 排障、Modbus 调试方法、Modbus RTU 无响应、CRC 校验错误。
在工业自动化领域,Modbus 通信出问题是最让人头疼的事——不是因为它复杂,而是因为故障点太分散。物理层、数据链路层、应用层,任何一个环节出问题,现象可能一样:主站发请求,从站不回。
这篇文章不是教你 Modbus 协议基础。我假设你已经在用 Modbus,现在的问题是「不通」,你需要一份能照着操作的排障清单。我们就从最底层开始,一层一层往上查。
核心关键词:Modbus 通信故障排查、RS-485 排障、Modbus RTU 无响应、CRC 校验错误。更多 Modbus 技术文章请访问 modbus.cn。
一、典型的现场故障长什么样
先看三个真实场景,如果你遇到过类似的,这篇文章就是写给你的。
场景 1:某污水处理站,16 个 Modbus RTU 从站挂在一条 RS-485 总线上。每天下午三点准时全部掉线,十分钟后自动恢复。查了三个星期,最后发现是隔壁泵房的光伏逆变器每天下午三点启动,EMI 干扰耦合到 485 线上,把信号淹了。
场景 2:一台三菱变频器通过 RS-485 接入网关,主站发功能码 03 读频率,偶尔能读到,偶尔报 CRC 错误。波特率是 9600。折腾了两天最后发现是 A/B 线接反了——主站的 A 接到了从站的 B。但为什么偶尔还能读到数据?因为 RS-485 收发器有一定的共模容限,在信号质量好的时候真能通,一有干扰就 CRC 报错。
场景 3:产线上新加了一台温控器,地址设成 05,挂上去之后 05 号没反应,但原来的一台 07 号也不通了。拔掉新设备,07 号恢复正常。查到最后,新设备默认配置了 120Ω 终端电阻,总线上一共挂了三个终端电阻——阻抗不匹配,信号反射导致所有从站时断时续。
这三个场景指向同一个道理:Modbus 不通,不能猜,要一层一层排除。 下面就是这个排查的完整路径。
二、排查综述:从物理层到应用层的四层模型
Modbus 通信问题的排查路径,按层次从低到高:
┌────────────────────────────────────────────┐
│ 第四层:应用层 │
│ 从站地址、寄存器映射、功能码、字节序 │
│ 现象:从站回异常码,或数据值明显不对 │
├────────────────────────────────────────────┤
│ 第三层:数据链路层 │
│ 波特率、校验位、CRC/LRC 校验 │
│ 现象:CRC 错误、帧不完整、偶发性丢帧 │
├────────────────────────────────────────────┤
│ 第二层:电气层 │
│ A/B 线接法、终端电阻、偏置电阻、接地 │
│ 现象:完全不通、数据全是乱码、间歇性断连 │
├────────────────────────────────────────────┤
│ 第一层:物理连接 │
│ 线缆通断、接头氧化、屏蔽层、布线路径 │
│ 现象:主站发数据,从站完全无反应 │
└────────────────────────────────────────────┘
排障铁律:永远从第一层开始排查,确认没问题再往上走。 不知道有多少人在第三层(改波特率、改超时时间)上浪费了三天,最后发现是第一层的 A/B 线接反了。如果你只记住一句话,记住这句。
三、第一层:物理连接检查
3.1 万用表打线——最基本的第一步
先把所有设备断电。万用表调到电阻档或通断档,测:
– A 线从主站到最远端从站是否导通(电阻应 < 10Ω,取决于线长和线径) – B 线同样 – A 和 B 之间不能短路(电阻应为无穷大或接近无穷大) – A/B 分别对 GND 不能短路
如果通断都正常,再把电送上,万用表调到直流电压档:

– A 对 GND:静止状态下约 2.5V ~ 3.5V(取决于偏置电路) – B 对 GND:静止状态下约 1.5V ~ 2.5V – A-B 差分电压:静止状态下约 0.2V ~ 2V,A 应高于 B
如果 A-B 差分电压接近 0V,甚至 A 低于 B,你的偏置电路有问题。 很多廉价 USB-485 转换器没有内置偏置电阻,挂在一根长总线上工作时,空闲状态下 A-B 差分会漂移到不确定状态,导致从站的 UART 收到随机垃圾数据。
3.2 A/B 线到底怎么接——这个坑踩的人最多
RS-485 的 A/B 接线没有统一的行业标签标准。不同设备厂商对 A 和 B 的定义可能是反的。以下是你可能会遇到的标记方式和它们的对应关系:
| 常见标记 | 另一种标记 | 空闲电压 | 说明 |
|---|---|---|---|
| A / + / D+ / TX+ / 正 | Non-Inverting | 高于 B | 同相端 |
| B / – / D- / TX- / 负 | Inverting | 低于 A | 反相端 |
快速判定方法:断电状态下用万用表二极管档测。 红表笔接 GND,黑表笔接 A——大多数 RS-485 收发器芯片(如 MAX485、SN75176)的 A 脚对 GND 有一个反向保护二极管,会测出正向压降约 0.6V。B 脚对 GND 也一样。如果测不出来,换个极性再测。
还有一个更暴力的方法:如果接了不通,把 A 和 B 交换一下试试。不是笑话——这在现场是最常用的「排障手段」。因为很多变频器的 RS-485 端子标注就是反的。

3.3 终端电阻——什么时候接、接在哪
终端电阻 120Ω,接在总线的最两端。这句话每个人都听过。但实际工程中这些细节才决定成败:
什么时候必须接。 总线长度超过 50 米,或波特率 ≥ 19200。判断标准不是长度,是你用示波器看信号波形——如果有明显的过冲或反射台阶,加终端电阻。
什么时候可以不接。 测试台上,一米短线,波特率 9600。这时候加终端电阻反而可能因为驱动能力不足导致信号幅值下降。
一个容易被忽略的坑。 很多 RS-485 设备内部已经集成了终端电阻,通过跳线或拨码开关启用。如果你不知道这一点,在总线上手动加了 120Ω,而设备上也开着 120Ω,等于并联成了 60Ω——信号幅度大幅下降,反而更不通了。这就是前面的场景 3。
排查方法:所有设备断电,万用表电阻档测 A-B 之间的直流电阻。正常应该是几 kΩ 到几十 kΩ(偏置电阻决定)。如果测出来是 60Ω 或 120Ω,说明至少有一个终端电阻在起作用。逐个拔设备,看哪个设备拔掉后阻抗变了。
3.4 屏蔽和接地——大部分人做错的地方
RS-485 屏蔽层应该单端接地,在主站或网关侧接大地。如果两端都接地,地电位差会在屏蔽层上形成环流,反而把干扰引入信号线。
另外,不要用网线的空闲线对做 RS-485。网线是 100Ω 特性阻抗,RS-485 电缆是 120Ω 特性阻抗,不匹配会导致高速率下信号反射严重。短距离(< 10 米)凑合能用,但不要作为正式工程方案。正规的 RS-485 电缆是一对双绞线加屏蔽层,特性阻抗 120Ω,比如 Belden 3105A 或等效型号。
四、第二层:电气层检查
物理连接确认没问题之后,如果还是不通或有误码,进入电气层。
4.1 用示波器看波形
示波器探头挂在 A 线对 GND 和 B 线对 GND,观察:
– 空闲状态下 A 和 B 的电压值是否稳定(A 应高于 B 至少 200mV) – 有数据传输时,A 和 B 是否呈现标准的差分信号(A 和 B 镜像对称) – 波形上升沿和下降沿是否干净(不应该有明显的台阶或圆弧)
如果波形边缘很圆,可能是线缆电容太大(线太长或线径太细),或者驱动能力不足。降低波特率通常能缓解。
4.2 偏置电阻(Fail-Safe 偏置)
RS-485 标准要求差分输入电压 ≥ 200mV 时判定为逻辑 1,≤ -200mV 时判定为逻辑 0。但在总线空闲(所有设备都不驱动)时,差分电压可能落在 -200mV 到 +200mV 的不确定区间内,导致接收器输出随机数据。
这就是为什么需要偏置电阻:在总线的某一个位置(通常在主站或偏置电路所在处)用两个电阻把 A 上拉到 VCC、B 下拉到 GND,保证空闲状态下 A > B 且差值 > 200mV。
常见的偏置电阻取值是 680Ω 或 560Ω(上拉和下拉各一个)。但要注意:偏置电阻和终端电阻是并联关系。如果你的终端电阻是 120Ω,偏置电阻各 680Ω,实际的空闲差分电压是:
V_diff = VCC × R_term / (R_term + R_pullup + R_pulldown)
= 5V × 120 / (120 + 680 + 680) ≈ 0.405V = 405mV
这个值 > 200mV,满足要求。但如果你把终端电阻换成了 60Ω(两个 120Ω 并联),差分电压就只剩约 210mV,卡在临界点上。所以终端电阻的数量和位置是规划偏置电阻的前提。
五、第三层:数据链路层检查
电气层没问题,但通信还是不对——进入协议本身的排障。这一层需要串口抓包工具。
5.1 确认从站是否支持 Modbus
这里不是让你看设备说明书——说明书写了支持不代表固件真的开了。用串口助手发一条最简单的请求帧,看从站回不回。
以 Modbus RTU 为例,发功能码 03(读保持寄存器):
从站地址: 01
功能码: 03
起始地址: 00 00(寄存器 40001)
寄存器数: 00 01(读 1 个)
CRC: 84 0A
完整帧: 01 03 00 00 00 01 84 0A
把你的 USB-485 转换器接到从站的 RS-485 口上,串口助手设好波特率/数据位/校验位/停止位,发上面这帧。如果从站回了:
01 03 02 00 2A 39 9B
说明从站支持 Modbus,寄存器 40001 里的值是 0x002A(十进制 42)。如果没有任何响应,继续查下面几项。
5.2 波特率和帧格式
Modbus RTU 的默认帧格式通常是:9600-8-N-1(波特率 9600,8 数据位,无校验,1 停止位)。但很多老设备用 9600-8-E-1(偶校验)或 19200-8-N-1。还有一些国产设备默认 4800。
如果你的 USB-485 转换器波特率设对了,从站会回应。如果波特率不对,从站会收到乱码。从站看到乱码后的行为取决于其固件实现——有的设备直接丢弃,有的设备会尝试解析失败后复位接收缓冲区,表现为完全沉默。
不要猜波特率。 如果手头没有设备手册,用一个笨办法:USB 逻辑分析仪(几十块钱的那种就行)挂在 A、B 线上,看从站上电后有没有发数据。有些从站启动后会主动发一段标识信息,测量这段数据的位宽就能反推波特率。
5.3 校验位、停止位、数据位
9600-8-N-1 vs 9600-8-E-1 的区别不仅是一个校验位。帧总长度变了:
– 8-N-1:1 起始位 + 8 数据位 + 1 停止位 = 10 位/字节 – 8-E-1:1 起始位 + 8 数据位 + 1 校验位 + 1 停止位 = 11 位/字节
如果你用 8-N-1 发,从站用 8-E-1 收,从站会把你的停止位当校验位来验证。反之亦然。这会导致偶发性的校验错误而非全部错误——因为停止位是固定的逻辑 1,有 50% 的概率碰巧「校验通过」。
这就是为什么波特率、校验位、停止位的排列组合要从设备手册里确认,而不是凑出来。 16 个从站,7 种波特率 × 3 种校验 × 2 种停止位 = 42 种组合。凑出来纯粹是折磨自己。
5.4 抓包分析——区分「没发出去」「没回应」「回了错误」
用串口监控软件(比如 Device Monitoring Studio、Serial Port Monitor,或者简单粗暴地用两个 USB-485 转换器背靠背接在总线上)抓实际的收发数据。
看三个关键指标:
主站发出的帧是否正确。 用 CRC 计算器验证你发出的帧里的 CRC 对不对。一个常见错误是 CRC 高低字节反了——Modbus RTU 规定 CRC 低字节在前,高字节在后。比如帧 01 03 00 00 00 01 的 CRC 是 0x840A,帧里应该是 84 0A 而不是 0A 84。
从站有没有响应。 如果主站帧正确发出但在合理的时间内(比如 200ms)没有任何数据回来,检查从站地址是否匹配、总线上是否只有一台设备在线(加另一台后可能地址冲突)、从站是否处于「监听」模式。
从站响应了什么。 如果从站回了异常帧,功能码最高位置 1 再加异常码(比如 01 83 02 C0 F1,83 = 03 + 0x80,异常码 02 = 非法数据地址),那至少链路层是通的,问题在应用层。
5.5 CRC 校验错误的精准排查
CRC 校验错误是最常见的链路层问题,可能的原因有这些,按频率从高到低:
1. A/B 线接反。 差分极性反了,所有数据位反转,CRC 大概率不对。但有共模容限时偶尔能对——这就是场景 2。 2. 波特率偏差。 两个设备的时钟偏差导致采样点漂移。如果波特率偏差超过 ±2%,接收端 UART 会采样到错误的位值。特别是在高温环境下,MCU 内部 RC 振荡器的温漂可能达到 ±5%。 3. 接线松动或接触不良。 一个位的丢失会导致后续所有字节移位,CRC 必错。 4. 电磁干扰。 变频器启动瞬间、电焊机工作时的强 EMI 会直接改变传输线上的电平,导致位错误。如果 CRC 错误只在特定设备启动时出现,基本可以锁定干扰源。
六、第四层:应用层检查
链路层通了(从站有响应且 CRC 正确),但返回的数据不对或功能不如预期。
6.1 从站地址
Modbus RTU 帧的第一个字节是从站地址。地址范围 1-247。
地址 0 是广播地址——主站用 0 发写命令,所有从站执行但不回应。如果你用地址 0 发了读命令,不会有任何从站响应。
很多新设备出厂默认地址是 1。如果你总线上已经有了一台地址 1 的设备,又加上一台出厂默认地址也是 1 的新设备,两台设备会在主站寻址 1 时同时响应——总线冲突,主站收到的数据是两路信号的叠加,表现为 CRC 错误或乱码。
排查方法:一次只往总线上接一个从站,逐个测试。 这是最笨但最有效的方法。一次测通了再加下一个。
6.2 寄存器地址偏移
Modbus 的寄存器地址有两个概念,搞混了就会读到错误的数据:
– 协议地址: 帧里填的 16 位数值,从 0 开始。功能码 03 读保持寄存器时,协议地址 0 对应的是第 1 个保持寄存器。 – PLC 地址: 厂商在手册里写的编号,可能从 1 开始,也可能从 40001 开始。
举例:设备手册写「频率设定值在寄存器 40003」。这个 40003 可能有三种含义:
| 厂商习惯 | 协议地址 | 你在帧里填的值 |
|---|---|---|
| 40003 就是协议地址 | 40003 | 40003(超出单字节范围,看厂商怎么处理) |
| 40003 表示保持寄存器区第 3 个 | 2 | 00 02 |
| 40003 表示保持寄存器区第 3 个(从 0 开始) | 3 | 00 03 |
如果你不确定,从协议地址 0 开始,读 10 个连续寄存器。看哪个地址返回了你认识的值(比如设备型号编码、固件版本号、或者当前频率这些已知数据),反推厂商的编址方式。
6.3 功能和功能码
Modbus 标准功能码和对应的数据区:
– 01:读线圈(0xxxx) – 02:读离散输入(1xxxx) – 03:读保持寄存器(4xxxx) – 04:读输入寄存器(3xxxx) – 05:写单线圈 – 06:写单保持寄存器 – 15:写多线圈 – 16:写多保持寄存器
但并不是每个从站都实现了所有功能码。一台简单的温控器可能只支持 03 和 06——你发 16(写多寄存器)它不认识,回异常码 01(非法功能码)。
如果从站回了异常码,异常码含义如下:
| 异常码 | 含义 | 常见原因 |
|---|---|---|
| 01 | 非法功能 | 从站不支持这个功能码 |
| 02 | 非法数据地址 | 寄存器地址超出范围 |
| 03 | 非法数据值 | 写入的值不可接受(超出量程等) |
| 04 | 从站设备故障 | 从站自检失败 |
| 05 | 确认 | 命令已接收但需要时间处理 |
| 06 | 从站设备忙 | 正在处理上一个命令 |
收到异常码是好事——说明链路层通了,物理层没问题,你可以把注意力集中在应用层。
6.4 字节序(大端/小端)
Modbus 协议规定多字节数据以大端序传输(高字节在前)。但 32 位浮点数怎么传?标准里没有定义。于是各家厂商各搞一套:
– 一些厂商用 ABCD 序(最高字节在前) – 一些厂商用 CDAB 序(两个字交换位置,每个字内部仍然大端) – 一些厂商用 BADC 或 DCBA
如果你读两个连续的保持寄存器拼成一个 32 位浮点数,读到的值和期望值差好几个数量级,大概率是字节序反了。用已知值——比如把频率设成 50.0Hz(IEEE 754 表示是 0x42480000)——读回来,看十六进制排列顺序,反推厂商的字节序。
七、逐步添加从站的正确方法
现在假设你排查完了一个从站,通信正常。接下来要加更多从站——这是最容易出幺蛾子的环节。
正确做法:
1. 总线上只留一个从站(从站 A),确认 A 通信正常。 2. 断开从站 A,只接从站 B,确认 B 通信正常。 3. A 和 B 同时接上,确认两者都通信正常。 4. 如果 A+B 正常,断开所有,只接从站 C,确认 C 正常。 5. A+B+C 同时接上,确认三者都正常。 6. 以此类推。
如果在第 3 步 A+B 同时接上后出问题,检查这两件事:
– 地址冲突: A 和 B 的从站地址是不是相同。 – 终端电阻累积: A 和 B 是不是都内部启用了 120Ω 终端电阻。参见 3.3 节。
如果在第 5 步 A+B+C 同时接上后出问题(前两步都正常),大概率是:
– 总线驱动能力不足。 每个从站的 RS-485 收发器在接收状态下都有一个输入阻抗(标准 ≥ 12kΩ)。按照 RS-485 标准,一条总线上最多 32 个单位负载。如果你用的是 1/4 或 1/8 负载的收发器,数量可以更多。但如果用最便宜的 MAX485 级别芯片,挂 30 个从站后信号衰减会很明显。解决方案:选 1/4 或 1/8 负载的收发器,或者加 RS-485 中继器。 – 总线拓扑有问题。 RS-485 必须是菊花链(Daisy Chain),不能星星形分支。星形拓扑会产生信号反射,反射位置刚好在分支点。如果现场布线已经星星形了且没法改,加 RS-485 Hub 或中继器来隔离各分支。
八、主站轮询策略与超时设置
8.1 超时时间怎么算
Modbus RTU 的超时分两个层面:
字符间超时(t1.5): 两个连续字节之间的最大允许间隔,设为传输 1.5 个字符的时间。用来判断一帧是否结束。在 9600 波特率下,一个字符(11 位)约 1.15ms,t1.5 ≈ 1.75ms。
帧间超时(t3.5): 两个连续帧之间的最小间隔,设为传输 3.5 个字符的时间。在 9600 波特率下,t3.5 ≈ 4ms。
如果你的主站发完请求后等 30ms 还没有收到响应,不能简单地认为从站坏了。有些从站(尤其是低速 MCU 驱动的温控器、电能表)处理一个请求需要 50-100ms。把这个值设成至少 200ms 作为起始值,确认通信正常后再根据实际响应时间调短。
8.2 先读后写
在尝试写任何寄存器之前,先读一个已知的寄存器(比如设备型号、固件版本号、或者一个你已知当前值的寄存器)。确认读操作正常后,再尝试写。
不要一上来就往线圈里写 1。 你不知道那个线圈控制的是什么——可能是急停信号。用 06 功能码写保持寄存器同理,先想清楚你写的寄存器是干什么的。
九、排查清单速查表
在工控现场,你可能没有条件一步一步按本文顺序来。把这张表拍照存手机里,调试时对着查。
| 序号 | 检查项 | 工具 | 通过标准 |
|---|---|---|---|
| 1 | A/B 线通断 | 万用表电阻档 | A 线导通,B 线导通 |
| 2 | A/B 线不短路 | 万用表电阻档 | A-B 电阻 > 1kΩ |
| 3 | 空闲电压 | 万用表 DC 电压档 | A > B,差值 > 200mV |
| 4 | 终端电阻 | 万用表电阻档(设备断电) | A-B 电阻 120Ω 或 > 1kΩ(取决于是否启用) |
| 5 | 偏置电阻 | 万用表电阻档(设备断电) | A-VCC 和 B-GND 各约 680Ω |
| 6 | 波特率/校验/停止位 | 设备手册 | 与从站手册一致 |
| 7 | 发空帧测试 | 串口助手 | 从站对 01 03 00 00 00 01 84 0A 有回应 |
| 8 | CRC 正确 | CRC 计算器 | 主站发出的 CRC 与计算一致 |
| 9 | 响应 CRC 正确 | CRC 计算器 | 从站响应的 CRC 与计算一致 |
| 10 | 从站地址唯一 | 逐个接入测试 | 总线上没有重复地址 |
| 11 | 寄存器地址正确 | 从 0 开始读连续 10 个 | 返回数据含已知值 |
| 12 | 字节序正确 | 读已知值对照 | 32 位值解析符合厂商规范 |
十、FAQ:高频排障问题
Q1:主站发数据,从站偶尔回偶尔不回,波特率 9600。为什么?
A:偶尔性问题最常见的原因是 A/B 线接反、终端电阻配置不当、或电源干扰。先查 A/B 极性,再查终端电阻位置和数量,最后用示波器看波形。
Q2:USB-485 转换器在测试台上正常,一到现场就不行。换了好几个转换器都一样。
A:两个可能。一是现场的 RS-485 线路上有强共模干扰,普通 USB-485 转换器的共模抑制比不够。换一个带隔离的工业级 USB-485 转换器(比如宇泰 UT-890A 或同等产品)。二是现场的电脑 USB 口接地和 RS-485 设备的地之间有电位差,通过转换器形成回路。隔离型转换器能解决这个问题。
Q3:多个从站轮询时,第一个总是通,后面几个经常不通。
A:检查主站的轮询间隔。如果你在发完上一个请求后立即发下一个,而总线上的上一个响应还没传完,就会发生冲突。确保两次轮询之间的间隔 ≥ 从站数量 ×(请求时间 + 响应时间 + t3.5)。在 9600 波特率下,如果每个从站的平均响应时间是 15ms,10 个从站的轮询间隔至少设 200ms。
Q4:CRC 总是报错,检查了 A/B 极性和波特率都没问题。
A:用逻辑分析仪或示波器检查信号质量。看上升沿和下降沿的斜率,如果过于平缓(> 30% 位宽),可能是线容太大或驱动能力不足。降低波特率到 4800 试试。如果能通,说明信号质量确实是问题根源。
Q5:怎么知道从站到底支不支持 Modbus?
A:发 01 03 00 00 00 01 84 0A 过去。如果不回,再用 9600/19200/4800 三种波特率各试一遍(8-N-1 和 8-E-1 各一遍)。如果全都不回,检查以下可能——设备根本没通电、RS-485 接口未使能需要跳线或配置、设备 RS-485 只支持 ASCII 模式、设备需要特殊的唤醒序列。
有问题再聊。现场调试这种事,文字能说清楚八成,剩下两成靠你自己去试。不过只要按这个顺序来,不走回头路,一个下午足够把大多数 Modbus 通信问题搞定了。
发表回复