Vous êtes sur la page 1sur 16

Communication

Modbus
Les API utilisent largement le
protocole série « Modbus ».
Pas de conflit : 1 maître et plusieurs
esclaves.
1
 Caractéristique du Modbus
 Caractéristique des liaisons
 Principe des échanges Modbus
 Adressage
 Trame d’ échange question/réponse
 Format général d’une trame
 Support de transmission
 Services supportés par Modbus

2
Caractéristiques du Modbus -1
 2 modes de transmission des messages :
ASCII ou RTU
 Choix de la vitesse de transmission
De 50 bits/s à 19200 bits/s

 Choix de la parité

3
Caractéristiques du Modbus -2
 Le protocole MODBUS ne définit que la
structure des messages et leur mode
d’échange.
 On peut utiliser n’importe quel support de
transmission RS 232, RS 422 ou RS 485,
mais la liaison RS 485 est la plus
répandue car elle autorise le
«multipoints».

4
Caractéristiques des liaisons
 Liaison simplex
 Unidirectionnelle
 Les données sont transmises dans un seul sens.
 Liaison half duplex
 bidirectionnelle
 La transmissionest possible dans les 2 sens, mais
pas simultanément.
 Liaison full duplex
 bidirectionnelle
 Les données sont reçues ou transmises
simultanément dans les 2 sens.

La liaison Modbus est une liaison half duplex


5
Principe des échanges Modbus
Modbus est un bus de terrain industriel.

Maître

Réponse
Question Question
Question
Réponse Réponse

Esclave 1 Esclave 2 Esclave 3

Modbus est un protocole de communication


hierarchisé : un maître, des esclaves.

6
Adressage -1
 Le maître envoie une demande à l’esclave et
attend une réponse.

Maître

Réponse
Question
Esclave 1 Esclave 2 Esclave 3

 Deux esclaves ne peuvent dialoguer ensemble.


7
Adressage -2
 Le maître diffuse un message à tous les
esclaves, il n’attend pas de réponse.
Maître

Question

Esclave 1 Esclave 2 Esclave 3

8
Trame d’échange question/réponse -1

 La question [maître esclave]


Données La question a
complémentaires été transmise
Type d’action pour exécuter correctement ?
demandée l’action

N° Code Information spécifique Mot de contrôle


d’esclave fonction concernant la demande
1 octet 1 octet n octets 2 octets

9
Trame d’échange question/réponse -2

 La réponse [esclave maître]

N° Code Données reçues Mot de contrôle


d’esclave fonction
1 octet 1 octet n octets 2 octets

Le message a été transmis correctement


10
Trame d’échange question/réponse -3

 La réponse [esclave maître]


 Si une erreur apparaît : le code fonction
est modifié, les données contiennent un
code d’exception permettant de
connaître le type d’erreur

N° Code Code d’exception Mot de contrôle


d’esclave fonction
1 octet 1 octet 1 octet 2 octets

11
Format général d’une trame -1
 Type ASCII, chaque octet composant une
trame est codé avec 2 caractères ASCII
(2 fois 8 bits).

Start Adresse Fonction Données LRC End

1 caractère 2 caractères 2 caractères 2 caractères 2 caractères 2 caractères

12
Format général d’une trame -2
 Type RTU (Unité Terminale Distante), chaque
octet composant une trame est codé avec 2
caractères hexadécimaux (2 fois 4 bits).
Start Adresse Fonction Données CRC End
Silence 1 octet 1 octet n octets 2 octets Silence

Note : Le mode ASCII permet d’avoir des intervalles de plus d’une seconde
entre les différents caractères sans que cela ne génère d’erreurs, alors que
le mode RTU permet un débit plus élevé pour une même vitesse de
transmission.
13
Support de transmission
 Chaque octet composant un message est
transmis en mode RTU, avec ou sans parité,
comme suit :
Start Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 parité Stop

Message du maître Réponse de l’esclave

Délai de 3 à 5 fois le temps de


transmission d’un mot.

14
Services Code
$ 01
Nature des Fonctions MODBUS
Lecture de n bits de sortie consécutifs
$ 02 Lecture de n bits de sortie consécutifs
supportés $ 03 Lecture de n mots de sortie consécutifs
$ 04 Lecture de n mots consécutifs d’entrée

par Modbus $ 05
$ 06
Ecriture de 1 bit de sortie
Ecriture de 1 mot de sortie
$ 07 Lecture du statut d’exception
 Les 19 fonctions $ 08 Accès au compteur de diagnostic
$ 09 Téléchargement, télé déchargement et mode de marche
possibles sur Modbus $ 0A Demande de CR de fonctionnement

sont codées sur 1 octet $ 0B Lecture du compteur d’événements


$ 0C Lecture des évènements de connexion
en hexadécimal, tous $ 0D Téléchargement, télé déchargement et mode de marche

les équipements ne $ 0E Demande de CR de fonctionnement


$ 0F Ecriture de n bits de sortie
supportent pas toutes $ 11 Ecriture de n mots de sortie
$ 12 Lecture d’identification
les fonctions $ 13 Téléchargement, télé déchargement et mode de marche
$ 14 Reset de l’esclave après erreur non recouverte

15
Fin…

16