• Daten:
Die Daten setzen sich zusammen aus der Speicherregisteradresse (Test-
code für Kommunikationstest) und dem Dateninhalt des Registers. Die
Datenlänge hängt von der Menge der gesendeten Befehle ab.
• Fehlerprüfung:
Fehler werden während der Kommunikation über CRC-16 erfasst.
CRC-16 (cyclic redundancy check-16, zyklische Redundanzprüfung) ist ein
Checksummen-Prüfverfahren, um Fehler bei der Datenübertragung zu erken-
nen.
Das Ergebnis der Checksummenberechnung wird in einem 16-Bit-Datenwort
gespeichert, dessen Anfangswert auf FFFFH gesetzt wird. Mittels Exklusiv-
Oder-Verknüpfungen und Schiebeoperationen mit dem zu übertragenden
Datenpaket (Slave-Adresse, Funktionscode, Daten) und dem festeingestell-
ten Wert A001H wird dieser Anfangswert manipuliert. Am Ende der Berech-
nung enthält das Datenwort die Checksumme.
Die einzelnen Berechnungsschritte sehen wie folgt aus:
1. Zur Berechnung der Checksumme das 16-Bit-Datenwort auf den
Anfangswert FFFFH setzen.
2. Exklusiv-Oder-Verknüpfung (Ex-OR) mit der Slave-Adresse und die-
sem Anfangswert durchführen.
3. Ergebnis um eine Stelle nach rechts verschieben. Solange verschie-
ben, bis das Überlauf-Bit auf der rechten Seite eine 1 ist.
4. Ist dieses Bit 1, muß eine Ex-OR-Verknüpfung mit dem festeingestell-
ten Datenwort A001H durchgeführt werden.
5. Wenn insgesamt 8 Verschiebungen durchgeführt wurden (jedesmal,
wenn das Überlaufbit 1 ist, muß eine erneute Ex-OR-Verknüpfung wie
in Schritt 4 durchgeführt werden), dieses Ergebnis mit dem nächsten
Teil des Datenpakets (8 Bit des Funktionscodes) Ex-OR verknüpfen.
Das Ergebnis ebenfalls 8 mal nach rechts verschieben und gegebe-
nenfalls wieder mit dem festeingestellten Datenwort Ex-OR verknüp-
fen.
6. Diese Schritte immer erst mit dem höherwertigen und dann mit dem
niederwertigen Byte der Daten wiederholen, bis alle verarbeitet sind.
7. Das Ergebnis besteht auch aus einem höher- und einem niederwerti-
gen Byte, die an das Datenpaket angefügt werden.
MEMOBUS-Datenkommunikation
-61
6