Anhang
B.6 CRC-Berechnung
Nur der als internes Broadcast-Signal gesendete Durchflusswert wird geprüft. Die erwartete
Broadcastrate wird beim Einschalten gelesen. Wenn nach der zehnfachen Zeitspanne der
erwarteten Broadcast-Rate kein Broadcast-Signal empfangen wird, wird die Broadcast-Rate
erneut aus dem USM ausgelesen (sie kann sich seit dem Einschalten geändert haben). Wenn
sich die Broadcast-Rate nicht geändert hat (und nicht null war), wird die Betriebsanzeige auf AUS
gesetzt. Der Empfang von 10 Broadcast-Werten (Durchflusswerten) innerhalb des 10-Fachen
der erwarteten Zeitspanne setzt die Betriebsanzeige wieder auf den TRUE-Wert.
B.6
CRC-Berechnung
Das Cyclical Redundancy Checking (CRC)-Feld besteht aus zwei Bytes und enthält einen 16-Bit-
Binärwert. Der CRC-Wert wird zunächst vom sendenden Gerät erzeugt. Dieses hängt den CRC-
Wert an die Nachricht an. Das empfangende Gerät berechnet den CRC-Wert beim Empfang der
Nachricht neu und vergleicht den berechneten Wert mit dem im CRC-Feld empfangenen Wert.
Wenn die beiden Werte nicht identisch sind, wird ein Fehler registriert.
Nachstehend finden Sie eine kurze erläuternde Beschreibung der CRC-Berechnung. Dieser
Beschreibung folgt ein Programmierbeispiel in C.
CRC-Berechnung
1. Laden eines 16-Bit-Registers mit FFFF Hex (alle 1). Benennung als CRC-Register.
2. EXKLUSIV-ODER-Verknüpfung des ersten 8-Bit-Bytes mit dem niederwertigen Byte des 16-
Bit-CRC-Registers und Eintragung des Ergebnisses in das CRC-Register.
3. Verschiebung des CRC-Registers um ein Bit nach rechts (Richtung niedrigstwertiges Bit),
dabei Nullsetzung des höchstwertigen Bits. Extrahierung und Prüfung des niedrigstwertigen
Bits.
4. (Falls das niedrigstwertige Bit 0 war): Wiederholung von Schritt 3 (d. h., eine weitere
Verschiebung). (Falls das niedrigstwertige Bit 1 war): EXKLUSIV-ODER-Verknüpfung des CRC-
Registers mit dem polynomischen Wert 0xA001 (1010 0000 0000 0001).
5. Wiederholung der Schritte 3 und 4, bis 8 Verschiebungen durchgeführt wurden. Ergebnis
dieser 8 Verschiebungen ist ein vollständiges
6. 8-Bit-Byte.
7. Wiederholung der Schritte 2 bis 5 für das nächste 8-Bit-Byte der Nachricht. Fortsetzung, bis
alle Bytes erstellt wurden.
8. Im Endergebnis enthält das CRC-Register den CRC-Wert.
9. Wenn das CRC in die Nachricht eingesetzt wird, müssen die höherwertigen und
niederwertigen Bytes wie unten beschrieben umgelagert werden.
Platzierung des CRC in der Nachricht
Bei der Übermittlung des 16-Bit-CRC (d. h. der zwei 8-Bit-Bytes) innerhalb der Nachricht wird
zuerst das niederwertige Byte übertragen, dann das höherwertige Byte.
70
Modbus RTU RS 485
Betriebsanleitung, 03/2021, A5E03089262-AB