Basler Electric DGC-2020HD Modbus Protocol Manuel d'utilisation

Page 10

Advertising
background image

4

9469370991 Rev A

General Information

DGC-2020HD Protocole Modbus

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 de fin 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 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 au maximum le risque d'endommagements non détectés
d'un message de requête ou de réponse.

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

Description de l'en-tête MBAP

Tableau 2.

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

Champs

Longueur

Description

Client

Serveur

Identifiant de
la transaction

2 octets

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

Lancé par le
client.

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

Identifiant de
protocole

2 octets

0 = protocole Modbus.

Lancé par le
client.

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

Longueur

2 octets

Nombre d'octets
consécutifs.

Lancé par le
client
(requête).

Lancé par le
serveur
(réponse).

Identifiant
d'unité

1 octet

Identification d'un esclave
distant connecté sur une
ligne série ou sur d'autres
bus.

Lancé par le
client.

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

La longueur de l'en-tête est de 7 octets :

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

Identifiant de 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 d'acheminement 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 : Tous les ADU Modbus/TCP sont envoyés via TCP sur le port enregistré 502.

Advertising