3.9
Fehlermeldungen
3.9.1
Modbus-Fehlercodes
Das Slave-Gerät antwortet nicht
In folgenden Fällen antwortet der Slave nicht:
•
Baudrate und/oder Datenformat von Master und Slave stimmen nicht überein
•
verwendete Geräteadresse stimmt nicht mit der im Protokoll enthaltenen Slave-Adresse überein
•
Checksumme (CRC) ist nicht korrekt
•
Anweisung des Masters ist unvollständig oder überdefiniert
•
Anzahl der zu lesenden Worte ist Null
In diesen Fällen sollte die Datenfrage nach Ablauf der Timeout-Zeit von ca. 1 s erneut gesendet werden.
Fehlercodes
Wurde die Datenanfrage des Masters vom Slave ohne Übertragungsfehler empfangen, konnte aber
nicht bearbeitet werden, antwortet der Slave mit einem Fehlercode. Folgende Fehlercodes können auf-
treten:
•
01 = ungültige Funktion
•
02 = ungültige Adresse oder zu große Zahl von Worten soll gelesen oder geschrieben werden
•
08 = Wert ist schreibgeschützt
Antwort im Fehlerfall
Slave-Adresse
1 Byte
Der Funktionscode wird mit 0x80 ODER-verknüpft. Dadurch wird das höchstwertige Bit (MSB) auf 1 ge-
setzt.
Beispiel
Datenanfrage:
01
Slave
Antwort:
01
Slave
Die Antwort enthält den Fehlercode 08, weil die Adresse 0x4802 schreibgeschützt ist.
3 Modbus-Protokollbeschreibung
Funktion XX OR 80h
1 Byte
06
48 02
Wort schreiben
Wortadresse
86
08
Funktion OR
Fehler
Fehlercode
1 Byte
00 01
Wort-Wert
43 A6
CRC
Checksumme CRC
2 Byte
FE 6A
CRC
23