Modbus TCP — Telegrammgenerator und Parser
TCP-Telegramme erstellen und analysieren. MBAP-Header, Funktionscodes und Registerdaten prüfen.
Modbus-TCP-Anfrage erstellen
Modbus TCP Antwort-Nachrichtengenerator
Datentyp
Byte-Reihenfolge
Wert(Dezimalwert)
Modbus-TCP-Telegramm analysieren
Parsing-Regeln konfigurieren
Index
Byte-Offset
Datentyp
Rohdaten
Byte-Reihenfolge
Sortierte Daten
Parser-Ergebnis
Aktionen
Eine Regel hinzufügen, um Werte aus den Nutzdaten zu dekodieren.
Benutzerhandbuch
Telegramme erstellen und untersuchen
TCP-Anfragen und Beispielantworten erstellen, MBAP-Felder prüfen und Registerdaten dekodieren. Für den Datenaustausch mit Geräten einen separaten TCP-Client verwenden.
Hauptfunktionen:
- Anfragen für acht gängige Lese- und Schreibfunktionen erstellen.
- Beispielantworten für Tests und Vergleiche erstellen.
- Nutzdaten anhand von Byte-Offsets, Datentypen und Byte-Reihenfolge dekodieren.
Anleitung zum Befehlsgenerator
- Unit-ID: den vom TCP-Gerät oder Gateway geforderten Wert verwenden.
- Transaktions-ID: 0–65535; der Server übernimmt sie in die Antwort.
- Funktionscodes: 01/02/03/04/05/06/15/16 dezimal; 15 und 16 entsprechen 0x0F und 0x10.
- Startadresse: nullbasierter Protokolloffset, keine Referenznummer wie 40001.
- Anzahl: die zu lesenden oder zu schreibenden Bits beziehungsweise 16-Bit-Register.
- Beispiele für TCP-Befehle:
- TCP-Lesebefehl: 00 01 00 00 00 06 01 03 00 00 00 02 (MBAP-Header + PDU)
- TCP-Schreibbefehl: 00 01 00 00 00 06 01 06 00 00 00 01 (MBAP-Header + PDU)
- Erläuterung des MBAP-Headers: Transaktions-ID (00 01) + Protokoll-ID (00 00) + Länge (00 06) + Unit-ID (01)
Beispielantwort erstellen
- Denselben Funktionscode wie in der Anfrage wählen.
- Registerwerte als Ganzzahlen mit oder ohne Vorzeichen oder als IEEE-754-Werte hinzufügen.
- ABCD, DCBA, BADC oder CDAB passend zum Gerät wählen.
- TCP-Transaktions-ID: Muss mit der Transaktions-ID im Anfragebefehl übereinstimmen
- TCP-Unit-ID: Entspricht der Unit-ID im Anfragebefehl
- Beispiele für TCP-Antworten:
- TCP-Leseantwort: 00 01 00 00 00 07 01 03 04 00 01 00 02 (MBAP-Header + Antwort-PDU)
- TCP-Schreibantwort: 00 01 00 00 00 06 01 06 00 00 00 01 (MBAP-Header + Bestätigungs-PDU)
- Hinweis: Die Transaktions-ID in der TCP-Antwort muss mit der Anfrage übereinstimmen; das Längenfeld wird automatisch berechnet
Aufgezeichnetes Telegramm dekodieren
- Ein vollständiges Telegramm des ausgewählten Formats einfügen.
- Für jeden benötigten Wert eine Regel mit passendem Byte-Offset anlegen.
- Ganzzahl- oder IEEE-754-Typ aus der Registertabelle wählen. Hex-Konverter
- Die Byte-Reihenfolge des Geräts einstellen.
- Felder eines TCP-Telegramms:
- Transaktions-ID, Protokoll-ID, Länge und Unit-ID im MBAP-Header prüfen.
- Modbus TCP hängt keine CRC oder LRC an das Anwendungstelegramm an.
- TCP-Rahmenformat: MBAP-Header (7 Bytes) + Funktionscode (1 Byte) + Daten (n Bytes)
- Protokoll-ID 0x0000 prüfen; die Länge muss Unit-ID und PDU-Bytes umfassen.
- Beispiel für TCP-Parsing:
- Eingabe: 00 01 00 00 00 07 01 03 04 00 01 00 02
- Geparst: Transaktions-ID=1, Protokoll-ID=0, Länge=7, Unit-ID=1, Funktionscode=03, Daten=00 01 00 02
- Gespeicherte RTU-Leseantworten in der seriellen Diagnose mit Datenquelle Datei analysieren.