渐进式解决Modbus通信问题的方法

freeFree Technical Resource

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

渐进式解决Modbus通信问题的方法缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 一、典型的现场故障长什么样
  2. 2. 二、排查综述:从物理层到应用层的四层模型
  3. 3. 三、第一层:物理连接检查
  4. 4. 3.1 万用表打线——最基本的第一步
  5. 5. 3.2 A/B 线到底怎么接——这个坑踩的人最多
  6. 6. 3.3 终端电阻——什么时候接、接在哪
  7. 7. 3.4 屏蔽和接地——大部分人做错的地方
  8. 8. 四、第二层:电气层检查
  9. 9. 4.1 用示波器看波形
  10. 10. 4.2 偏置电阻(Fail-Safe 偏置)
  11. 11. 五、第三层:数据链路层检查
  12. 12. 5.1 确认从站是否支持 Modbus
  13. 13. 5.2 波特率和帧格式
  14. 14. 5.3 check digit、stop bit、data bit
  15. 15. 5.4 抓包分析——区分「没发出去」「没回应」「回了错误」
  16. 16. 5.5 CRC verification错误的精准排查
  17. 17. 六、第四层:应用层检查
  18. 18. 6.1 slave address
  19. 19. 6.2 寄存器地址偏移
  20. 20. 6.3 功能和功能码
  21. 21. 6.4 bytes序(大端/小端)
  22. 22. 七、逐步添加从站的正确方法
  23. 23. 八、主站轮询策略与超时设置
  24. 24. 8.1 超时时间怎么算
  25. 25. 8.2 先读后写
  26. 26. 九、排查清单速查表
  27. 27. 十、FAQ:高频排障问题

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

本文:渐进式解决Modbus通信问题:从物理层到应用的完整排查手册 · Author:modbus Technical Team · 发布于 2026-07-01

摘要:Modbus RS-485 通信不通怎么办?本文从物理层到应用层,通过真实报文分析和排查工具演示,给出完整的渐进式排障方法。关键词:Modbus 通信故障排查、RS-485 排障、Modbus 调试方法、Modbus RTU 无响应、CRC verificationError。


在工业自动化领域,Modbus 通信出问题是最让人头疼的事——不是因为它复杂,而是因为故障点太分散。物理层、数据链路层、应用层,任何一个环节出问题,现象可能一样:主站发请求,从站不回

这篇文章不是教你 Modbus protocol基础。我假设你已经在用 Modbus,现在的问题是「不通」,你需要一份能照着操作的排障清单。我们就从最底层开始,一层一层往上查。

核心关键词:Modbus 通信故障排查、RS-485 排障、Modbus RTU 无响应、CRC verificationError。More Modbus 技术文章请访问 modbus.cn。


一、典型的现场故障长什么样

先看三个真实场景,如果你遇到过类似的,这篇文章就是写给你的。

Scenarios 1:某污水处理站,16 个 Modbus RTU 从站挂在一条 RS-485 总线上。每天下午三点准时全部掉线,十分钟后自动恢复。查了三个星期,最后发现是隔壁泵房的光伏逆变器每天下午三点启动,EMI 干扰耦合到 485 线上,把信号淹了。

Scenarios 2:一台三菱变频器通过 RS-485 接入网关,主站发功能码 03 读频率,偶尔能读到,偶尔报 CRC Error。波特率是 9600。折腾了两天最后发现是 A/B 线接反了——主站的 A 接到了从站的 B。但为什么偶尔还能读到数据?因为 RS-485 收发器有一定的共模容限,在信号质量好的时候真能通,一有干扰就 CRC 报错。

Scenarios 3:产线上新加了一台温控器,地址设成 05,挂上去之后 05 号没反应,但原来的一台 07 号也不通了。拔掉新设备,07 号恢复正常。查到最后,新设备默认配置了 120Ω 终端电阻,总线上一共挂了三个终端电阻——阻抗不匹配,信号反射导致所有从站时断时续。

这三个场景指向同一个道理:Modbus 不通,不能猜,要一层一层排除。 下面就是这个排查的完整路径。


二、排查综述:从物理层到应用层的四层模型

Modbus 通信问题的排查路径,按层次从低到高:

┌────────────────────────────────────────────┐
│  第四层:应用层                             │
│  slave address、Register Mapping、function code、endianness       │
│  现象:从站回异常码,或数据值明显不对       │
├────────────────────────────────────────────┤
│  第三层:数据链路层                         │
│  Baud rate、check digit、CRC/LRC check               │
│  现象:CRC Error、帧不完整、偶发性丢帧       │
├────────────────────────────────────────────┤
│  第二层:电气层                             │
│  A/B 线接法、终端电阻、偏置电阻、接地       │
│  现象:完全不通、数据全是乱码、间歇性断连   │
├────────────────────────────────────────────┤
│  第一层:物理连接                           │
│  线缆通断、接头氧化、屏蔽层、布线路径       │
│  现象:主站发数据,从站完全无反应           │
└────────────────────────────────────────────┘

排障铁律:永远从第一层开始排查,确认没问题再往上走。 不知道有多少人在第三层(改波特率、改超时时间)上浪费了三天,最后发现是第一层的 A/B 线接反了。如果你只记住一句话,记住这句。


三、第一层:物理连接检查

3.1 万用表打线——最基本的第一步

先把所有设备断电。万用表调到电阻档或通断档,测:

– A 线从主站到最远端从站是否导通(电阻应 < 10Ω,取决于线长和线径) – B 线同样 – A 和 B 之间不能短路(电阻应为无穷大或接近无穷大) – A/B 分别对 GND 不能短路

如果通断都正常,再把电送上,万用表调到直流电压档:

渐进式解决Modbus通信问题的方法插图

– 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 端子标注就是反的。

渐进式解决Modbus通信问题的方法插图1

3.3 终端电阻——什么时候接、接在哪

终端电阻 120Ω,接在总线的最两端。这句话每个人都听过。但实际工程中这些细节才决定成败:

什么时候必须接。 总线长度超过 50 米,或波特率 ≥ 19200。判断标准不是长度,是你用示波器看信号波形——如果有明显的过冲或反射台阶,加终端电阻。

什么时候可以不接。 测试台上,一米短线,Baud rate 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 to +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(read holding registers):

slave address: 01
function code:   03
starting address: 00 00(register 40001)
寄存器数: 00 01(读 1 个)
CRC:      84 0A

完整帧:   01 03 00 00 00 01 84 0A

把你的 USB-485 转换器接到从站的 RS-485 口上,串口助手设好波特率/data bit/check digit/stop bit,发上面这帧。如果从站回了:

01 03 02 00 2A 39 9B

说明从站支持 Modbus,register 40001 里的值是 0x002A(decimal 42)。如果没有任何响应,继续查下面几项。

5.2 波特率和帧格式

Modbus RTU 的默认帧格式通常是:9600-8-N-1(Baud rate 9600,8 data bit,无校验,1 stop bit)。但很多老设备用 9600-8-E-1(even parity)或 19200-8-N-1。还有一些国产设备默认 4800。

如果你的 USB-485 转换器波特率设对了,从站会回应。如果波特率不对,从站会收到乱码。从站看到乱码后的行为取决于其固件实现——有的设备直接丢弃,有的设备会尝试解析失败后复位接收缓冲区,表现为完全沉默。

不要猜波特率。 如果手头没有设备手册,用一个笨办法:USB 逻辑分析仪(几十块钱的那种就行)挂在 A、B 线上,看从站上电后有没有发数据。有些从站启动后会主动发一段标识信息,测量这段数据的位宽就能反推波特率。

5.3 check digit、stop bit、data bit

9600-8-N-1 vs 9600-8-E-1 的区别不仅是一个校验位。帧总长度变了:

– 8-N-1:1 起始位 + 8 data bit + 1 stop bit = 10 位/byte – 8-E-1:1 起始位 + 8 data bit + 1 check digit + 1 stop bit = 11 位/byte

如果你用 8-N-1 发,从站用 8-E-1 收,从站会把你的停止位当校验位来验证。反之亦然。这会导致偶发性的校验错误而非全部错误——因为停止位是固定的逻辑 1,有 50% 的概率碰巧「校验通过」。

这就是为什么波特率、check digit、停止位的排列组合要从设备手册里确认,而不是凑出来。 16 个从站,7 种波特率 × 3 种校验 × 2 种停止位 = 42 种组合。凑出来纯粹是折磨自己。

5.4 抓包分析——区分「没发出去」「没回应」「回了错误」

用串口监控软件(比如 Device Monitoring Studio、Serial Port Monitor,或者简单粗暴地用两个 USB-485 转换器背靠背接在总线上)抓实际的收发数据。

看三个关键指标:

主站发出的帧是否正确。 用 CRC calculation器验证你发出的帧里的 CRC 对不对。一个常见错误是 CRC high低字节反了——Modbus RTU 规定 CRC low字节在前,高字节在后。比如帧 01 03 00 00 00 01 的 CRC 是 0x840A,帧里应该是 84 0A 而不是 0A 84

从站有没有响应。 如果主站帧正确发出但在合理的时间内(比如 200ms)没有任何数据回来,检查从站地址是否匹配、总线上是否只有一台设备在线(加另一台后可能地址冲突)、从站是否处于「监听」模式。

从站响应了什么。 如果从站回了异常帧,功能码最高位置 1 再加异常码(比如 01 83 02 C0 F1,83 = 03 + 0x80,Exception Code 02 = Illegal data address),那至少链路层是通的,问题在应用层。

5.5 CRC verification错误的精准排查

CRC verification错误是最常见的链路层问题,可能的原因有这些,按频率从高到低:

1. A/B 线接反。 差分极性反了,所有数据位反转,CRC 大概率不对。但有共模容限时偶尔能对——这就是场景 2。 2. 波特率偏差。 两个设备的时钟偏差导致采样点漂移。如果波特率偏差超过 ±2%,接收端 UART 会采样到错误的位值。特别是在高温环境下,MCU 内部 RC 振荡器的温漂可能达到 ±5%。 3. 接线松动或接触不良。 一个位的丢失会导致后续所有字节移位,CRC 必错。 4. 电磁干扰。 变频器启动瞬间、电焊机工作时的强 EMI 会直接改变传输线上的电平,导致位错误。如果 CRC 错误只在特定设备启动时出现,基本可以锁定干扰源。


六、第四层:应用层检查

链路层通了(从站有响应且 CRC correct),但返回的数据不对或功能不如预期。

6.1 slave address

Modbus RTU 帧的第一个字节是从站地址。地址范围 1-247。

address 0 是广播地址——主站用 0 发写命令,所有从站执行但不回应。如果你用地址 0 发了读命令,不会有任何从站响应。

很多新设备出厂默认地址是 1。如果你总线上已经有了一台地址 1 equipment,又加上一台出厂默认地址也是 1 的新设备,两台设备会在主站寻址 1 时同时响应——总线冲突,主站收到的数据是两路信号的叠加,表现为 CRC 错误或乱码。

排查方法:一次只往总线上接一个从站,逐个测试。 这是最笨但最有效的方法。一次测通了再加下一个。

6.2 寄存器地址偏移

Modbus 的寄存器地址有两个概念,搞混了就会读到错误的数据:

协议地址: 帧里填的 16 位数值,从 0 开始。function code 03 Read the hold register时,协议地址 0 对应的是第 1 个保持寄存器。 – PLC address: 厂商在手册里写的编号,可能从 1 开始,也可能从 40001 开始。

举例:设备手册写「频率设定值在寄存器 40003」。这个 40003 可能有三种含义:

厂商习惯协议地址你在帧里填的值
40003 就是协议地址4000340003(超出单字节范围,看厂商怎么处理)
40003 表示保持寄存器区第 3 个200 02
40003 表示保持寄存器区第 3 个(从 0 开始)300 03

如果你不确定,从协议地址 0 开始,读 10 个连续寄存器。看哪个地址返回了你认识的值(比如设备型号编码、固件版本号、或者当前频率这些已知数据),反推厂商的编址方式。

6.3 功能和功能码

Modbus 标准功能码和对应的数据区:

– 01:读线圈(0xxxx) – 02:read discrete inputs(1xxxx) – 03:read holding registers(4xxxx) – 04:read input registers(3xxxx) – 05:写单线圈 – 06:写单保持寄存器 – 15:写多线圈 – 16:写多保持寄存器

但并不是每个从站都实现了所有功能码。一台简单的温控器可能只支持 03 和 06——你发 16(写多寄存器)它不认识,回异常码 01(非法功能码)。

如果从站回了异常码,异常码含义如下:

Exception Code含义常见原因
01Illegal function从站不支持这个功能码
02Illegal data address寄存器地址超出范围
03Illegal data value写入的值不可接受(超出量程等)
04Substation equipment malfunction从站自检失败
05Confirm命令已接收但需要时间处理
06The slave station equipment is busy正在处理上一个命令

收到异常码是好事——说明链路层通了,物理层没问题,你可以把注意力集中在应用层。

6.4 bytes序(大端/小端)

Modbus protocol规定多字节数据以大端序传输(高字节在前)。但 32 位浮点数怎么传?标准里没有定义。于是各家厂商各搞一套:

– 一些厂商用 ABCD 序(最高字节在前) – 一些厂商用 CDAB 序(两个字交换位置,每个字内部仍然大端) – 一些厂商用 BADC 或 DCBA

如果你读两个连续的保持寄存器拼成一个 32 位浮点数,读到的值和期望值差好几个数量级,大概率是字节序反了。用已知值——比如把频率设成 50.0Hz(IEEE 754 表示是 0x42480000)——读回来,看十六进制排列顺序,反推厂商的字节序。


七、逐步添加从站的正确方法

现在假设你排查完了一个从站,通信正常。接下来要加更多从站——这是最容易出幺蛾子的环节。

正确做法:

1. 总线上只留一个从站(slave A),Confirm A 通信正常。 2. 断开从站 A,只接从站 B,Confirm B 通信正常。 3. A 和 B 同时接上,确认两者都通信正常。 4. 如果 A+B 正常,断开所有,只接从站 C,Confirm 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 驱动的温控器、Energy Meter)处理一个请求需要 50-100ms。把这个值设成至少 200ms 作为起始值,确认通信正常后再根据实际响应时间调短。

8.2 先读后写

在尝试写任何寄存器之前,先读一个已知的寄存器(比如设备型号、固件版本号、或者一个你已知当前值的寄存器)。确认读操作正常后,再尝试写。

不要一上来就往线圈里写 1。 你不知道那个线圈控制的是什么——可能是急停信号。用 06 功能码写保持寄存器同理,先想清楚你写的寄存器是干什么的。


九、排查清单速查表

在工控现场,你可能没有条件一步一步按本文顺序来。把这张表拍照存手机里,调试时对着查。

Serial number检查项Tools通过标准
1A/B 线通断万用表电阻档A 线导通,B 线导通
2A/B 线不短路万用表电阻档A-B 电阻 > 1kΩ
3空闲电压万用表 DC 电压档A > B,差值 > 200mV
4终端电阻万用表电阻档(设备断电)A-B 电阻 120Ω 或 > 1kΩ(取决于是否启用)
5偏置电阻万用表电阻档(设备断电)A-VCC 和 B-GND 各约 680Ω
6Baud rate/check/stop bit设备手册与从站手册一致
7发空帧测试串口助手从站对 01 03 00 00 00 01 84 0A 有回应
8CRC correctCRC calculation器主站发出的 CRC 与计算一致
9Response CRC correctCRC calculation器从站响应的 CRC 与计算一致
10从站地址唯一逐个接入测试总线上没有重复地址
11寄存器地址正确从 0 开始读连续 10 个返回数据含已知值
12字节序正确读已知值对照32 位值解析符合厂商规范

十、FAQ:高频排障问题

Q1:主站发数据,从站偶尔回偶尔不回,Baud rate 9600。为什么?

A:偶尔性问题最常见的原因是 A/B 线接反、终端电阻配置不当、或电源干扰。先查 A/B 极性,再查终端电阻位置和数量,最后用示波器看波形。

Q2:USB-485 转换器在测试台上正常,一到现场就不行。换了好几个转换器都一样。

A:两个可能。一是现场的 RS-485 线路上有强共模干扰,普通 USB-485 转换器的共模抑制比不够。换一个带隔离的工业级 USB-485 Converters(比如宇泰 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 接口未使能需要跳线或配置、device RS-485 只支持 ASCII 模式、设备需要特殊的唤醒序列。


有问题再聊。现场调试这种事,文字能说清楚八成,剩下两成靠你自己去试。不过只要按这个顺序来,不走回头路,一个下午足够把大多数 Modbus 通信问题搞定了。

技术术语(共 9 个)—— Click to Expand
Modbus RTU基于串行链路的ModbusProtocol,使用二进制编码和CRC check
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
registerModbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
网关协议转换设备,如 Modbus RTU ↔ Modbus TCP
serial port计算机与外部设备进行串行通信的物理接口
线圈Modbus位可读写数据,地址从00001开始
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category Modbus technical documentation 字数 8685 字 · 阅读约 22 分钟 更新 2026-08-20 永久链接 https://www.modbus.cn/25693.html
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
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 *.