Modbus

Le bus Modbus répond aux architectures Maître/Esclave. Il a été créé par la société Modicon pour interconnecter les automates programmables. Ce protocole a 

Part of the document

Classe de terminale SI
Modbus
Table des matières1. Introduction......................................................................................................................................2
1.1. Généralités................................................................................................................................2
1.2. Principe général........................................................................................................................2
2. Liaison série RS485..........................................................................................................................3
2.1. Transmission série asynchrone.................................................................................................3
2.2. Transmission série synchrone...................................................................................................3
2.3. Câblage liaison Modbus RS485................................................................................................3
2.4. Liaison symétrique (ou différentielle)......................................................................................4
2.5. Différences majeures avec la norme RS232.............................................................................5
3. Les types de transmissions...............................................................................................................5
3.1. Transmission simplex : mono-directionnel...............................................................................5
3.2. Transmission half-duplex : bi-directionnel alterné...................................................................5
3.3. Transmission full-duplex : bi-directionnel simultané...............................................................6
4. Les supports physiques.....................................................................................................................6
4.1. Les principaux supports utilisés................................................................................................6
4.2. Quelques standards électriques en paire torsadée.....................................................................6
5. Trame modbus..................................................................................................................................7
5.1. Principe général........................................................................................................................7
5.2. Trame MODBUS RTU.............................................................................................................7
5.3. Transmission d'un message......................................................................................................8
5.4. Trame MODBUS ASCII...........................................................................................................8
6. Paramétrage de la communication Modbus.....................................................................................8
MODBUS est un protocole de communication non-propriétaire, créé en 1979 par Modicon, utilisé
pour des réseaux d'automates programmables, relevant du niveau 7 (applicatif) du Modèle OSI.
8-Modbus.odt1
Classe de terminale SI
1. Introduction
1.1. Généralités
Le bus Modbus répond aux architectures Maître/Esclave. Il a été créé par la société Modicon pour
interconnecter les automates programmables. Ce protocole a rencontré beaucoup de succès depuis
sa création du fait de sa simplicité et de sa bonne fiabilité.
Historique :
•1979 : Création de MODBUS par MODICON (Modular Digital Controller).
•1994 : Modicon fusionne avec Schneider (Telemecanique / April / Square D).
•2003 : Transfert de compétences Schneider à MODBUS-IDA.
•2004 : Pré-Standard international IEC62030.
•2004 : MODBUS/TCP leader mondial (840000 noeuds).
•2005 : MODBUS adopté en tant que standard chinois.
Domaines d'utilisation :
•Manufacturier, Infrastructures, Énergie, Bâtiment.
Applications :
•Échanges automate périphérie décentralisée. ⇔•Échanges supervision automate.
⇔1.2. Principe général
Le bus est composé d'une station Maître et de stations esclaves. Seule la station Maître peut être à
l'initiative de l'échange (la communication directe entre stations Esclaves n'est pas réalisable). Le
maître peut s'adresser aux esclaves individuellement ou envoyer un message de diffusion générale à
tous les esclaves. Les esclave s renvoient un message (réponse) aux requêtes qui leur sont adressées
individuellement. Les requêtes de diffusion générale n'attendent pas de réponses en retour.
Un seul équipement peut émettre sur la ligne à tout moment. Le maître gère l'échange et seul lui
peut prendre l'initiative. Il interroge chacun des esclaves successivement.
Aucun esclave ne peut envoyer de message à moins qu'il ne soit invité à le faire.
Le maître répète la question lorsqu'un échange est incorrect et déclare l'esclave interrogé absent si
aucune réponse n'est reçue dans un délai donné.
Si un esclave ne comprend pas un message, il envoie une réponse d'exception au maître. Le maître
Le maître peut réitérer ou non la requête.
8-Modbus.odt2
Classe de terminale SI
Les communication directes entre
esclaves sont impossibles.
Le bus Modbus RS485 peut accueillir 32 noeuds : 1 maître et jusqu'à 31 esclaves.
2. Liaison série RS485
2.1. Transmission série asynchrone
En environnement industriel on préfère utiliser la transmission Série asynchrone plus simple à
mettre en oeuvre et moins coûteuse. La ligne peut ne comporter qu'un fil ; on en utilise en général 3:
émission ; réception ; masse.
Les éléments binaires d'informations (bits) d'un mot ou caractère sont alors envoyés successivement
les uns après les autres (sérialisation) au rythme d'un signal d'horloge. Le récepteur effectue
l'opération inverse : transformation Série / parallèle à partir de son horloge ayant la même fréquence
que celle de l'émetteur.
•Les informations peuvent être émises de façon irrégulières, cependant l'intervalle de temps
entre 2 bits est fixe.
•Des bits de synchronisation (START et STOP) encadrent les informations de données.
2.2. Transmission série synchrone
Pour une transmission synchrone, c'est la réception du signal d'horloge sur un fil séparé ou contenu
dans les données (code Manchester) qui lance exploitation des données par le récepteur.
•Les informations sont transmises de façon continue.
•Un signal de synchronisation est transmis en parallèle aux signaux de données.
2.3. Câblage liaison Modbus RS485
RS485 est une liaison série, de type asynchrone, différentielle qui permet un débit élevé (jusqu'à 10
Mégabits/secondes) sur une distance importante (jusqu'à 1200 mètres).
8-Modbus.odt3
Classe de terminale SI
Elle dispose de 2 bornes d'émission polarisées
notées Tx(+), Tx(-) ou T×D et de 2
bornes de réception polarisées notées Rx(+).
Rx(-) ou R×D.
2.4. Liaison symétrique (ou différentielle)
Une liaison symétrique comporte deux conducteurs actifs par sens de transfert. L'émetteur possède
un amplificateur différentiel qui va transmettre
les états logiques à la double ligne de
transmission sous for me de deux tensions V+ et
V- ou V- et V+ selon le niveau logique.
Le récepteur est un montage à amplificateur opérationnel, il n'est donc concerné que par la
différence de tension entre les deux fils de ligne.
EV1V2S
0-V+V-2V
1+V-V+2V
La liaison symétrique ou différentielle permet de transmettre des données sur de grandes distances à
des vitesses élevées. Elle est peu sensible aux parasites induits , ceux-ci affectent les deux fils de la
ligne et se trouvent inhibés par l'entrée différentielle du récepteur.
EV1V2ParasitesS = V1 - V2
0-V+VVp(-V + Vp) - (+V + Vp) = -2V
1+V-VVp(+V + Vp) - (_V + Vp) = +2V
Sensibilité aux champs magnétiques : Les câbles
torsadés sont moins sensibles aux champs
magnétiques car les tensions induites par les
variations de flux s'annulent mutuellement.
8-Modbus.odt4
Classe de terminale SI
2.5. Différences majeures avec la norme RS232
La norme RS485, contrairement à la norme RS232, ne définit que les caractéristiques électriques de
la couche physique. Les principales différences sont le medium de communication (une paire
torsadée), un mode de tensions différentielles, et la possibilité de travailler en réseau (et non en
mode point à point).
RS232RS485
Connexion
Émetteurs / récepteurs
Couplage électrique Support
physique Type de liaison
Débit maximum
Portée typique
RS232Point à pointPoint à point
1/1
Mode asymétrique
2 fils de données + masse
Full duplex
20 kb/s
10inBus
32 / 32
Mode symétrique (différentiel)
1 paire torsadée
Half duplex
10 Mb/s
1 km
3. Les types de transmissions
3.1. Transmission simplex : mono-directionnel
•Unidirectionnelle.
•Les données sont transmises dans un seul sens.
•Ce mode de communication est utilisé quand il n'est pas nécessaire
pour l'émetteur d'obtenir une réponse de la part du récepteur. Un
circuit électronique comme un capteur qui envoie régulièrement et
de manière autonome des données pourra utiliser une liaison
simplex.
3.2. Transmission half-duplex : bi-directionnel alterné
•Bidirectionnelle.
•La transmission est possible dans les 2 sens, mais pas
simultanément.
•Il ne peut y avoir sur la ligne qu'un seul équipement en train
d'émettre.
•Dans la communication half-duplex, deux systèmes interconnectés
sont capables d'émettre et de recevoir chacun leur tour.
•Il faut que les systèmes communicants soient en mesure de
déterminer qui a le droit de parler. Dans le cas contraire, on risque
d'avoir une collision (quand les deux systèmes tentent de parler
simultanément).
8-Modbus.odt5
Classe de terminale SI
3.3. Transmission full-duplex : bi-directionnel simultané
•Bidirectionnelle.
•Les données sont reçues ou transmises simultanément dans les 2
sens. Deux systèmes interconnectés sont capables d'émettre et de
recevoir simultanément.
Pour des raisons liées au coût et à la robustesse, la plupart des réseaux de
communication industriels utilisent :
Une transmission numérique série asynchrone half-duplex.⇒L'avantage de ce système de communication par rapport au mode full-
duplex est qu'il réduit par deux le nombre de canaux de communication
nécessaires.
4. Les supports physiques
4.1. Les principaux supports utilisés
Les supports de transmission ou MEDIUMS influent sur :
•Vitesse,
•Distance,
•Immunité électro-magnétique.
Mediums les plus utilisés :
•La paire de fils torsadés : Le plus simple à mettre en
oeuvre, et le moins cher. C'est le plus utilisé sur les
bus de terrain.
•Le câble coaxial : Il se compose d'un conducteur en
cuivre, entouré d'un écran mis à la terre. Entre les deux,
une couche isolante de matériau plastique. Le câble
coaxial a d'excellentes propriétés électrique s et se prête aux transmissions à grande vitesse .
Plus difficile à mettre en oeuvre.
•La fibre optique : Ce n'est plus un câble en
cuivre qui porte les signaux électriques mais
une fibre optique qui transmet des signaux lumineux. Convient pour les environnements
industriels agressifs, les transmissions sont sûres, et les longues distances (maxi 10000
mètres).
4.2. Quelques standards électriques en paire torsadée
•RS232 : Liaison point à point par connecteur D-sub1 25 broches. Distance < 15 mètres, débit
< 20 kbits/s.
•RS422A : Bus multipoint full duplex (bi directionnel simultané) sur 4 fils. Bonne immunité
1D-subminiature ou D-sub
8-Modbus.odt6
Classe de terminale SI
aux parasites, Distance maxi 1200 mètres à 100 kbits/s. 2 fils en émission, 2 fils en
réception.
•RS485 : Bus multipoint half duplex (bi directionnel alterné) sur 2 fils. Mêmes
caractéristiques que RS422A mais sur 2 fils.
5. Trame modbus
Les trames sont de 2 types :
•Mode RTU : les données sont sur 8 bits.
•Mode ASCII2 : les données sont sur 7 bits (les trame s sont donc visibles en hexadécimal et
il faut deux caractères pour représenter un octet). Ce dernier mode est quasiment tombé en
désuétude.
5.1. Principe général
Le protocole Modbus consiste en la définition de trames d'échange.
Le maître peut aussi diffuser un message à tous les esclaves présents sur le réseau. Ceux-ci
exécutent l'ordre du message sans émettre une réponse.
Le maître envoie une demande et attend une réponse.
5.2. Trame MODBUS RTU
Le mode de transmission utilisé est le mode RTU3. La trame ne contient ni octet d'en-tête de
message, ni octet de fin de message. Elle est définie de la manière suivante :
START I Adresse I Fonction I Données ICRCEND
Silence1 octet1 octetn octets2 octetsSilence
N. esclaveCode fonction1er paramètreAutres paramètresCRC16
1 octet1 octetPF 1 octetPf 1 octetN octetsPF 1 octetPf 1 octet
•N° esclave : de 1 à 247.
•N° fonction :
01 : Lecture de n bits de sortie consécutifs,
02 : Lecture de n bits de sortie consécutifs,
03 : Lecture de n mots de sortie consécutifs,
2American Standard Code for Information Interchange : Code américain normalisé pour l'échange d'information
3Remote Terminal Unit : Unité Terminale Distante
8-Modbus.odt7
Classe de terminale SI
04 : Lecture de n mots d'entrées consécutifs,
05 : Écriture d'un bit interne ou de sortie,
06 : Écriture d'un mot interne ou registre...
Il existe 19 fonctions possibles sur Modbus. Ces fonctions sont codées sur 1 octet en
hexadécimal, tous les équipements ne supportent pas toutes les fonctions.
•1er paramètre : Adresse du bit ou du mot adressé.
•2ème paramètre : Quantité de mots adressés ou valeur du bit ou du mot écrit selon la
fonction utilisée.
•Autres paramètres : Données écrites dans plusieurs mots consécutifs.
•CRC16 : Contrôle par redondance cyclique pour détecter les erreurs de transmission.
•La détection de fin de trame est réalisée sur un silence supérieur ou égal à 3 caractères.
5.3. Transmission d'un message
Avant et après chaque message, il doit y avoir un silence équivalent à 3,5 fois le temps de
transmission d'un mot.
L'ensemble du message doit être transmis de manière continue. Si un silence de plus de 1,5 fois le
temps de transmission d'un mot intervient en cours de transmission, le destinataire du message
considérera que la prochaine information qu'il recevra sera l'adresse du début d'un nouveau
message.
5.4. Trame MODBUS ASCII
Chaque octet composant une trame est codé avec 2 caractères ASCII (2 fois 8 bits).
STARTAdresseFonctionDonnéesLRCEND
1 caractère2 caractères 2 caractères n caractères 2 caractères 2 caractères
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.
6. Paramétrage de la communication Modbus
Il faut ajuster les paramètres de communication entre le maître et l'esclave :
•Vitesse de communication : 9600 ou 19200 bits/seconde,
•Données (trame) : 8 bits,
•Parité : Paire (even), impaire (odd) ou sans parité ,
8-Modbus.odt8
Classe de terminale SI
•Arrêt : 1 ou 2 bits de stop.
Exemple : 8E1 (8 bits de données, parité paire, 1 bit de stop)
Avant l'émission du message, le signal est au niveau logique " 1 » tant qu'aucune transmission n'est
en cours.
8-Modbus.odt9