Modbus-Protokoll-Parser
Modbus RTU/ASCII/TCP-Kommunikation analysieren, konvertieren und debuggen
Bitte Daten eingeben
Modbus-Protokoll-Referenz
Modbus ist das am weitesten verbreitete industrielle Kommunikationsprotokoll, das 1979 von Modicon entwickelt wurde. Es ermöglicht die Kommunikation zwischen elektronischen Geräten über serielle Leitungen (RTU) oder Ethernet (TCP/IP). Dieses Tool hilft Ingenieuren beim Debuggen und Analysieren von Modbus-Kommunikation ohne spezielle Hardware oder Software.
Modbus RTU Rahmenstruktur
Modbus RTU (Remote Terminal Unit) überträgt Daten im Binärformat über serielle Verbindungen wie RS-232 oder RS-485. Jeder Rahmen enthält eine Slave-Adresse, einen Funktionscode, Daten und eine 16-Bit-CRC-Prüfsumme zur Fehlererkennung. Das kompakte Binärformat macht RTU effizient für bandbreitenbeschränkte Umgebungen.
1 byte
1 byte
N bytes
2 bytes
Modbus RTU Frame Structure
Modbus TCP Rahmenstruktur
Modbus TCP kapselt RTU-Rahmen in TCP/IP-Pakete mit einem 7-Byte MBAP (Modbus Application Protocol) Header. Dieser Header enthält eine Transaktions-ID für die Anfrage-Antwort-Zuordnung, Protokollkennung (immer 0 für Modbus), Nachrichtenlänge und Unit-ID. TCP-Kommunikation verwendet standardmäßig Port 502.
2 bytes
2 bytes
2 bytes
1 byte
1 byte
N bytes
Modbus TCP Frame Structure (MBAP Header + PDU)
Häufige Funktionscodes
Funktionscodes definieren den Operationstyp in einer Modbus-Anfrage. Leseoperationen (01-04) rufen Spulenzustände oder Registerwerte ab, während Schreiboperationen (05, 06, 0F, 10) Gerätedaten ändern. Jeder Funktionscode hat spezifische Datenformatanforderungen.
| Code | Funktion | Typ |
|---|---|---|
| 0x01 | Coils lesen | Lesen |
| 0x02 | Diskrete Eingänge lesen | Lesen |
| 0x03 | Holding-Register lesen | Lesen |
| 0x04 | Eingangsregister lesen | Lesen |
| 0x05 | Einzelnen Coil schreiben | Schreiben |
| 0x06 | Einzelnes Register schreiben | Schreiben |
| 0x0F | Mehrere Coils schreiben | Schreiben |
| 0x10 | Mehrere Register schreiben | Schreiben |
Byte-Ordnung in Modbus
Verschiedene PLC-Hersteller verwenden unterschiedliche Byte-Ordnungen für 32-Bit und 64-Bit Werte. Die vier üblichen Anordnungen sind: Big Endian (ABCD) - Standard-Netzwerkordnung; Little Endian (DCBA); Mid-Big Endian (BADC); und Mid-Little Endian (CDAB). Bei falschen Werten verschiedene Byte-Ordnungen ausprobieren, um die korrekte Interpretation zu finden.
CRC-16/Modbus Algorithmus
Modbus RTU verwendet CRC-16 mit Polynom 0x8005 und Initialwert 0xFFFF zur Fehlererkennung. Der CRC wird über Slave-Adresse, Funktionscode und Datenbytes berechnet, dann mit Low-Byte zuerst angehängt. Ein Rahmen mit falschem CRC sollte vom Empfänger verworfen werden.
Praktische Anwendungen
- Kommunikationsfehler zwischen PLCs und SCADA-Systemen durch Analyse von Roh-Paketdaten beheben
- Registerwerte während der Inbetriebnahme durch Konvertierung von Hex-Daten in technische Einheiten verifizieren
- Testbefehle für Gerätevalidierung ohne dedizierte Modbus-Master-Software generieren
- Byte-Ordnungsprobleme bei der Integration von Geräten verschiedener Hersteller debuggen
Verwandte Tools
CRC-Rechner
Berechnen Sie CRC-8, CRC-16, CRC-32, CRC-64 Prüfsummen mit Unterstützung für Modbus, CCITT und andere Protokollstandards
Online Serielle-Schnittstellen-Debugger
Browser-basiertes serielles Debugging-Tool - kein Download erforderlich, Echtzeit-Überwachung über Web Serial API
Zahlenbasis-Konverter
Konvertieren zwischen binären, oktalen, dezimalen und hexadezimalen Zahlensystemen mit Unterstützung für benutzerdefinierte Basen (2-36)
Text-Kodierungs-Konverter
Konvertieren Sie Text zwischen Hex, Binär, Unicode, ASCII, Base64 und vielen anderen Kodierungsformaten