Basler Electric DECS-250 Manuel d'utilisation

Page 240

Advertising
background image

224

9440370990 Rev H

Cet en-tête présente certaines différences par rapport à l'unité des données d'application Modbus RTU
utilisée sur une ligne série :

Le champ Adresse de l'esclave Modbus généralement utilisé sur une ligne série Modbus est
remplacé par un identifiant d'unité à un seul octet dans l'en-tête MBAP. Cet identifiant permet de
communiquer via des dispositifs tels que ponts, routeurs et passerelles qui utilisent une seule
adresse IP pour prendre en charge plusieurs unités d'extrémité de Modbus indépendantes.

Toutes les requêtes et réponses Modbus sont conçues de sorte que le destinataire peut vérifier
qu'un message est bien terminé. Pour les codes de fonction où le PDU Modbus est de longueur
fixe, le code de fonction seul est suffisant. Pour les codes de fonction comportant un nombre
variable de données dans la requête ou la réponse, le champ de données indique le nombre
d'octets.

Lorsque Modbus est transmis via TCP, des informations supplémentaires concernant la longueur
sont ajoutées dans l'en-tête MBAP afin de permettre aux destinataires de reconnaître les limites
du message, même si celui-ci a été divisé en plusieurs paquets pour la transmission. L'existence
de règles de longueur explicites et implicites, ainsi que l'utilisation d'un code de vérification
d'erreurs CRC-32 (sur Ethernet) réduit à une proportion infinitésimale le risque
d'endommagements non détectés d'un message de requête ou de réponse.

Description de l'en-tête MBAP

L'en-tête MBAP contient les champs répertoriés dans le Tableau 20.

Tableau 20. Champs de l'en-tête MBAP

Champs

Longueur

Description

Client

Serveur

Identifiant de
la transaction

2 octets

Identification d'une
transaction de
requête/réponse Modbus.

Initié par le
client.

Recopié par le
serveur à partir
de la requête
reçue.

Identifiant du
protocole

2 octets

0 = protocole Modbus.

Initialisé par
le client.

Recopié par le
serveur à partir
de la requête
reçue.

Longueur

2 octets

Nombre d'octets consécutifs.

Initialisé par
le client
(requête).

Initialisé par le
serveur
(réponse).

Identifiant
d'unité

1 octet

Identification d'un esclave
déporté connecté sur une
ligne série ou sur d'autres
réseaux.

Initialisé par
le client.

Recopié par le
serveur à partir
de la requête
reçue.

L'en-tête a une longueur de 7 octets :

Identifiant de la transaction : utilisé pour le jumelage de la transaction, le serveur Modbus copie
l'identifiant de la transaction de la requête dans la réponse.

Identifiant du protocole : utilisé pour le multiplexage intra-système. Le protocole Modbus est
identifié par la valeur 0.

Longueur : nombre d'octets des champs suivants, y compris l'identifiant d'unité et les champs de
données.

Identifiant d'unité : utilisé à des fins de routage intra-système. Il permet en général la
communication vers un esclave Modbus ou un esclave de ligne série Modbus via une passerelle
située entre un réseau TCP/IP Ethernet et une ligne série Modbus. Ce champ est défini par le
client Modbus dans la requête et doit comporter la même valeur dans la réponse envoyée par le
serveur.

Remarque : Toutes les unités ADU Modbus/TCP sont envoyées via TCP sur le port enregistré 502.

Communication Modbus™

DECS-250

Advertising