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

Page 10

Advertising
background image

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

Advertising