Modbus-Engineering

Wie man jede Modbus-Registerkarte richtig liest

Jedes Modbus-Gerät kommt mit einer eigenen Registerkarte – und jede hat ihre Tücken. Lernen Sie die vier Datentypen, die Lese-/Schreib-Funktionscodes und die zwei Fehler, die selbst erfahrenen Integratoren passieren.

Unabhängige technische BewertungSchaltschrankbau nach IEC 61439EU-weite Projektunterstützung
A / B
120Ω
Holding vs Input
Eine Registerkarte in vier Schritten lesen

Eine Registerkarte in vier Schritten lesen

01

Datentyp bestimmen

Prüfen Sie, ob der Wert in einer Coil, einem diskreten Eingang, einem Input- oder einem Holding-Register liegt – das bestimmt Funktionscode und Zugriffsrechte.

02

Passenden Funktionscode wählen

FC03/FC04 lesen Holding- bzw. Input-Register, FC06/FC16 schreiben einzelne oder mehrere Register. Der falsche Code liefert eine Exception statt Daten.

03

Adressierungs-Offset auflösen

Klären Sie, ob die Dokumentation Modicon-Nummern (z. B. 40001) oder die tatsächlich übertragene, 0-basierte Protokolladresse angibt – die Verwechslung ist der häufigste Integrationsfehler.

04

Byte- und Wortreihenfolge prüfen

Bei 32-Bit-Werten über zwei Register hinweg die Wortreihenfolge des Herstellers mit einem bekannten Testwert verifizieren, bevor Sie dem skalierten Ergebnis vertrauen.

Woran es in der Praxis wirklich scheitert

Woran es in der Praxis wirklich scheitert

40001 vs. 0

Die Adressierungsfalle

Die Modicon-Nummerierung beginnt bei 40001, die tatsächliche Adresse auf der Leitung ist 0-basiert – Register 40001 entspricht Protokolladresse 0. Ein Fehler hier verschiebt jeden Lesevorgang um eins.

Vier Datentypen, zwei Zugriffsrechte

Coils und diskrete Eingänge sind 1-Bit-Werte, Input- und Holding-Register sind 16-Bit-Worte. Nur Coils und Holding-Register lassen sich schreiben – Input-Daten und diskrete Eingänge sind konstruktionsbedingt nur lesbar.

Funktionscodes bestimmen die Möglichkeiten

FC01/02 lesen Coils und diskrete Eingänge, FC03/04 lesen Holding- und Input-Register, FC05/06 schreiben eine einzelne Coil bzw. ein Register, FC15/16 schreiben mehrere. Das Gerät weist jeden nicht unterstützten Code für diesen Datentyp zurück.

Die 40001/30001-Falle

Die historische Modicon-Nummerierung (40001, 30001 …) entspricht nicht der 0-basierten Adresse auf der Leitung. Prüfen Sie vor jeder Abfrage, welche Konvention das jeweilige Datenblatt verwendet.

Wortreihenfolge ist nicht genormt

Wenn zwei 16-Bit-Register einen 32-Bit-Wert bilden, unterscheiden sich Hersteller darin, welches Register das höherwertige Wort enthält. Eine falsche Annahme liefert plausibel aussehende, aber falsche Werte.

Keine eingebaute Authentifizierung

Modbus RTU und klassisches Modbus TCP wurden nie mit Sicherheit im Blick entworfen – jedes Gerät im Bus oder Netzwerk kann einen gültigen Befehl senden. Segmentierung und protokollbewusste Gateways übernehmen, was das Protokoll nicht leistet.

Optionen

Engineering-Unterstützung für Modbus-Integrationen

Wenn sich eine Registerkarte nicht wie dokumentiert verhält, prüfen unsere Ingenieure das vor der Inbetriebnahme – nicht erst bei der Verzögerung auf der Baustelle.

  • Registerkarten-Durchsicht anhand der Herstellerdokumentation
  • Prüfung von Funktionscodes und Adressierungskonvention vor der Inbetriebnahme
  • Bewertung von RS-485-Netztopologie und Terminierung
  • Kontrolle von Wortreihenfolge/Byte-Reihenfolge bei Mehrregister-Werten
  • Schaltschrankbau und Integrationsunterstützung nach IEC 61439
FAQ

Häufige Fragen

Was unterscheidet ein Holding-Register von einem Input-Register?

Beide sind 16-Bit-Worte, aber Holding-Register sind les- und schreibbar (Funktionscode 03 zum Lesen, 06/16 zum Schreiben), während Input-Register nur lesbar sind (Funktionscode 04). Diese Festlegung trifft die Geräte-Firmware – prüfen Sie im Datenblatt, welches Register den benötigten Wert enthält.

Warum zeigt mein Modbus-Wert genau das Doppelte, die Hälfte oder etwas völlig Falsches an?

Das ist fast immer eine falsche Wortreihenfolge (Endianness), wenn ein 32-Bit-Wert auf zwei 16-Bit-Register verteilt ist. Hersteller sind sich uneinig, ob das höher- oder niederwertige Wort zuerst kommt – tauschen Sie die Reihenfolge und prüfen Sie gegen einen bekannten Referenzwert.

Warum entspricht Register 40001 im Datenblatt der Adresse 0 auf der Leitung?

Das liegt an der Modbus-Historie: Die klassische Modicon-Nummerierung beginnt Holding-Register bei 40001, die tatsächlich übertragene Protokolladresse ist jedoch 0-basiert. Register 40001 = Protokolladresse 0, Register 40002 = Adresse 1 und so weiter.

Mit welchem Funktionscode schreibe ich einen Wert auf ein Modbus-Gerät?

FC06 schreibt ein einzelnes Holding-Register, FC05 eine einzelne Coil. FC16 schreibt mehrere Holding-Register in einer Transaktion, FC15 mehrere Coils. Input-Register und diskrete Eingänge lassen sich grundsätzlich nicht beschreiben – sie sind konstruktionsbedingt nur lesbar.

Hat Modbus eine eingebaute Sicherheitsfunktion?

Nein. Weder Modbus RTU noch klassisches Modbus TCP sehen in der Spezifikation Authentifizierung oder Verschlüsselung vor – jeder Knoten im Bus oder Netzwerk kann einen gültigen Befehl senden. Sicherheit muss von außen kommen: Netzsegmentierung, ein protokollbewusstes Gateway und eine strikte Zugriffsbeschränkung auf das Automatisierungsnetz.

Brauchen Sie einen zweiten Blick auf Ihre Modbus-Integration?

Unsere Ingenieure prüfen Registerkarten, Verkabelung und Inbetriebnahmepläne, bevor sie zur Verzögerung vor Ort werden. Sprechen Sie uns an.

Kontakt zu unseren Ingenieuren
Ähnliche Seiten

Ähnliche Seiten

Lade ...
Zum Seitenanfang