Crc fehlerprüfung – Basler Electric DGC-2020HD Modbus Protocol Benutzerhandbuch
Seite 17
9469375991 Rev A
11
DGC-2020HD Modbus
™ Protokoll
Allgemeine Informationen
K+2 (Lo Byte)
hex 00
K+3 (Hi Byte)
hex 00
K+3 (Lo Byte)
hex 00
Die gleiche Byte Anordnung wird zum Schreiben benötigt.
CRC Fehlerprüfung
Dieses Feld enthält einen zwei Byte langen CRC-Wert für das Erkennen von Übertragungsfehlern. Das
Master-Gerät berechnet zuerst den CRC-Wert und hängt diesen dann an die Abfragenachricht. Das
DGC-2020HD System berechnet den CRC-Wert für die empfangene Abfrage nochmals und nimmt einen
Vergleich vor mit dem Abfrage-CRC-Wert um festzustellen, ob ein Übertragungsfehler vorliegt. In diesem
Fall wird keine Antwortnachricht erzeugt. Falls kein Übertragungsfehler aufgetreten ist, berechnet das
Slave-Gerät einen neuen CRC-Wert für die Rückmeldung und hängt sie an die Nachricht zur
Übertragung.
Die CRC-Berechnung wird mit Hilfe aller Byte der Geräteadresse-, Funktionscode- und Datenblock-
Felder durchgeführt. Ein 16-bit-CRC-Register wird bei allen Einsen initialisiert. Danach wird jedes Acht-Bit
Byte der Nachricht im folgenden Algorithmus verwendet:
Zuerst erfolgt die Exklusiv-ODER-Berechnung des Nachrichtenbyte mit dem niederwertigen Byte des
CRC-Registers. Das Ergebnis wird im CRC-Register gespeichert und wird danach achtmal nach rechts
verschoben. Bei jedem Verschieben wird das MSB des CRC-Registers mit Nullen aufgefüllt. Nach jedem
Verschieben wird das LSB des CRC-Registers geprüft. Falls das LSB eine 1 ist, erfolgt die Exklusiv-
ODER-Berechnung des CRC-Registers mit dem festen polynomischen Wert A001 (hex) vor dem
nächsten Verschieben. Sobald alle Bytes der Nachricht den obigen Algorithmus durchlaufen haben,
enthält das CRC-Register den Nachrichten-CRC-Wert, der in das Fehlerprüffeld einzutragen ist.