Beschreibung der mbap kopfzeile, Tabelle 2. mbap kopfzeilenfelder – Basler Electric DGC-2020HD Modbus Protocol Benutzerhandbuch

Seite 10

Advertising
background image

4

9469375991 Rev A

Allgemeine Informationen

DGC-2020HD Modbus

™ Protokoll

Über TCP/IP wird eine dedizierte Kopfzeile verwendet, um die Modbus Anwendungsdateneinheit zu
identifizieren. Sie wird als MBAP Kopfzeile (Modbus Application Protocol Header) bezeichnet.

Diese Kopfzeile weist einige Unterschiede im Vergleich zur RTU Anwendungsdateneinheit auf, die für
eine serielle Leitung verwendet wird:

Das Feld 'Slave Adresse' des Modbus, das normalerweise auf einer seriellen Modbus Leitung
verwendet wird, wird durch eine 1-Byte 'Gerätekennung' (Unit Identifier) in der MBAP Kopfzeile
ersetzt. Die 'Gerätekennung' wird dazu verwendet, über Geräte wie Brücken, Router und
Gateways zu kommunizieren, die eine einzelne IP Adresse verwenden, um mehrere
unabhängige Modbus Endgeräte zu unterstützen.

Alle Modbus Anforderungen und Antworten wurden so entworfen, dass der Empfänger
verifizieren kann, dass die Nachricht abgeschlossen ist. Für Funktionscodes, bei denen die
Modbus PDU eine feste Länge hat, reicht der Funktionscode alleine aus. Für Funktionscodes, die
in Anforderung und Antwort eine variable Menge an Daten transportieren, beinhaltet das
Datenfeld eine Byte-Zählung.

Wird Modbus über TCP übertragen, werden von der MBAP Kopfzeile zusätzliche
Längeninformationen transportiert, die es dem Empfänger ermöglichen, die Grenzen der
Nachricht zu erkennen, auch wenn die Nachricht für den Transport in mehrere Pakete aufgeteilt
wurde. Die Existenz von expliziten und implizierten Längenregeln und die Verwendung einer
CRC-32 Fehlerprüfung (im Ethernet) führt zu einer an infinitesimalen Chance einer unerkannten
Datenkorruption an einer Anforderungs- oder Antwortnachricht.

Beschreibung der MBAP Kopfzeile

Die MBAP Kopfzeile beinhaltet die in Tabelle 2 aufgelisteten Felder.

Tabelle 2. MBAP Kopfzeilenfelder

Felder

Länge

Beschreibung

Client

Server

Transaktionskennung 2 Bytes Identifikation einer

Modbus
Anforderung/Antwort
Transaktion.

Initiiert vom
Client.

Vom Server
wieder aus der
erhaltenen
Anforderung
kopiert.

Protokollkennung

2 Bytes 0 = Modbus-Protokoll.

Initiiert vom
Client.

Vom Server
wieder aus der
erhaltenen
Anforderung
kopiert.

Länge

2 Bytes Anzahl der folgenden

Bytes.

Initiiert vom
Client
(Anforderung).

Initialisiert vom
Server
(Antwort).

Gerätekennung

1 Byte

Identifizierung eines
externen Slave,
angeschlossen über
eine serielle Verbindung
oder andere Busse.

Initiiert vom
Client.

Vom Server
wieder aus der
erhaltenen
Anforderung
kopiert.

Die Kopfzeile hat eine Länge von 7 Byte:

Transaktionskennung – Verwendet für die Bildung von Transaktionspaaren; der Modbus Server
kopiert die Transaktionskennung der Anforderung in die Antwort.

Protokollkennung - Verwendet für Multiplexing innerhalb des Systems. Das Modbus-Protokoll
wird durch den Wert 0 identifiziert.

Länge – Eine Byte-Zählung der folgenden Felder, einschließlich der Gerätekennung und der
Datenfelder.

Advertising