3.2.1 CRC
Bei dem CRC handelt es sich um ein 16-Bit Wert, der der Nachricht angehängt wird. Er dient zur Feststellung, ob die
Übertragung einer Nachricht fehlerfrei erkannt wurde. Zusammen mit der Paritätskontrolle sollten alle möglichen
Übertragungsfehler erkannt werden.
gWird beim Empfang ein Paritätsfehler erkannt, so wird keine Antwortnachricht generiert.
Der Algorithmus zur Erzeugung des CRC ist folgendermaßen:
ÜCRC-Register mit FFFFhex laden.
*Exklusiv- ODER Verknüpfung des ersten Sende/Empfangsbyte mit dem Low-Teil des CRC-Registers;
Ergebnis in CRC speichern
ÖCRC-Register um 1 Bit nach rechts schieben; MSB mit 0 auffüllen
äWenn das hinausgeschobene Bit eine 0 ist, dann Schritt 3 wiederholen.
Wenn das hinausgeschobene Bit eine 1 ist, dass CRC-Register mit dem Wert A001hex Exklusiv-ODER
verknüpfen.
#Schritt 3 und 4 für die anderen 7 Datenbits wiederholen.
<Schritt 2 bis 5 für alle weiteren Sende/Empfangsbyte wiederholen.
>Ergebnis des CRC-Registers an die Nachricht anhängen. Zuerst den Low-Teil, dann den High-Teil.
Bei der Kontrolle einer Empfangsnachricht ergibt sich im CRC-Register eine 0, wenn die Nachricht inklusive
des CRC bearbeitet wird.
3.2.2 Endekennung
Die Endekennung einer Nachricht ist spezifiziert als Ruhesituation auf dem MODBUS mit einer Länge von 3,5 Zeichen.
Nach dem Verstreichen dieser Zeit darf ein Slave frühestens mit seiner Antwort beginnen oder ein Master frühestens
eine neue Nachricht aussenden.
Die Auswertung einer Nachricht darf bereits beginnen, wenn erkannt wird, dass die Ruhebedingung auf den MODBUS
für mehr als 1,5 Zeichen aufgetreten ist. Eine Antwort wird jedoch frühestens nach 3,5 Zeichen gestartet.
3.3 Sendeprinzipien
Es werden bei MODBUS zwei Übertragungsmodi angewandt:
•Unicast - Modus
•Broadcast - Modus
Im Unicast-Modus adressiert der Master ein individuelles Gerät, das nach Empfang der Nachricht diese abarbeitet und
eine Antwort erzeugt. Die Geräteadresse kann von 1 bis 247 variieren. Eine Nachricht besteht immer aus einer Anfrage
(request) und einer Antwort (response). Trifft keine Antwort innerhalb einer festzulegenden Zeit ein, so wird Timeout
erkannt.
Im Broadcast-Modus sendet der Master einen Schreibbefehl (request) an alle Teilnehmer am Bus, die jedoch keine
Antwort generieren. Die Adresse 0 ist für Broadcast-Nachrichten reserviert.
3.4 Verzögerung der Antwort (dELY)
Manche Geräte benötigen bei der Umschaltung zwischen Sende- und Empfangsbetrieb eine Verzögerung. Die
eingestellte Verzögerung wirkt zusätzlich zu den 3,5 Zeichen, die am Ende einer Nachricht gewartet werden muss,
bevor eine Antwort generiert wird. Sie wird in ms eingestellt.
3.5 Modem-Betrieb (C.dEL)
Die Endeerkennung einer empfangenen MODBUS-Nachricht kann um die Zeit C.del [in ms] verlängert werden. Diese
Zeit wird u.a. benötigt, wenn bei einer Modemübertragung Nachrichten nicht kontinuierlich transferiert werden können
(kein schlupffreier Betrieb).
- vorläufig - Busprotokoll
rail line Sendeprinzipien 16