Herunterladen Inhalt Inhalt Diese Seite drucken

Dcrc-Berechnung - Siemens SITRANS FC410 Betriebsanleitung

Coriolis durchflussmessgeräte
Vorschau ausblenden Andere Handbücher für SITRANS FC410:
Inhaltsverzeichnis

Werbung

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, tritt ein Fehler auf.
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
3. Verschiebung des CRC-Registers um ein Bit nach rechts (Richtung niedrigstwertiges Bit),
4. (Falls das niedrigstwertige Bit 0 war): Wiederholung von Schritt 3 (d. h., eine weitere
5. Wiederholung der Schritte 3 und 4, bis 8 Verschiebungen durchgeführt wurden. Ergebnis
6. Wiederholung der Schritte 2 bis 5 für das nächste 8-Bit-Byte der Nachricht. Fortsetzung,
7. Im Endergebnis enthält das CRC-Register den CRC-Wert.
8. Wenn das CRC in die Nachricht eingesetzt wird, müssen die höherwertigen und
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.
Beispiel: Der CRC-Wert ist 1241 Hex (0001 0010 0100 0001). Dies ergibt:
Adr
Funkt
SITRANS FC410 mit Modbus
Betriebsanleitung, 12/2013, A5E33124885-001
16-Bit-CRC-Registers und Eintragung des Ergebnisses in das CRC-Register.
dabei Nullsetzung des höchstwertigen Bits. Extrahierung und Prüfung des
niedrigstwertigen Bits.
Verschiebung). (Falls das niedrigstwertige Bit 1 war): EXKLUSIV-ODER-Verknüpfung des
CRC-Registers mit dem polynomischen Wert 0xA001 (1010 0000 0000 0001).
dieser 8 Verschiebungen ist ein vollständiges Byte aus 8 Bits.
bis alle Bytes erstellt wurden.
niederwertigen Bytes wie unten beschrieben umgelagert werden.
Daten-
Daten n
Zählung
Daten n+1
Daten n+2
Daten n+x
CRC LO
0x41
D
CRC HI
0x12
153

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis