Herunterladen Inhalt Inhalt Diese Seite drucken

Slave-Adresse; Crc-16-Algorithmus - Digital Energy C30 Bedienungsanleitung

Inhaltsverzeichnis

Werbung

B.1 MODBUS-RTU-PROTOKOLL
SLAVE-ADRESSE: Dies ist die Adresse des Slave-Geräts, an den das vom Master gesendete Paket gerichtet ist und
das die gewünschte Aktion ausführen soll. Jedes Slave-Gerät an einem Kommunikationsbus muss eine eindeutige
Adresse besitzen, sodass Übertragungskonflikte auf dem Bus verhindert werden. Alle Schnittstellen eines
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-
B
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.
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.
B-2
C30 Steuerungssystem
ANHANG B
B.1.4 CRC-16-ALGORITHMUS
GE Multilin

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für Digital Energy C30

Inhaltsverzeichnis