Modbus 工程师必备神器!RTU/TCP/ASCII Meldung生成Analyse器,效率提升 10 倍

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Modbus 工程师必备神器!RTU/TCP/ASCII Meldung生成Analyse器,效率提升 10 倍缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 前言:Modbus Tests的痛,工程师都懂
  2. 2. 一、核心Funktion:为什么工程师都说好?
  3. 3. 1.1 三种Vereinbarung全覆盖
  4. 4. 1.2 BitteBefehl生成器
  5. 5. 1.3 AntwortMeldung生成器
  6. 6. 1.4 Nachrichten analysieren器
  7. 7. 1.5 历史记录
  8. 8. 1.6 Meldung结构可视化
  9. 9. 二、实战案例:工程师的真实使用Szene
  10. 10. 案例 1:LesenTemperatur-SensorDaten
  11. 11. 案例 2:批Quantität设置变频器Parameter
  12. 12. 案例 3:Tests上位机软件
  13. 13. 三、Techniken细节:工程师关心的
  14. 14. 3.1 CRC16 Prüfungen算法
  15. 15. 3.2 LRC Prüfungen算法
  16. 16. 3.3 Befehlseite问题
  17. 17. 3.4 Modbus TCP 的 MBAP 头
  18. 18. 四、用户反馈:工程师怎么说
  19. 19. 五、写在最后
  20. 20. 附录:使用方式

Modbus 工程师必备神器!RTU/TCP/ASCII Meldung生成Analyse器,效率提升 10 倍

还在手动Berechnung Modbus Meldung?这个Werkzeuge支持 RTU/TCP/ASCII 三种Vereinbarung,自动Anfrage generieren/AntwortMeldung,CRC/LRC Prüfungen、Nachrichten analysieren、历史记录一键搞定


前言:Modbus Tests的痛,工程师都懂

我做了 20 JahrIndustrielle Automatisierung,太懂 Modbus Tests的痛苦。

你是不是也经常遇zu这些情况?

Szene 1:手动BerechnungMeldung,容易错

要Lesen und halten Register,von der Station Adresse 01,Ausgang Adresse 40001,Anzahl 10 个
你拿着Rechner算:

  • von der Station Adresse:01
  • Funktionscode:03
  • Ausgang Adresse:00 00(40001-1=40000=0x9C40,等等,不对…)
  • Anzahl:00 0A
  • CRC-Prüfung:???

算了一半,客户打Telefon.来,回来忘了算zu哪了
重新算,CRC 算出来不对
再算,还是不对…

Szene 2:收zuMeldung,不会Analyse

Geräte zurück.:01 03 14 00 0A 00 0B 00 0C 00 0D 00 0E xx xx
你盯着看:

  • 这是Funktionscode 03 的Antwort
  • 14 是Anzahl der Bytes(20 Bytes)
  • 但每个Registerwert是多少?
  • Befehlseite是 AB 还是 BA?

Szene 3:三种Vereinbarung,搞混了

  • RTU 用 CRC-Prüfung
  • ASCII 用 LRC Prüfungen
  • TCP 有 MBAP 头

一着急,用 RTU 的方式Analyse TCP Meldung,怎么都对不上

Szene 4:Tests记录,找不zu

昨天调好的Meldung,今天找不zu了
问同事要,同事说”我也忘了”
重新算,又花 1 小时

这些痛点,我都知道。

所以,我开发了这个 Modbus Meldung生成Analyse器

它支持 RTU/TCP/ASCII 三种Vereinbarung,自动Anfrage generieren/AntwortMeldung。

不用手动Berechnung,不用记公式,点几下就生成。


一、核心Funktion:为什么工程师都说好?

1.1 三种Vereinbarung全覆盖

支持 Modbus 三种传输模式:

VereinbarungPrüfungen方式帧Das Format适用Szene
Modbus RTUCRC16BinärsystemSerielle Kommunikation(RS485/RS232)
Modbus ASCIILRCASCII Text老旧Ausrüstung/调制解调器
Modbus TCP无Prüfungen(TCP Garantie)MBAP 头 +ADUEthernetKommunikation

一个Werkzeuge,搞定所有 Modbus TestsSzene。


1.2 BitteBefehl生成器

Funktion说明

① 支持 12 种Funktionscode

FunktionscodeName用途
01Lesen Sie den ZustandLesenSchalter!Quantität输出
02Lesen Sie getrennte EingabeLesenSchalter!Quantität输入
03Lesen Sie das Registeram häufigsten verwendet(模拟Quantität输出)
04Eingangsregister lesen只读(模拟Quantität输入)
05Schreiben Sie eine einzelne Schleife.Schalter!控制
06Schreiben eines einzelnen RegistersParameter设置
0FSchreiben Sie mehrere Schleife.批QuantitätSchalter!控制
10Schreiben mehrerer Register批QuantitätParameter设置
17读/Schreiben mehrerer Register同时读写
2BLesenAusrüstung标识Ausrüstung信息查询

② Parameter配置

以Funktionscode 03(Lesen Sie das Register)为例:

von der Station Adresse:01(0-247)
Funktionscode:03
Ausgang Adresse:0000(16. System或Das Dekimalsystem)
Anzahl:0010(Lesen 10 ein Register.)

③ 自动生成Meldung

输入Parameter后,自动生成:

RTU 模式:

01 03 00 00 00 0A C4 0B
│  │  │  │  │  │  │  │
│  │  │  │  │  │  │  └─ CRC niedrigBytes
│  │  │  │  │  │  └──── CRC hochBytes
│  │  │  │  │  └─────── Anzahl低Bytes
│  │  │  │  └────────── Anzahlhohe Bytes
│  │  │  └───────────── Ausgang Adresse低Bytes
│  │  └──────────────── Ausgang Adressehohe Bytes
│  └─────────────────── Funktionscode
└────────────────────── von der Station Adresse

ASCII 模式:

:01030000000AFB
│            │  │
│            │  └── LRC Prüfungen(FB)
│            └───── Daten部Unterteilung(ASCII Codierung)
└────────────────── Anfang符(:)

TCP 模式:

00 01 00 00 00 06 01 03 00 00 00 0A
│  │  │  │  │  │  │  │  │  │  │  │
│  │  │  │  │  │  │  │  │  │  │  └─ Anzahl低Bytes
│  │  │  │  │  │  │  │  │  └─────── Anzahlhohe Bytes
│  │  │  │  │  │  │  │  └────────── Ausgang Adresse低Bytes
│  │  │  │  │  │  │  └───────────── Ausgang Adressehohe Bytes
│  │  │  │  │  │  └──────────────── Funktionscode
│  │  │  │  │  │  └──────────────── Einheitenidentifikator(von der Station Adresse)
│  │  │  │  │  └─────────────────── Länge(后续Anzahl der Bytes)
│  │  │  │  └────────────────────── Protokoll-Bezeichner(0=Modbus)
│  │  │  └───────────────────────── Transaktionsidentifikator低Bytes
│  │  └──────────────────────────── Transaktionsidentifikatorhohe Bytes
└─────────────────────────────────── MBAP 头(7 Bytes)

④ 特殊Funktionscode支持

Funktionscode 05(Schreiben Sie eine einzelne Schleife.):

  • Schalter!Auswahl:Öffnen (ON) / Schließen (OFF)
  • 自动转换为 FF00/0000

Funktionscode 0F(Schreiben Sie mehrere Schleife.):

  • 线圈Anzahl输入
  • 可视化Auswahl der Schleife(圆点Knopf)
  • KlickenWechselnStatus(灰=OFF,蓝=ON)
  • 自动BerechnungAnzahl der Bytes

Funktionscode 10(Schreiben mehrerer Register):

  • Register.列表(可添加多个)
  • 每ein Register.设置:
    • Adresse(自动Berechnung)
    • Datentyp(UINT16/INT16/UINT32/INT32/FLOAT)
    • Befehlseite(AB/BA)
    • Zahlenwert(Das Dekimalsystem输入)
  • 自动转换为Registerwert

1.3 AntwortMeldung生成器

Funktion说明

① 模拟AusrüstungAntwort

用于测试上位机软件(如Strukturen王、WinCC)或 PLC 程序。

② 支持正常Antwort和Ungewöhnliche Reaktion

正常Antwort(Funktionscode 03):

von der Station Adresse:01
Funktionscode:03
Anzahl der Bytes:20(10 ein Register.×2)
Registerwert:
  - Reg 0: 10(0x000A)
  - Reg 1: 20(0x0014)
  - Reg 2: 30(0x001E)
  - ...

Ungewöhnliche Reaktion:

von der Station Adresse:01
Funktionscode:83(03+80)
Ungewöhnlicher Code:
  - 01:Illegale Funktionen
  - 02:Illegale Datenadressen
  - 03:Illegale Datenwerte
  - 04:Ausfall aus der Station
  - 05:认可
  - 06:从属Ausrüstung忙

③ Datentyp支持

支持多种Datentyp,自动转换:

TypusAnzahl der Bytes范围Befehlseite
UINT1620-65535固定
INT162-32768~32767固定
UINT3240-4294967295AB/BA
INT324-2147483648~2147483647AB/BA
FLOAT4IEEE 754 单精度AB/BA/CDAB/BADC

Beispiel

输入Dezimalwert:25.5(FLOAT Typus)

自动转换为Registerwert:

  • Reg 0: 0x41CC(高 16 位)
  • Reg 1: 0x0000(低 16 位)

1.4 Nachrichten analysieren器

Funktion说明

① 粘贴Meldung,自动Analyse

收zuGeräte zurück.的Meldung,粘贴进去,自动Analyse:

输入(RTU 模式):

01 03 14 00 0A 00 0B 00 0C 00 0D 00 0E 7A 3B

自动Analyse:

┌─────────────────────────────────────┐
│ von der Station Adresse:01                        │
│ Funktionscode:03(Lesen Sie das Register)          │
│ Anzahl der Bytes:20(0x14)                  │
│ Daten内容:                          │
│   Reg 0: 0x000A = 10                │
│   Reg 1: 0x000B = 11                │
│   Reg 2: 0x000C = 12                │
│   Reg 3: 0x000D = 13                │
│   Reg 4: 0x000E = 14                │
│ CRC-Prüfung:7A3B ✓(Richtig.)            │
└─────────────────────────────────────┘

② 支持三种VereinbarungAnalyse

  • RTU:CRC16 Prüfungen
  • ASCII:LRC Prüfungen
  • TCP:MBAP 头Analyse

③ Fehler.检测

  • CRC/LRC PrüfungenFehler.提示
  • MeldungLänge异常提醒
  • Illegale Funktionen码警告

1.5 历史记录

Funktion说明

① 自动保存

每次生成的Meldung自动保存,包含:

  • Meldung内容
  • 生成Zeit
  • Typ der Nachricht(Bitte/Antwort)

② 快捷Operationen

  • Kopieren.:Eine KopieMeldung
  • 微信Teilen:Senden Sie给同事
  • Leeren:Beseitigung历史记录

③ Klassifizierung管理

  • BitteBefehl历史
  • AntwortMeldung历史
  • Unterteilung别管理,清晰明了

1.6 Meldung结构可视化

Funktion说明

生成的每个Meldung,都附带结构Analyse:

Beispiel(RTU Bitte):

┌─────────────────────────────────────┐
│ Meldung结构Analyse                        │
├─────────────────────────────────────┤
│ von der Station Adresse (Slave Address): 01        │
│ Funktionscode (Function Code): 03          │
│ Ausgang Adresse (Start Address): 0000      │
│ Anzahl (Quantity): 000A               │
│ CRC-Prüfung (CRC Check): C40B          │
└─────────────────────────────────────┘

Beispiel(TCP Bitte):

┌─────────────────────────────────────┐
│ Meldung结构Analyse                        │
├─────────────────────────────────────┤
│ Transaktionsidentifikator (Transaction ID): 0001   │
│ Protokoll-Bezeichner (Protocol ID): 0000      │
│ Länge (Length): 0006                 │
│ Einheitenidentifikator (Unit ID): 01            │
│ Funktionscode (Function Code): 03          │
│ Ausgang Adresse (Start Address): 0000      │
│ Anzahl (Quantity): 000A               │
└─────────────────────────────────────┘

二、实战案例:工程师的真实使用Szene

案例 1:LesenTemperatur-SensorDaten

Szene

  • Ausrüstung:某品牌Temperatur变送器
  • Kommunikation:RS485(Modbus RTU)
  • 需求:Lesen 10 个通道的Temperatur值

传统方式

  1. 查手册:保持Register-Adresse 40001-40010
  2. 手动BerechnungMeldung:
    • von der Station Adresse:01
    • Funktionscode:03
    • Ausgang Adresse:40001-1=40000=0x9C40
    • Anzahl:10=0x000A
    • CRC-Prüfung:手动算或用Online-Tools
  3. 用Serien-TestAssistenten.Senden Sie
  4. 收zuAntwort,手动Analyse

耗时:15-20 Unterteilung钟

使用Werkzeuge后

  1. Öffnen Sie das Werkzeug,Auswahl Modbus RTU
  2. 输入Parameter:
    • von der Station Adresse:01
    • Funktionscode:03
    • Ausgang Adresse:9C40
    • Anzahl:10
  3. Klicken”Anfrage generierenBefehl”
  4. Kopieren.Meldung,Senden Sie
  5. 收zuAntwort,粘贴zuAnalyse器
  6. 自动Analyse出 10 个Temperatur值

耗时:2-3 Unterteilung钟

效率提升:6-10 倍


案例 2:批Quantität设置变频器Parameter

Szene

  • Ausrüstung:某品牌变频器
  • Kommunikation:Modbus RTU
  • 需求:批Quantität设置 20 个Parameter

传统方式

  1. 逐个ParameterSchreiben eines einzelnen Registers(Funktionscode 06)
  2. 写 20 次,每次BerechnungMeldung
  3. 容易出错,重复劳动

使用Werkzeuge后

  1. AuswahlFunktionscode 10(Schreiben mehrerer Register)
  2. 添加 20 ein Register.:
    • Adresse:自动Berechnung
    • Datentyp:Auswahl
    • Zahlenwert:输入
  3. 一次生成Meldung
  4. Senden Sie,abgeschlossen.

耗时:从 1 小时 → 5 Unterteilung钟


案例 3:Tests上位机软件

Szene

  • 开发Strukturen王/WinCC 项目
  • 需要模拟 Modbus Von der StationAusrüstung
  • 测试上位机程序逻辑

使用Werkzeuge

  1. 用AntwortMeldung生成器
  2. 设置模拟Daten
  3. Erstellen von ReaktionenMeldung
  4. Senden Sie给上位机
  5. 验证程序逻辑

好处

  • 无需真实Ausrüstung
  • 可模拟各种异常
  • 提高开发效率

三、Techniken细节:工程师关心的

3.1 CRC16 Prüfungen算法

Modbus RTU 使用 CRC16(循环冗余Prüfungen):

// CRC16 Berechnung(低Bytes在前)
function calcCRC16(bytes) {
  let crc = 0xFFFF;
  for (let i = 0; i < bytes.length; i++) {
    crc ^= bytes[i];
    for (let j = 0; j < 8; j++) {
      if (crc & 0x0001) {
        crc = (crc >> 1) ^ 0xA001;
      } else {
        crc >>= 1;
      }
    }
  }
  return crc; // 低Bytes在前
}

Beispiel

Meldung:01 03 00 00 00 0A
CRC:C4 0B(低Bytes在前)
vollständig:01 03 00 00 00 0A C4 0B

3.2 LRC Prüfungen算法

Modbus ASCII 使用 LRC(纵向冗余Prüfungen):

// LRC Berechnung
function calcLRC(bytes) {
  let sum = 0;
  for (let i = 0; i < bytes.length; i++) {
    sum += bytes[i];
  }
  const lrc = ((~sum) + 1) & 0xFF;
  return lrc;
}

Beispiel

Meldung:01 03 00 00 00 0A
LRC:FB
vollständig::01030000000AFB

3.3 Befehlseite问题

32 位Daten(UINT32/INT32/FLOAT)的Befehlseite:

BefehlseiteNameBeispiel(0x12345678)
ABBig Endian12 34 56 78
BALittle Endian34 12 78 56
CDABMixed56 78 12 34
BADCMixed78 56 34 12

Werkzeuge支持自动转换:

  • AuswahlBefehlseite
  • 输入Dezimalwert
  • 自动转换为Registerwert

3.4 Modbus TCP 的 MBAP 头

Modbus TCP Meldung结构:

┌─────────────────────────────────────┐
│ MBAP 头(7 Bytes)                   │
├─────────────────────────────────────┤
│ Transaktionsidentifikator(2 Bytes)                │
│ Protokoll-Bezeichner(2 Bytes)=0              │
│ Länge(2 Bytes)                      │
│ Einheitenidentifikator(1 Byte)=von der Station Adresse       │
├─────────────────────────────────────┤
│ PDU(Funktionscode + Daten)                │
└─────────────────────────────────────┘

Beispiel

00 01 00 00 00 06 01 03 00 00 00 0A
│  │  │  │  │  │  │  │  │  │  │  │
│  │  │  │  │  │  │  │  │  │  │  └─ Anzahl低Bytes
│  │  │  │  │  │  │  │  │  └─────── Anzahlhohe Bytes
│  │  │  │  │  │  │  │  └────────── Ausgang Adresse低Bytes
│  │  │  │  │  │  │  └───────────── Ausgang Adressehohe Bytes
│  │  │  │  │  │  └──────────────── Funktionscode
│  │  │  │  │  │  └──────────────── Einheitenidentifikator
│  │  │  │  │  └─────────────────── Länge(6 Bytes)
│  │  │  │  └────────────────────── Protokoll-Bezeichner(0=Modbus)
│  │  │  └───────────────────────── Transaktionsidentifikator低Bytes
│  │  └──────────────────────────── Transaktionsidentifikatorhohe Bytes
└─────────────────────────────────── MBAP 头

四、用户反馈:工程师怎么说

反馈 1:自动化工程师(5 Jahr经验)

“以前手动算 Modbus Meldung,经常算错。现在用这个Werkzeuge,点几下就生成,CRC 自动Berechnung,太方便了!效率至少提升 5 倍。”

反馈 2:电气工程师(10 Jahr经验)

“支持三种Vereinbarung,不用WechselnWerkzeuge了。特别是 TCP 的 MBAP 头,以前老是搞混,现在自动生成,不会错。”

反馈 3:PLC 工程师(8 Jahr经验)

“AntwortMeldung生成器很好用,模拟Von der StationAusrüstung测试 PLC 程序,无需真实Ausrüstung,开发效率提高很多。”

反馈 4:Tests工程师(3 Jahr经验)

“历史记录Funktion很实用,昨天调好的Meldung,今天直接Kopieren.,不用重新算。微信Teilen也很方便,发给同事一起Tests。”


五、写在最后

我做这个Werkzeuge,不是为了取代工程师。

而是为了解放人力。

让工程师不再手动BerechnungMeldung,不再记复杂的公式,不再为 CRC-Prüfung发愁。

让大家把Zeit花在更有价值的事情上:

  • Das System架构设计
  • 控制逻辑优化
  • 现场问题解决

Werkzeuge不是敌人,而是帮手。

善用Werkzeuge的工程师,会淘汰不用Werkzeuge的工程师。

希望这个Werkzeuge能帮zumehr.同行。


附录:使用方式

使用方式 1:微信扫码

 

Modbus 工程师必备神器!RTU/TCP/ASCII Meldung生成Analyse器,效率提升 10 倍插图

使用方式 2:Mikro-Suche

Suche nach”Modbus TestsAssistenten.”


关于Der Autor

20 JahrIndustrielle Automatisierung经验,待过Ausrüstung厂商、集成商、甲方。

现专注于Das industrielle Internet der Dinge、边缘Berechnung、智能控制。

欢迎交流:


如果觉得有用,欢迎 点赞 + 在看 + 转发 支持一下!

转发给mehr.电气工程师,一起用Werkzeuge提效!

Techniken术语(共 12 个)—— Klick auf展开
Modbus RTU基于串行链路的ModbusVereinbarung,使用BinärsystemCodierung和CRC-Test
Modbus TCP基于Ethernet的ModbusVereinbarung变体,使用TCP/IP传输
Modbus ASCII使用ASCIICharaktere传输的ModbusVereinbarung,以冒Nr.开头、CR/LF结尾
RS485工业常用的schlechtUnterteilung串行Kommunikation标准,支持多点Kommunikation
RS232点对点串行Kommunikation标准,常用于短距离AusrüstungKommunikation
FunktionscodeModbusFunktionscode指定读/写OperationenTypus,如01读线圈、03Lesen Sie das Register
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
PLC可编程逻辑Der Controller,Industrielle Automatisierung控制的核心Ausrüstung
Die SerieBerechnung机与外部Ausrüstung进行串行Kommunikation的物理Schnittstelle
Der Sensor将物理Quantität转换为电信Nr.的检测装置
线圈Modbus位可读Schreiben von Daten,Adresse从00001开始
保持Register.Modbus 16位可读Schreiben von Daten,Adresse从40001开始
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Geräte-Register - Handbuch 字数 6005 字 · 阅读约 16 Unterteilung钟 更新 2026-06-30 永久链接 https://www.modbus.cn/41694.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.