Crc fehlerprüfung – Basler Electric DGC-2020HD Modbus Protocol Benutzerhandbuch

Seite 17

Advertising
background image

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.


Advertising