Anhang
14.8 RS485: Modbus RTU-Telegrammaufbau
14.8.1 Modbus RTU-Telegrammaufbau
Eine Modbus RTU-Meldung wird vom sendenden Gerät in
einen Block gepackt, der einen bekannten Anfangs- und
Endpunkt besitzt. Dadurch ist es dem empfangenden Gerät
möglich, am Anfang der Meldung zu beginnen, den
Adressenabschnitt zu lesen, festzustellen, welches Gerät
adressiert ist (oder alle Geräte, im Fall einer Broadcast-
Meldung) und festzustellen, wann die Meldung beendet
ist. Unvollständige Meldungen werden ermittelt und als
Konsequenz Fehler gesetzt. Die für alle Felder zulässigen
Zeichen sind im Hexadezimalformat 00-FF. Der Frequen-
zumrichter überwacht kontinuierlich den Netzwerkbus,
auch während des Silent-Intervalls. Wenn das erste Feld
(das Adressfeld) empfangen wird, wird es von jedem
Frequenzumrichter oder jedem einzelnen Gerät
entschlüsselt, um zu ermitteln, welches Gerät adressiert ist.
Modbus RTU-Meldungen mit Adresse 0 sind Broadcast-
Meldungen. Auf Broadcast-Meldungen ist keine Antwort
erlaubt. Ein typischer Meldungsblock wird in Tabelle 14.12
gezeigt.
Start
Adresse
Funktion
T1-T2-T3-
8 Bit
8 Bit
T4
Tabelle 14.12 Typischer Modbus RTU-Telegrammaufbau
14.8.2 Start-/Stoppfeld
Telegramme beginnen mit einer Sendepause von
mindestens 3,5 Zeichen pro Zeiteinheit. Dies entspricht
einem Vielfachen der Baudrate, mit der im Netzwerk die
Datenübertragung stattfindet (in der Abbildung als Start
T1-T2-T3-T4 angegeben). Das erste übertragene Feld ist die
Geräteadresse. Nach dem letzten übertragenen Zeichen
markiert ein identisches Intervall von mindestens 3,5
Zeichen pro Zeiteinheit das Ende der Meldung. Nach
diesem Intervall kann eine neue Meldung beginnen. Der
gesamte Meldungsblock muss als kontinuierlicher
Datenstrom übertragen werden. Falls eine Sendepause von
mehr als 1,5 Zeichen pro Zeiteinheit vor dem Abschluss
des Blocks auftritt, löscht das empfangende Gerät die
Daten und nimmt an, dass es sich beim nächsten Byte um
das Adressfeld einer neuen Meldung handelt. Beginnt ein
neues Telegramm früher als 3,5 Zeichen pro Zeiteinheit
nach einem vorangegangenen Telegramm, interpretiert es
das empfangende Gerät als Fortsetzung des vorange-
gangenen Telegramms. Dies führt zu einem Timeout (keine
Antwort vom Follower), da der Wert im letzten CRC-Feld
(Cyclical Redundancy Check) für die kombinierten
Telegramme nicht gültig ist.
MG16C303
Projektierungshandbuch
Daten
CRC-
Ende
Prüfung
N x 8 Bit
16 Bit
T1-T2-T3-
T4
Danfoss A/S © 11/2017 Alle Rechte vorbehalten.
14.8.3 Adressfeld
Das Adressfeld eines Meldungsblocks enthält acht Bits.
Gültige Adressen von Follower-Geräten liegen im Bereich
von 0–247 dezimal. Die einzelnen Follower-Geräte
entsprechen zugewiesenen Adressen im Bereich von 1-247
(0 ist für den Broadcast-Modus reserviert, den alle Follower
erkennen). Ein Master adressiert ein Follower-Gerät, indem
er die Follower-Adresse in das Adressfeld des Telegramms
einträgt. Wenn das Follower-Gerät seine Antwort sendet,
trägt es seine eigene Adresse in das Adressfeld der
Antwort ein, um den Master zu informieren, welches der
Follower-Geräte antwortet.
14.8.4 Funktionsfeld
Das Feld für den Funktionscode eines Meldungsblocks
enthält acht Bits. Gültige Codes liegen im Bereich von 1 bis
FF. Funktionsfelder dienen zum Senden von Telegrammen
zwischen Master und Follower. Wenn ein Telegramm vom
Master zu einem Follower-Gerät übertragen wird, teilt das
Funktionscodefeld dem Follower mit, welche Aktion
durchzuführen ist. Wenn der Follower dem Master
antwortet, nutzt er das Funktionscodefeld, um entweder
eine normale (fehlerfreie) Antwort anzuzeigen oder um
anzuzeigen, dass ein Fehler aufgetreten ist (Ausnahme-
antwort). Im Fall einer normalen Antwort wiederholt der
Follower den ursprünglichen Funktionscode. Im Fall einer
Ausnahmeantwort sendet der Follower einen Code, der
dem ursprünglichen Funktionscode entspricht, dessen
wichtigstes Bit allerdings auf eine logische 1 gesetzt wurde.
Neben der Modifizierung des Funktionscodes zur
Erzeugung einer Ausnahmeantwort stellt der Follower
einen individuellen Code in das Datenfeld des Antworttele-
gramms. Dadurch wird der Master über die Art des Fehlers
oder den Grund der Ausnahme informiert. Siehe
Kapitel 14.9.1 Von Modbus RTU unterstützte Funktionscodes.
14.8.5 Datenfeld
Das Datenfeld setzt sich aus Sätzen von je 2 hexade-
zimalen Zeichen im Bereich von 00 bis FF (hexadezimal)
zusammen. Diese Folgen bestehen aus einem RTU-Zeichen.
Das Datenfeld des von einem Master zu Follower-Geräten
gesendeten Telegramms enthält zusätzliche Informationen,
die der Follower verwenden muss, um die vom Funkti-
onscode festgelegte Aktion durchführen zu können. Dazu
gehören z. B. Spulen- oder Registeradressen, die Anzahl der
zu bearbeitenden Punkte oder die Zählung der Istwert-
Datenbytes im Feld.
14
14
241