PROTOCOLE MODBUS
6
6.1 Informations générales relatives au protocole
En mode de transmission au format RTU (Remote Terminal Unit), les données sont transmises
sous forme de caractères binaires à 8 bits. Le début et la fin d'une trame de message ne sont
pas identifiés par des caractères spécifiques.
La synchronisation est assurée par une période de silence de 3,5 caractères au minimum avant
la transmission de la trame suivante et par un silence de 1,5 caractère entre les différents
caractères d'une même trame.
6.2 Format de trame RTU
Le format des trames de requête et de réponse varie légèrement selon la fonction de
commande. La forme de base est présentée ci-dessous.
Fonction de commande
Période de silence
Adresse esclave
Code de fonction
Adresse de début de
registre ou comptage
d'octets si requis
Nombre de points ou
d'octets de données si
requis.
CRC
8
Format de trame
3,5 x T
8 bits
8 bits
8 bits comptage d'octets
Adresse à 16 bits
n × 8 bits
16 bits
www.krohne.com
Description
Toutes les transmissions doivent être précédées d'une
période de silence mini de 3,5 x T, sachant que T est le
temps de transmission pour un seul caractère. Ceci peut
être calculé à partir du débit de transmission (baud rate) :
par ex. à 19,2 kb sans parité avec 1 bit d'arrêt (10 bits),
T = 520 µs.
Ceci est une adresse d'esclave à un octet qui est
transmise en premier et qui doit être au sein de la plage
de 1...247. L'adresse 0 est réservée à une adresse de
diffusion que tous les esclaves doivent reconnaître et qui
par conséquent ne nécessite aucune réponse.
Ceci est un code à huit bits dans la plage de 1...255 bien
qu'il n'existe que 126 fonctions et que les codes 129...255
représentent une condition d'erreur. Une condition
d'erreur se produit lorsque l'esclave adressé n'accepte
pas la commande, auquel cas il répond avec le code de
fonction + 128, donc avec son MSB à 1.
Adresse de début de registre : pour une commande de
Adresse de début de registre :
Adresse de début de registre :
Adresse de début de registre :
requête qui exige des données en retour, ce champ
contient l'adresse de début à 16 bits du registre (des
données) à retourner.
Noter que le convertisseur de mesure utilise des adresses
de protocole. Pour cette raison, l'adresse de registre
indiquée est le numéro actuel requis dans la commande
Modbus.
Par ex. :
Par ex. :
Par ex. : pour accéder au registre d'entrée 30006,
Par ex. :
l'adresse de début de registre est 30006déc = 7536hexa.
Comptage d'octets : de manière générale, cette fonction
Comptage d'octets :
Comptage d'octets :
Comptage d'octets :
n'est contenue que dans les trames qui transmettent des
données ; sa valeur est égale au nombre d'octets contenus
dans le champ de données. Le champ de données est
limité à un maximum de 250 octets.
Nombre de points : pour une commande de requête qui
Nombre de points :
Nombre de points :
Nombre de points :
éxige des données en retour, ce champ contient le nombre
de registres à retourner indépendamment de leur taille en
bits.
Octets de données : contient les données demandées. Le
Octets de données :
Octets de données :
Octets de données :
convertisseur de mesure peut utiliser le format Big Endian
(MSB en premier) ou le format Little Endian (LSB en
presmier).
Ce champ comporte un code CRD à 16 bits qui est calculé
sur tous les bits de données des octets du message.
02/2013 - 4002580401 - AD Modbus IFC 050 R01 fr
IFC 050