MODBUS-BEFEHLE
Die Befehle für die Vorgänge Lesen/Schreiben folgen diesem Format (8 Byte):
Slaveadresse
1 byte
•
Slaveadresse. Legt fest, auf welches System zugegriffen werden soll. Die Adressen sind 1 bis 247. Die Adresse 0 ist für
die Übertragung an alle Geräte reserviert (Broadcast).
•
Operationscode. Zeigt an, welche Funktion durch den Befehl ausgeführt werden soll.
•
Datensatzadresse. Legt die Datensatzadresse fest, auf die zugegriffen werden soll. Bei Befehlen über mehrere
Datensätze legt sie den Start-Datensatz fest, ab dem nacheinander die Funktion ausgeführt wird.
•
Daten. Besteht aus 2 Bytes (einfache Funktionen) oder Blöcken von 2 Bytes (Mehrfachfunktionen); sie enthalten die
Informationen des Befehls.
•
CRC. Am Ende des Datenrahmens werden 2 Byte angehängt, die Fehler bei der Übertragung oder beim Empfang
erkennen sollen. Dazu wird die Methode der zyklischen Redundanzprüfung (cyclic redundant code) verwendet.
Das Generatorpolynom ist: CRC-16 = x
SCHREIBBEFEHLE
Schreiben eines einzigen Datensatzes
Sofern keinerlei Fehler auftritt, muss die Antwort genau dasselbe Format wie der Schreibbefehl haben.
Schreiben mehrerer Datensätze
Operationscode
Datensatzadresse
1 byte
16
+ x
15
+ x
2
+ 1.
Byte
0
Systemadresse (1-247) (0: Broadcast)
1
Schreiben eines einzigen Datensatzes (6)
2
Datensatzadresse
3
4
Zu schreibende Daten
5
6
CRC
7
Byte
0
Systemadresse (1-247) (0: Broadcast)
1
Schreiben mehrerer Datensätze (16)
2
Start-Datensatz-Adresse
3
Anzahl der zu schreibenden Datensätze (N)
4
5
Anzahl der Schreibbytes insgesamt (2·N)
6
Im Datensatz 1 zu schreibende Daten
7
5+2·N
Im Datensatz N zu schreibende Daten
6+2·N
7+2·N
CRC
8+2·N
Daten
1 byte
1...2·N bytes
Feld
Feld
...
CRC
2 bytes
47
ES
EN
FR
IT
PT
DE