2éme année Genie électrique
MODBUS
Réseaux locaux industriels
Présenter par: Encadré par :
LAKBIBA Bouchra [Link] Kaoutar
1
Le plan
1 • Introduction
2 • Definition du MODBUS
3 • LES MODES DE TRANSMISSION
4 • LES VARIATIONS DU MODBUS
5 • PRINCIPEE DE FONCTIONEMENT RTU/TCP/IP/ASCII 2
Introduction
• Le Modbus est un protocole de communication
industriel introduit par Modicon en [Link] est
généralement utilisé avec les automates
programmables ou les équipements de types
industriels. Il est maintenant devenu une norme
"open protocol" dans le domaine de l'automatisme et
de la communication industrielle, et est le moyen le
plus couramment utilisé pour faire communiquer des
équipements industriels .
• La plupart des appareils et dispositifs embarqués
comme les microcontrôleurs, les automates, les
capteurs intelligents etc…sont équipés d’interface
Modbus et sont capables de communiquer en
Modbus.
3
Definition
• Modbus est un protocole de communication non-propriétaire, relevant du niveau applicatif,
c'est-à-dire du niveau 7 du Modèle OSI. Il permet la communication entre plusieurs équipements
connectés sur un même réseau, par exemple un système qui mesure la température et
l'humidité d’un four peut communiquer ses résultats à un ordinateur de traitement via Modbus.
• C'est un protocole qui repose sur architecture Master/Slave (Maître/Esclave) ou Client/Server
(Client/Serveur).
Les modes de transmission
Selon le sens des échanges, on distingue 3 modes de transmission :
Mode simplex ou unidirectionnel : il caractérise une liaison dans
laquelle les données circulent dans un seul sens, c’est-à-dire de
l’émetteur vers le récepteur.
Mode half duplex ou bidirectionnel alterné : caractérise une liaison
dans laquelle les données circulent dans un sens ou dans l’autre
mais pas les deux en même temps. Ce type de liaison permet d’avoir
une liaison bidirectionnelle utilisant la capacité totale de la ligne.
Mode full duplex ou duplex intégral : caractérise une liaison dans
laquelle les données circulent de façon directionnelle et simultanée.
Chaque extrémité de la ligne peut émettre et recevoir en même
temps, ce qui signifie que la bande passante est divisée par deux
pour chaque sens d’émission des données si un même support de
transmission est utilisé pour les deux transmission.
LES SUPPORTS 4 3
PHYSIQUES DE
TRANSMISSION
DU MODUBS
Les communications
Modbus peuvent
s’effectuer via les supports
physiques suivants :
- RS-232
- RS-485
- RS-422
- Ethernet TCP/IP
(Modbus Ethernet) 2 1
LES VARIATIONS DU PROTOCOLE MODBUS
Le Modbus
RTU (8bits) NB: Les communications de
type modbus sont caractérisées
par leur vitesse de transmission
Le Modbus ou baudrate qui s'exprime en
ASCII (7 bits) bits/s.
Typiquement,cette vitesse de
transmission est souvent
Le Modbus comprise entre 9600 et 19 200
TCP/IP bits/s, mais on peut avoir des
(ethernet) vitesses supérieures.
LES SPECIFICITES DU MODBUS via interface série RS-xxx
• En modbus série, seul le maître est actif, les esclaves sont complètement passifs.
C'est le maître qui doit lire et écrire dans chaque esclave. Le maitre peut
communiquer avec un nombre d’esclaves allant jusqu'à 247 sur le même réseau.
Les adresses allant de 248 à 255 sont des adressées réservées
Le RS485 ne peut pas comporter plus de 32 périphériques sur le même nœud, on
utilise alors des répéteurs afin de pouvoir ajouter d'autres périphériques sur la
ligne.
• TOPOLOGIE D’EQUIPEMENTS
CONNECTES VIA LE MODBUS SERIE RS-
xxx
• Dans l'image ci-
dessous le système
Scada/HMI agit en tant
que maître alors que
les automates agissent
en tant que esclaves.
LE MODBUS RTU (Remote Terminal Unit)
Le modbus RTU fait partie des protocoles industriels les plus utilisés.
La communication via ce protocole est de type série et se fait via les interfaces
série RS232, RS485 ou RS422.
Il fonctionne sur le mode maître-esclave. Seul le maître est actif, les esclaves sont
complètement passifs.
C'est le maître qui doit lire et écrire dans chaque esclave de la boucle sérielle.
Le codage des informations s’effectue en binaire.
Si la communication s’effectue via le RS232, il ne peut y avoir dans ce cas qu’un
seul maitre et qu’un seul esclave. Par contre si la communication s’effectue via le
RS485 ou le RS422, on peut avoir plusieurs esclaves.
NB : En modbus RTU on peut pas avoir plusieurs maitres
L'avantage du mode RTU est que les données à transmettre prennent moins de
place donc moins de temps pendant les transmissions. En effet, on adresse plus
de données en 8 qu'en 7 bits.
Les caractéristiques du MODBUS RTU
La trame du MODBUS RTU est constituée d'une suite de caractères
hexadécimaux et contient les informations suivantes :
Numero d’esclave Code fonction (1 Données(n octets
CRC(2octets)
(1 octet) octet) max 265 octets )
(le numéro 00 est réservé aux messages de diffusion)
L’ensemble des informations contenues dans le message est exprimé en hexadécimal.
Chaque octet composant une trame RTU est codé sur 2 caractères hexadécimaux
(2 fois 4 bits)
Méthode de transmission
Chaque octet composant un message est transmis en mode RTU de la manière suivante :
Sans contrôle de la parité :
Avec contrôle de la parité:
NB : 1 caractère est un format de 11 bits constitué de : 1 bit de start, 8 bits de données et 2
bit de stop (ou 1 bit parité + 1 bit stop
Le temps maximum entre 2 caractères doit être inférieur à 1,5 *Ttc Dans le cas contraire, il
y a une erreur de transmission.
Avant et après chaque message(trame), il doit y avoir un silence minimum de 3,5 *Ttc
L’ensemble du message doit être transmis de manière continue.
MODBUS ASCII(American Standard Code for Information Exchange)
Modbus ASCII utilise la meme architecture série que RTU (maitre/esclave )et une
méthode de vérification des erreurs LRC moins efficace que celle en RTU ,un jeu de
caractères ASCII pour représenter les caractères hexadécimaux contenant chacun 4
bits de données. Il y a 10 bits dans chaque octet en mode Modbus ASCII.
Le champ d’adresse détermine l’adresse esclave ; Le code de fonction détermine le
type d’action à effectuer sur les données ; Le champ de données est les données à
envoyer ou à recevoir, et CRC ou champ de vérification d’erreur est le résultat d’un
calcul de contrôle de redondance pour vérifier si la trame communiquée comporte
une erreur ou non.
Le format des messages ASCII Modbus se compose d’un caractère de début qui est un
deux-points « : » et la fin du message est définie par un retour chariot et un saut de
ligne. Cela permet à l’espace entre les messages d’être variable et rend Modbus ASCII
adapté à la transmission via certains modems.
MODBUS TCP/IP
Il fonctionne sur le mode client-serveur. Seuls les clients sont actifs, le serveur est
complètement passif.
Ce sont les clients qui doivent lire et écrire dans le serveur Modbus
Le serveur est identifié par :
son adresse IP
le numéro du port sur lequel il attend les demandes de connexion (port 502 par défaut).
Principe de fonctionnement: Le client par l'intermédiaire d'une trame requête va demander des
informations au serveur et le serveur va envoyer à son tour une trame de réponse pour lui
donner les informations demandées
Le modèle client/serveur repose sur quatre types de messages :
Demande Modbus : le message envoyé sur le réseau par le client pour initier une
transaction.
Indication Modbus : le message de demande reçu du côté du serveur.
Réponse Modbus : le message de réponse envoyé par le serveur.
Confirmation Modbus : le message de réponse reçu du côté du client
MODBUS TCP/IP
Les messages modbus dans ce protocole sont encapsulées dans une trame Ethernet
.
Trame Ethernet
Le client qui décide quand il faut lire ou ecrire et le serveur tjrs en attente
et ne fait que réagir aux requêtes .
Les messages transmis sont des questions et des réponses entres le client
et le serveur .
Exemple :
Zones d’adressages et codes fonction
Par principe les données sont stockées dans le serveur et c’est le clients
qui va lire ou ecrire à différents endroits de la mémoire de ce serveur
[Link] faire les liens avec des entrées tutoriant (bottons ,capteurs …)
[Link] pour commander des relais ou des contacteurs
[Link] la saisie des valeurs numériques
4. Pour memoriser des V.N
Code fonction
conclusion
• Modbus est limité à 254 périphériques
par adresse
• pas de communication directe entre les
esclaves
• relativement lent
• Le protocole Modbus lui-même ne
protège pas contre les commandes non
autorisées ou l'interception de données.
• nécessité d'ecrire du programme pour
accéder à une variable
18
MERCI POUR VOTRE
AT T E N T I O N
• D e s q u e s ti o n s ?