Description d'en-tête mbap – Basler Electric BE1-11 Modbus Protocol Manuel d'utilisation
Page 10

4
9424270774 Rev B
Figure 2. Requête/Réponse Modbus via TCP/IP
Modbus TCP/IP ADU
ADU TCP/IP Modbus
MDAP Header
En-tête MBAP
Function Code
Code de fonction
Data
Données
PDU
PDU
Un en-tête spécifique est utilisé sur le réseau TCP/IP pour identifier l'unité de données d'application
Modbus. Il est appelé l'en-tête MBAP (en-tête de protocole d'application Modbus).
Cet en-tête donne quelques différences par rapport à l'unité de données d'application RTU Modbus
utilisée sur une ligne série :
•
Le champ « Adresse d'esclave » de Modbus habituellement utilisé sur une ligne série Modbus est
remplacé par un octet unique « Identifiant de l'unité » dans l'en-tête MBAP. L'« Identifiant de
l'unité » est utilisé pour communiquer via des dispositifs tels que des ponts, des routeurs et des
passerelles qui utilisent une adresse IP unique pour prendre en charge plusieurs unités
terminales indépendantes Modbus.
•
Toutes les requêtes et les réponses Modbus sont conçues de manière à ce que le destinataire
puisse vérifier qu'un message est terminé. Pour les codes de fonction pour lesquels l'unité de
données du protocole Modbus a une longueur fixe, le code de fonction seul est suffisant. Pour les
codes de fonction transmettant une quantité variable de données dans la requête ou la réponse,
le champ de données indique un nombre d'octets.
•
Lorsque Modbus est transmis via TCP, les informations supplémentaires concernant la longueur
sont incluses dans l'en-tête MBAP pour permettre au destinataire de reconnaître les limites de
message, même si le message a été divisé en plusieurs paquets pour la transmission.
L'existence de règles de longueur explicites et implicites et l'utilisation d'un code de vérification
d'erreur CRC-32 (via Ethernet) permettent de réduire presque à néant le risque de corruption non
détectée d'un message de requête ou de réponse.
Description d'en-tête MBAP
L'en-tête MBAP comprend les champs répertoriés dans le Tableau 2.
Tableau 2. Champ d'en-tête MBAP
Champs
Longueur
Description
Client
Serveur
Identifiant de
transaction
2 bits
Identification d'une transaction
de requête/réponse Modbus.
Lancée par le
client.
Reproduite par le
serveur à partir de la
requête reçue.
Identifiant de
protocole
2 bits
0 = protocole Modbus.
Lancée par le
client.
Reproduite par le
serveur à partir de la
requête reçue.
Longueur
2 bits
Nombre d'octets consécutifs.
Lancée par le
client
(requête).
Lancée par le
serveur (réponse).
Identifiant de
l'unité
1 octet
Identification d'un esclave à
distance connecté à une ligne
série ou à d'autres bus.
Lancée par le
client.
Reproduite par le
serveur à partir de la
requête reçue.
PDU
ADU TCP/IP Modbus
Code de
fonction
Données
En-tête MBAP
Informations générales
BE1-11