Herunterladen Inhalt Inhalt Diese Seite drucken

Modbus Rtu Nachrichtentelegramm; Crc Prüfung - küenle CM-232 Betriebsanleitung

Inhaltsverzeichnis

Werbung

6.7.1.3

Modbus RTU Nachrichtentelegramm

Eine Modbus Nachricht wird von einem sendenden Gerät in ein Telegramm gefügt, das einen
festgelegten Anfangs- und Endpunkt hat. Dies ermöglicht empfangenden Geräten den Beginn
und das Ende der Nachricht zu erkennen. Teilnachrichten müssen erkannt und als Ergebnis ein
Fehler gesetzt werden. In der Betriebsart RTU werden Nachrichtentelegramme durch ein Ru-
heintervall von mindestens 3,5 Zeichen voneinander getrennt.
Start
Adresse
>= 3,5 Zei-
8 Bits
chen
Das gesamte Nachrichtentelegramm muss als zusammenhängender Zeichenfluss übertragen
werden.
Falls ein Ruheintervall von mehr als 1,5 Zeichen zwischen zwei Zeichen auftritt, wird das
Nachrichtentelegramm als unvollständig gekennzeichnet und vom Frequenzumrichter verwor-
fen.
6.7.1.4
CRC Prüfung
Die Betriebsart RTU enthält ein Fehlerprüffeld, welches auf einer zyklischen Blockprüfung
(CRC – Cyclic Redundancy Check) der Nachrichteninhalte basiert.
Das CRC-Feld prüft den Inhalt der gesamten Nachricht. Dies wird ungeachtet einer Paritäts-
prüfung durchgeführt, welche die einzelnen Zeichen der Nachricht prüft.
Das CRC-Feld enthält einen 16-Bit Wert, ausgeführt als zwei Bytes (je 8 Bit).
Das CRC-Feld wird als letztes Feld an die Nachricht angehängt. Es wird in der Reihenfolge
„niederwertiges Byte", „höherwertiges Byte" angefügt. Das CRC höherwertige Byte ist das
letzte Byte, das mit der Nachricht gesendet wird.
Der CRC-Wert wird vom sendenden Gerät berechnet und an die Nachricht angehängt. Das
empfangende Gerät berechnet während des Empfangs der Nachricht einen CRC-Wert und
vergleicht den berechneten Wert mit dem aktuell empfangenen Wert des CRC-Feldes. Sind
die beiden Werte nicht gleich, wird ein Fehler ausgelöst.
Die CRC Berechnung beginnt mit dem Anfangsladen eines 16-Bit Registers mit allen Einer-
komplementen (0xFFFF). Danach werden nacheinander die Bytes der Nachricht mit dem ak-
tuellen Inhalt des Registers verknüpft.
Während der Erzeugung des CRC wird jedes 8-Bit Zeichen über eine ExOR (Exclusiv-ODER)-
Funktion mit dem Registerinhalt verknüpft. Das Ergebnis wird in Richtung des niederwer-
tigsten Bit (LSB – least significant bit) geschoben und eine Null in das höherwertigste Bit (MSB
– most significant bit) geschrieben. Das niederwertigste Bit (LSB) wird herausgezogen und ge-
prüft. Falls das LSB eine 1 ist, wird das Register mit dem festen Wert
verknüpft. Falls das LSB eine 0 ist, erfolgt keine ExOR-Verknüpfung.
Dieser Ablauf wird wiederholt, bis acht Verschiebungen durchgeführt wurden. Nach der letz-
ten (der achten) Verschiebung wird das nächste 8-Bit Zeichen mit dem aktuellen Registerwert
ExOR-verknüpft; der Ablauf wird acht mal wiederholt, wie oben beschrieben. Der endgültige
Inhalt des Registers nach dem Durchlauf aller Bytes der Nachricht ist der CRC-Wert.
Zuerst wird das niederwertige Byte und dann das höherwertige Byte des CRC-Wertes an die
Nachricht angehängt.
KFU 2-/4-
MODBUS Nachricht
Funktion
Daten
8 Bits
N x 8 Bits
30
CRC
Ende
16 Bits
>= 3,5 Zeichen
0xA001
EXOR-

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für küenle CM-232

Diese Anleitung auch für:

Cm-485

Inhaltsverzeichnis