Das Modbus-Protokoll (Modbus/TCP)
I
8
Protokollaufbau
0 0
8.2
Protokollaufbau
8.2.1
Header
90
Das Modbus-Protokoll besteht aus einem Header und den Function Code-Daten. Der
Header ist für alle Request- und Response-Telegramme sowie Fehlermeldungen
(Exceptions) gleich, daran angehängt sind je nach Function Code eine unterschiedlich
große Anzahl Daten (siehe folgendes Bild).
MBAP Header
Transaction-ID
Protocol-ID
In der folgenden Tabelle sind die Protokollbytes des Headers beschrieben.
Byte
Bezeichnung
0
Transaction Identifier
1
2
Protocol Identifier
3
4
Length field (upper byte)
5
Length field (lower byte)
6
Unit Identifier (Slave
Address)
7
Function Code
8 ...
Data
•
Der Transaction Identifier (Byte 0 und 1) wird einfach vom Slave kopiert. Er kann
dem Master dazu dienen, zusammenhängende Aktionen zu identifizieren.
•
Der Protocol Identifier (Byte 2 und 3) muss immer "0" sein.
•
Die Längenbytes (Byte 4 und 5) geben die Anzahl der auf das Length field folgenden
Bytes an. Da die maximale Telegrammlänge 255 Bytes beträgt, muss das "upper
byte" "0" sein.
•
Der Unit Identifier (Byte 6) kann dazu genutzt werden, mehrere angeschlossene Teil-
nehmer (z. B. Bridges oder Gateways) zu unterscheiden. Er hat die Funktion einer
Subadresse, die bei SEW-Geräten nur für den Parameterzugriff genutzt wird. Die
Prozessdaten werden immer im Gerät abgebildet, das über den Unit Identifier 0 oder
FF
angesprochen wird.
hex
Eine schematische Darstellung des Parameterzugriffs auf unterlagerte Geräte finden
Sie im Kapitel "Anhang".
•
Nach den 7 Bytes des Headers folgen Function Code und Daten.
Handbuch – Feldbusschnittstelle DFE33B EtherNet/IP und Modbus/TCP
Length (1+1+N)
UI-D
FC
Bedeutung
Oft "0", wird vom Server (Slave) einfach kopiert
0
0
Anzahl der Function Codes Data Bytes + 1 (Unit identifier)
Dies ist die Slave-Adresse. Sie muss für den Zugriff auf die
Prozessdaten der DFE33B auf "0" (0x00) oder 255 (0xFF)
eingestellt werden.
Beim Zugriff auf den Parameterkanal (Offset 200 - 203
folgende Adresszuweisungen:
•
0 oder 255 für Parameter des MOVIDRIVE
Option DFE33B in ein MOVIDRIVE
•
0 oder 255 für Parameter des DFE3B-Gateways selbst
•
1 - 63 für Parameter eines über SBus an das DFE33B-
Gateways angeschlossenen Geräts.
Unit Identifier = SBus-Adresse.
Gewünschter Dienst
Daten je nach gewünschtem Dienst
Function Code-Data
N Data
64064AXX
) gelten
hex
®
B, wenn die
®
B eingebaut ist.