Modbus-Adresskonverter

Rechnen Sie eine Adresse aus einer Modbus-Dokumentation (40001, 400001, Nummer ab 1 oder Offset ab 0) in die anderen Schreibweisen und den in der Anfrage übertragenen Offset um.

Modbus und serielle Verbindungen Aktualisiert Kostenlos, ohne Anmeldung

400015-stellige Referenz
4000016-stellige Referenz
1Nummer ab 1
0Ab 0, übertragen

Holding-Register, Offset 0 (0x0000).

Benachbarte Register

Offset ab 0wie angegeben
  1. 040001
  2. 140002eins darüber
  3. 240003
  4. 340004
  5. 440005
  6. 540006
  7. 640007

Lesen Sie das Nachbarregister? Handbuch und Software zählen womöglich unterschiedlich ab 0 oder 1: Prüfen Sie das benachbarte Register.

Die vier Tabellen

  • 0xSpuleneinzelne BitsLesen 01, Schreiben 05 und 15
  • 1xDiskrete Eingängeeinzelne Bits, nur lesbarLesen 02
  • 3xEingangsregister16-Bit-Wörter, nur lesbarLesen 04
  • 4xHolding-Register16-Bit-WörterLesen 03, Schreiben 06 und 16

Leseanfrage für dieses Register

  1. 03Funktion
  2. 00Adresse, High-Byte
  3. 00Adresse, Low-Byte
  4. 00Anzahl, High-Byte
  5. 01Anzahl, Low-Byte

Die führende Ziffer einer Referenz (4) wird nie übertragen: Funktion 03 wählt die Tabelle, 0x0000 ist die Adresse.

RTU-Frame für Gerät 1 mit CRC vervollständigen
Beispielwerte
Adresse in der Dokumentation
Verwendete Schreibweise
Datentabelle
Tabelle

Übertragener Offset, ab 0

0

Offset in Hexadezimal
0x0000
Nummer ab 1
1
5-stellige Referenz
40001
6-stellige Referenz
400001
Lesefunktionscode
03

Holding-Register, erkennbar an der führenden 4 der Referenz. Der Funktionscode wählt die Tabelle; die Ziffer wird nicht übertragen.

So wird es berechnet
  1. Offset = Adresse − 40001=40001 − 40001=0
  2. Hex = Offset zur Basis 16=0=0x0000

Holding-Register 40001 entspricht Adresse 0 (0x0000) in der Modbus-Anfrage.

Tipp: Wenn gelesene Werte jeweils aus dem Nachbarregister zu stammen scheinen, zählen Software und Dokumentation vermutlich unterschiedlich ab 0 oder ab 1. Prüfen Sie eine Verschiebung um eins.

Modbus-Referenz in Registeradresse umrechnen

Gerätehandbücher verwenden mehrere Schreibweisen für Modbus-Adressen: 40001, 400001, Register 1 oder Adresse 0 können dasselbe Halteregister bezeichnen. Eine Modbus-Anfrage überträgt den bei 0 beginnenden Offset von 0 bis 65535; der Funktionscode wählt die Tabelle. Für eine Referenz wie 40001 ziehen Sie die erste Referenz der Tabelle ab: 40001 − 40001 = 0. Geben Sie fünf- oder sechsstellige Referenzen genau wie im Handbuch ein; der Rechner leitet die Tabelle aus der ersten Ziffer ab. Für Nummern ab 1 oder Offsets ab 0 wählen Sie die Tabelle selbst.

5-stellige Referenz (40001)

Adresse = Referenz − 40001

Die erste Ziffer bezeichnet die Tabelle: 0 für Spulen, 1 für diskrete Eingänge, 3 für Eingangsregister und 4 für Halteregister. Ziehen Sie 00001, 10001, 30001 oder 40001 ab. Diese Schreibweise umfasst nur 9.999 Elemente je Tabelle.

6-stellige Referenz (400001)

Adresse = Referenz − 400001

Dasselbe Prinzip, aber mit Platz für 65.536 Elemente je Tabelle. Ziehen Sie 000001, 100001, 300001 oder 400001 ab.

Registernummer ab 1

Adresse = Nummer − 1

Einige Tabellen nummerieren Register ab 1, ohne die Tabelle in einer führenden Ziffer zu kennzeichnen. Register 1 entspricht Adresse 0.

Adresse ab 0

Adresse = Nummer

Entwicklerorientierte Tabellen nennen oft direkt die Adresse in der Anfrage, häufig hexadezimal.

Der Funktionscode, nicht die Adresse, wählt die Tabelle: 01 liest Spulen, 02 diskrete Eingänge, 03 Halteregister und 04 Eingangsregister. Die 4 in 40001 kennzeichnet die Funktion 03; sie wird nicht übertragen.

Beispiele: Modbus-Registeradressen

Zählerspannung bei 30001

Das Handbuch eines Zählers nennt die Phasenspannung bei 30001. Dies ist das erste Eingangsregister: Lesen Sie es mit Funktion 04 an Adresse 0.

Übertragener Offset, ab 0 0 Im Rechner öffnen

Um ein Register verschobener Lesewert bei 40108

Die Tabelle nennt einen Sollwert bei 40108. Die Anfrage verwendet daher Funktion 03 mit Adresse 107 (0x006B). Bei Adresse 108 lesen Sie das nächste Register; dieser Fehler kann einen plausiblen, aber falschen Wert liefern. Prüfen Sie zuerst ein Register mit bekanntem Wert.

Übertragener Offset, ab 0 107 Im Rechner öffnen

6-stellige Referenz jenseits von 9999

Große Tabellen verwenden sechsstellige Referenzen, weil die fünfstellige Schreibweise für Halteregister bei 49999 endet. Referenz 412001 entspricht Adresse 12000 (0x2EE0) eines Halteregisters.

Übertragener Offset, ab 0 12000 Im Rechner öffnen

Modbus-Referenzbereiche je Tabelle

Erste und letzte fünfstellige Referenz je Tabelle sowie Beginn der sechsstelligen Schreibweise. Jeder Bereich beginnt in der Anfrage bei Adresse 0.

TabelleErste 5-stellige ReferenzLetzte 5-stellige ReferenzErste 6-stellige Referenz
Spulen0000109999000001
Diskrete Eingänge1000119999100001
Eingangsregister3000139999300001
Holding-Register4000149999400001

Diese Tabelle als CSV herunterladen

Fragen zu Modbus-Registeradressen

Ist 40001 das Register mit Adresse 40001?

Nein. Es ist das erste Halteregister mit Adresse 0 in der Anfrage. Die führende 4 bezeichnet die Tabelle; der Rest zählt ab 1.

Warum ist mein Modbus-Lesewert um ein Register verschoben?

Meist werden Nummerierungen ab 0 und ab 1 verwechselt: Die Tabelle zählt ab 1 und die Software ab 0 oder umgekehrt. Wenn ein Wert aus dem Nachbarregister zu stammen scheint, verschieben Sie die Adresse um eins und vergleichen Sie.

Welcher Funktionscode liest Halteregister?

Funktion 03 liest Halteregister und 04 Eingangsregister. Funktion 06 schreibt ein einzelnes Halteregister, Funktion 16 (0x10) mehrere.

Was ist die höchste Modbus-Adresse?

65535 (0xFFFF) in jeder Tabelle, weil das Adressfeld der Anfrage 16 Bit breit ist. Fünfstellige Referenzen reichen nur für 9.999 Elemente je Tabelle; deshalb gibt es sechsstellige Referenzen.

Grenzen dieses Ergebnisses

  • Prüfen Sie Quelldaten, Gerätedokumentation und Installationsbedingungen, bevor Sie sich auf das Ergebnis verlassen.

Kontinuierlich messen

Ein ZMB bindet ein RS-485-Modbus-Gerät an das Funknetz an. Diskrete Eingänge und Eingangsregister sind nur lesbar; Spulen und Halteregister können beschreibbar sein, sofern das Gerät dies erlaubt. Das Gateway kann Modbus-Geräte auch direkt lesen.

Verwandte Leitfäden

Quellen

  1. MODBUS Application Protocol Specification V1.1b3 (öffnet in einem neuen Tab) (PDF) Modbus Organization, 2012-04-26
  2. An Introduction to Modbus (öffnet in einem neuen Tab) Modbus Organization, accessed 2026-09-14