.
3
Busprotokoll
3.1
Aufbau eines Übertragungsbytes
Das MODBUS - Protokoll wurde ursprünglich zur Kommunikation zwischen einem Leitsystem und der
Modicon-Steuerung definiert. Genutzt wird eine Master-Slave-Struktur, in der nur ein Gerät (Master)
Datentransaktionen (Queries) auslösen kann. Weitere Geräte (Slaves) beantworten die Nachricht (Response) des
Masters mit den angefragten Daten.
Der Master kann gezielt einen Slave über dessen MODBUS-Adresse ansprechen oder über eine allgemeine Nachricht
(Broadcast) alle angeschlossenen Slaves benachrichtigen.
Das MODBUS-Protokoll bestimmt das Übertragungsformat der Datenanfrage und der Datenantwort. Die
Funktionscodes definieren die auszuführende Aktionen in den Slaves.
Im Gerät wird das MODBUS-Protokoll im RTU (Remote Terminal Unit)- Mode genutzt, d. h. jedes gesendete
Nachrichtenbyte enthält zwei hexadezimale Zeichen (0..9, A..F).
Der Aufbau eines Bytes im RTU-Protokoll ist folgendermaßen:
Startbit
3.2
Genereller Nachrichtenaufbau
Die Nachricht wird in einen Datenbuffer mit einer maximal definierten Länge eingelesen. Längere Nachrichten werden
nicht akzeptiert. Es erfolgt keine Antwort durch das Gerät.
Die Nachricht setzt sich aus folgenden Elementen zusammen:
Geräteadresse
•
Geräteadresse (Addr)
Die Geräteadresse spezifiziert das Gerät. Geräteadressen können im Bereich von 1 - 127 vergeben werden.
Die Geräteadresse 0 wird als Broadcast-Message verwendet. Eine Broadcast-Message kann für Schreibaufträge
vergeben werden. Sie werden von allen Geräten am Bus ausgeführt. Da alle Geräte den Auftrag ausführen,
erfolgt keine Antwort durch die Geräte.
•
Funktionscode
Der Funktionscode definiert den Typ einer Nachricht. Die MODBUS-Spezifikation definiert über 17 verschiedene
Funktionscodes. Die von dem Gerät unterstützten Funktionscodes werden im Kapitel "Funktionscodes" (r S. 19)
beschrieben.
•
Data
Der Datenblock beinhaltet die weitere Spezifikation der Aktion, die mit dem Funktionscode definiert wird. Die
Länge des Datenblocks ist abhängig vom Funktionscode.
•
CRC
Als weitere Fehlererkennung (nach der Paritätsbiterkennung) wird ein 16 Bit Cyclical Redundancy Check (CRC)
durchgeführt. Der CRC-Code stellt sicher, das Übertragungsfehler erkannt werden können. Weitere Informationen
siehe Kapitel "CRC" (r S. 18).
•
Endekennung
Das Ende einer Nachricht wird definiert durch eine Zeit von 3,5 Zeichen, in der kein Datentransfer stattgefunden
hat. Weitere Informationen siehe Kapitel "Endekennung" (r S. 18).
g
Weitere Informationen sind in den in [1] genannten Dokumenten oder unter http://www.modbus.org zu finden.
KS 50-1 MODBUS
8-Datenbits
Funktionscode
1 Byte
1 Byte
Paritäts-/Stoppbit
Data
N * 1 Byte
17
Stoppbit
CRC
Endekennung
2 Bytes
Aufbau eines Übertragungsbytes
Busprotokoll