Herunterladen Inhalt Inhalt Diese Seite drucken

Crc-16-Algorithmus - GE F60 Bedienungsanleitung

Abgangschutz
Inhaltsverzeichnis

Werbung

B.1 MODBUS-RTU-PROTOKOLL
Schutzgerätes besitzen dieselbe Adresse, die von 1 bis 254 programmierbar ist; nähere Einzelheiten dazu sind in
Kapitel 5 beschrieben. Nur der adressierte Slave reagiert auf ein Paket, das mit seiner Adresse beginnt. Eine Aus-
nahme bildet der Schnittstelle an der Bedienfront; dieser reagiert auf Nachrichten für alle Slave-Adressen.
Ein Master-Übertragungspaket mit Slave-Adresse 0 bedeutet einen Broadcastbefehl. Alle Slaves in der Kommunika-
tionsverbindung führen die betreffende Aktion anhand des Pakets aus, senden aber keine Antwort an den Master. Der
Broadcastmodus wird nur erkannt, wenn er mit dem Funktionscode 05h assoziiert ist. Bei jedem anderen Funk-
tionscode wird ein Paket mit Broadcastmodus Slave-Adresse 0 ignoriert.
B
FUNKTIONSCODE: Dies bezieht sich auf einen der unterstützten Funktionscodes des Gerätes, die dem Slave mitteilt,
welche Aktion er ausführen soll. Weitere Informationen finden Sie im Abschnitt Unterstützte Funktionscodes. Eine
Fehlermeldung vom Slave wird dadurch gekennzeichnet, dass das höchstwertige Bit im Funktionscode des Antwort-
pakets gesetzt ist. Siehe Abschnitt Fehlermeldung für weitere Informationen.
DATEN: Dabei handelt es sich um eine variable Anzahl von Bytes in Abhängigkeit vom Funktionscode. Dazu gehören
unter anderem Istwerte, Einstellungen oder Adressen, die vom Master an den Slave oder vom Slave an den Master
gesendet werden.
CRC, zyklische Redundanzprüfung: Hierbei handelt es sich um einen zwei Byte langen Fehlerprüfcode. Die RTU-
Version von Modbus enthält eine zyklische Redundanzprüfung von 16 Bit Länge (CRC-16) mit jedem Paket. Diese
Methode der Fehlererkennung ist ein Industriestandard. Empfängt ein Modbus Slave Gerät ein Paket, das durch die
zyklische Redundanzprüfung (CRC) als fehlerhaft markiert ist, erfolgt vom Slave-Gerät keine Reaktion oder Antwort
auf das Paket, sodass fehlerhafte Vorgänge vermieden werden. Siehe Abschnitt CRC-16-Algorithmus für weitere
Informationen zur Berechnung der CRC-Prüfsumme.
PAUSENZEIT: Ein Paket wird abgeschlossen, wenn über einen Zeitraum, der der Übertragung von 3,5 Bytes
entspricht (ca. 15 ms bei 2400 bit/s, 2 ms bei 19200 bit/s und 300 µs bei 115200 bit/s) keine Daten empfangen werden.
Demzufolge darf das Sendegerät zwischen einzelnen Bytes keine längeren Zwischenräume zulassen als dieses Inter-
vall. Läuft die Pausenzeit ohne Übertragung eines neuen Bytes ab, warten alle Slaves auf ein neues Paket vom Mas-
ter außer für den adressierten Slave.
Der CRC-16-Algorithmus behandelt im wesentlichen den gesamten Datenstrom als kontinuierliche Binärzahl (nur Datenbits;
Start-, Stopp- und Paritätsbits werden ignoriert). Diese Zahl wird zuerst um 16 Bits nach links verschoben und danach durch
ein charakteristisches Polynom (11000000000000101B) dividiert. Der 16-Bit-Rest der Teilung wird an das Ende des Pakets
angehängt, beginnend mit dem MSByte. Das resultierende Paket einschließlich CRC ergibt bei Teilung durch dasselbe
Polynom beim Empfänger einen Rest von Null, wenn keine Übertragungsfehler aufgetreten sind. Für diesen Algorithmus
muss das charakteristische Polynom in umgekehrter Bitfolge vorliegen. Das höchstwertige Bit des charakteristischen
Polynoms wird weggelassen, weil es den Wert des Rests nicht beeinflusst.
Eine in der Programmiersprache verfasste Implementierung des CRC-Algorithmus ist auf Anfrage erhältlich.
Tabelle B–2: CRC-16-ALGORITHMUS
SYMBOLE:
-->
A
Alow
Ahigh
CRC,
zyklische
Redundanz-
prüfung
i,j
(+)
N
Di
G
shr (x)
B-2
Datenübertragung
16 Bit Arbeitsregister
niederwertiges Byte von A
höchstwertiges Byte von A
16 Bit CRC-16-Ergebnis
Schleifenzähler
logischer EXKLUSIVER-ODER-Operator
Gesamtzahl der Datenbyte
i-tes Datenbyte (i = 0 bis N-1)
16 Bit charakteristisches Polynom = 1010000000000001 (binär) mit weggelassenem MSbit
und umgekehrter Bitfolge
Rechtsverschiebe-Operator (...tes LSbit von x wird in eine Carry-Flag verschoben, eine '0' wird
in das MSbit von x verschoben, alle anderen Bits werden um eine Stelle nach rechts verschoben)
F60 Abgangschutz
ANHANG B
B.1.4 CRC-16-ALGORITHMUS
GE Multilin

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis