Plan du cours (7)
Chapitre VI: MODBUS
1. Historique.
2. Variantes du bus MODBUS.
3. Modbus et modèle ISO.
4. Couche physique: médium, topologie, distance, débits, équipements,
connectiques.
5. Couche liaison: caractéristiques générales, méthode de transmission
client/serveur, types et formats de la trame.
6. Couche application: classes d’implémentation.
7. Exemples de produits MODBUS et exemple d’application.
8. Points forts/points faibles.
188
Historique
Chapitre VII: MODBUS
• Le protocole MODBUS est une structure de messagerie créée
par MODICON en 1979 pour connecter des automates à des
outils de programmation.
• Ce protocole est de nos jours largement utilisé pour établir des
communications de type maître/client vers esclaves/serveurs
entre équipements intelligents.
• MODBUS est indépendant de la couche physique: Il peut
être implémenté sur des liaisons RS232, RS422, ou RS485,
ainsi que sur une grande variété d’autres médias (ex: fibre
optique, radio, etc...). 189
Variantes de MODBUS
• Il existe 3 variantes de MODBUS:
1) MODBUS liaison série: sur liaison série fonctionnant de 1200 à
56 kbits/s avec une méthode d’accès maître/esclave.
2) MODBUS +: est un bus fonctionnant à 1 Mbit/s basé sur une
méthode d’accès par anneau à jeton.
3) Ethernet TCP/IP MODBUS: utilise le protocole TCP/IP et Ethernet
10 Mbit/s ou 100 Mbits/s pour transporter une trame MODBUS.
Chapitre VII: MODBUS
190
MODBUS liaisons série
• RS232:
– Liaison point à point par connecteur SUB-D 25 broches.
– Distance < 15 mètres, débit < 20 kbits/sec.
• RS422A:
– Bus multipoint full duplex (bi directionnel simultané) sur 4 fils.
– Distance maxi 1200 mètres à 100 kbits/sec.
– 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.
Chapitre VII: MODBUS
191
Ethernet TCP/IP MODBUS
• Les protocoles TCP (Transmission Control Protocol)/IP (Internet Protocol)
sont habituellement utilisés pour le transport de données sur internet.
• Quand ces protocoles sont associés à Modbus, une information
additionnelle est affectée à la donnée par TCP (appelée « MBAP header »).
Ensuite IP la place dans un paquet (ou datagramme) et la transmet.
• TCP doit établir une connexion avant de transmettre la donnée. Le maître
(également appelé client) établit alors une connexion avec l’esclave
(également appelé serveur). Une fois cette connexion est établie, le serveur
répond aux demandes du client, jusqu’à fermeture de la connexion par le
client.
Chapitre VII: MODBUS
192
Ethernet: Pourquoi?
• Coût réduit, transmission possible par câble RJ45, fibre optique ou
sans fil. Débit allant jusqu’à 100Mbits/s. Transmission du type Full
Duplex.
• Pour l’intelligence embarquée, Ethernet rend possible l’intégration de
services TCP/IP pour la configuration, le diagnostic, les alertes...
• Lien simplifié vers IHM, MES, ERP, SCADA...
• Echanges entre équipements de modèles différents.
• Transmission de l’alimentation via le câble.
Chapitre VII: MODBUS
193
MODBUS série et modèle ISO
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
7
6
5
4
3
2
1
MaMaîître / Esclavetre / Esclave
Modbus
RS485RS485
Chapitre VII: MODBUS
194
MODBUS + et modèle ISO
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
7
6
5
4
3
2
1
Anneau Anneau àà jetonjeton
Modbus
RS485RS485
Chapitre VII: MODBUS
195
Ethernet TCP/IP MODBUS et modèle ISO
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
7
6
5
4
3
2
1
CSMA / CDCSMA / CD
ETHERNETETHERNET
Modbus
TCP
IP
Chapitre VII: MODBUS
196
• Médium: Typiquement une paire torsadée blindée.
• Topologie: bus avec dérivations et terminaisons de
fin de ligne.
• Longueur maximale: 1.3 km sans répéteur.
• Débit: 9600 ou 19200 bits/s (56 kbits/s sur certains
produits).
• Nombre maxi d’équipements: 32 = 1 maître + 31
esclaves.
Couche physique
Chapitre VII: MODBUS
197
Connectiques
DB-25 ou DB-9
(série RS422/485/232)
RJ 45
(Ethernet)
198
Chapitre VII: MODBUS
Couche de liaison (1): Caractéristiques générales
• Méthode d ’accès au médium: Maître / esclave.
• Méthode de transmission: Client / serveur.
- Le maître est client, l’esclave est serveur.
- L’échange de données nécessite un
programme applicatif.
• Taille maxi des données utiles: 128 mots (256 octets).
199
Chapitre VII: MODBUS
Couche de liaison (2): Méthode client-serveur
200
• Le CLIENT est une entité demandant un service sur le réseau (une
requête). Une programmation des requêtes est nécessaire. Tous les clients
sont actifs.
• Le SERVEUR est l’entité qui répond à la demande d’un client. Le serveur
est complètement passif.
Réponse
Requête
Serveur donnéesServeur application
Base de données
Client
Chapitre VII: MODBUS
Recherche
Résultat
Programmation des requêtes
Equipement 1
Equipement 2
Equipement n
Processeurautomate
Coupleur de communication
Bus
Emplacement mémoireinterne applicative
%MW
Mémoire tampon
READ_VAR
WRITE_VAR
Echangesactivés par
requête
SEND_REQ
Echangesactivés par le
coupleur suite à la demande programme
Chapitre VII: MODBUS
201
Couche de liaison (3): Types de trames• La trame MODBUS existe en 2 versions :
• Mode ASCII:
Chaque octet de la trame est transmis sous la forme de 2 caractères ASCII.
• Mode RTU (Remote Terminal Unit/Unité Terminale Distante):
Chaque octet de la trame est transmis sous la forme de 2 caractères
hexadécimaux.
• Le principal avantage du mode RTU est qu’il transmet plus rapidement les
informations.
• Le mode ASCII permet d’avoir un intervalle de temps d’une seconde entre 2
caractères consécutifs, pour ne pas générer d’erreur de transmission.
Chapitre VII: MODBUS
202
203
Couche de liaison (4): Formats de trames
MODBUS RTU/MODBUS ASCII
Adresse CRC16DataFonctionsilence silence
Modbus RTU
Adresse LRCDataFonction: CR LF
Modbus ASCII
1 octet 1 octet 256 octets 2 octets>=3caractères
>=3Car.
1caractère
2Car.
1Car.
0-2x252 caractères2
Car.1
Car.2
Car.
Stop
Start Stop
Start
PDU (Protocol Data Unit)
Chapitre VII: MODBUS
204
Couche de liaison (5): Formats de tramesMODBUS RTU/MODBUS TCP/IP
Identificateur du message
(2 octets)
Identificateur du protocole(Tjrs 0000h)
Nombre d’octetsdans le message
(2 octets)
Identificateurde l’esclave
(1 octet)
Chapitre VII: MODBUS
205Reset de l’esclave après erreur13h
.
.
.
.
Ecriture de 1 bit de sortie
Ecriture de 1 mot de sortie
05h
06h
Lecture de n mots d’entrée
consécutifs
04h
Lecture de n mots de sortie consécutifs
03h
Lecture de n bits de sortie consécutifs01h – 02h
Fonction MODBUSCode
Couche de liaison (6): Liste des fonctions
19fonctions
Chapitre VII: MODBUS
• Exemple: Lecture par le maître des mots W450 à
W456 sur l’esclave n°2:
206
02h XXXX01 C2h -….-01 C8h03hsilence silence
Adresseesclave
CodeFonction
7 mots = 14 octetsà lire par le maître
CRC16
Couche de liaison (7): Exemple
450 456
Chapitre VII: MODBUS
PDU
MODBUS RTU
207
Couche de liaison (7): Suite exemple
Chapitre VII: MODBUS
0001 0000 000E 02 030000 000E 02 03 01 C2h -….-01 C8h
ADU: Application Data Unit
PDU: Protocol Data Unit
MBAP: Modbus Application Protocol
Couche application: Classes d’implémentation
• Les classes d’implémentation définissent une liste de requêtes MODBUS
à supporter par l’équipement pour garantir une interopérabilité des
produits.
• Les classes d’implémentation sont équivalents aux profils pour les bus
AS-i et CANopen.
• On distingue 2 classes d’implémentation différentes:
1) Classe « Basic »: contient des fonctionnalités basiques.
2) Classe « Regular »: se caractérise par la possibilité de configuration.
208
Chapitre VII: MODBUS
Classes d’implémentation
209
_RJ45Type du connecteur:
RS232
RS485 2 fils ou 4 fils
RS232
RS485 2 fils
Interface électrique:
RTU + ASCIIRTUMode:
Configurable: paire, impaire,
pas de bit de parité
Parité paireParité:
Typ.: (9600, 19200) + autres
débits configurables
9600 (19200
possible)Débit (kb/s):
Adressage:
Critères
Idem que pour BasicAdresse des
esclaves
configurable de 1 à
31
Classe
Regular
Classe Basic
Chapitre VII: MODBUS
Exemples de produits MODBUS (1)
Répartiteur MODBUS Coupleur MODBUS
(RS485/Ethernet)
Modules d’E/S
Chapitre VII: MODBUS
210
Exemples de produits MODBUS (2)
Réseau MODBUS RS485
Réseau Ethernet TCP/IP
Passerelle
Ethernet/RS485
Chapitre VII: MODBUS
211
Centrale de mesure
(8 entrées analogiques configurables en
thermocouples, Pt100,Pt1000, courant, tension)
Instruments de mesure
(Power meter/Power monitoring)
Exemples de produits MODBUS (3)
Codeur absolu
Ethernet TCP/IPModbus
Chapitre VII: MODBUS
212
Exemples de produits MODBUS (4)
Interface Homme-Machine HMI(Magelis)
HMI Instrument de mesure
Chapitre VII: MODBUS
213
Exemple d’installation Maître
SCADA
Ethernet
Passerelle Ethernet/Modbus
Modbus RTU (RS 485)
Modbus RTU
(RS 232)
Contrôleur
de température
Mesure de puissanceEsclaves Modbus
RTU
Interfaces E/S
Capteurs
Chapitre VII: MODBUS
Exemple
d’application
214
Points forts/points faibles
Points forts
• Simplicité et faible coût
d’implémentation.
• Supporte des équipements de
marques différentes.
• Proposé par la plupart des
constructeurs et éditeurs de logiciel.
• Haut niveau d’intégration dans
plusieurs plateformes logicielles (Ex:
PL7, Unity Pro, Twido soft/suite).
Points forts
• Simplicité et faible coût
d’implémentation.
• Supporte des équipements de
marques différentes.
• Proposé par la plupart des
constructeurs et éditeurs de logiciel.
• Haut niveau d’intégration dans
plusieurs plateformes logicielles (Ex:
PL7, Unity Pro, Twido soft/suite).
Points faibles
• Nécessité d’écrire un programme
pour accéder à une variable.
• Relativement lent.
• Pas de communication directe
d’esclave à esclave.
Points faibles
• Nécessité d’écrire un programme
pour accéder à une variable.
• Relativement lent.
• Pas de communication directe
d’esclave à esclave.
215
Chapitre VII: MODBUS
Annexe 1: SCADA
� Système de Contrôle et d‘Acquisition de Données (en Anglais :
Supervisory Control And Data Acquisition) est un système de
télégestion, permettant de traiter en temps réel un grand
nombre de télémesures et de contrôler à distance des
installations techniques.
� C'est une technologie industrielle dans le domaine de
l'instrumentation, dont les implémentations peuvent être
considérées comme des structures logicielles
d'instrumentation.
Chapitre VII: MODBUS
216
• Surveillance de processus industriels,
• Transport de produits chimiques,
• Systèmes d'approvisionnement en eau,
• Commande de la production et de la distribution
d'énergie électrique,
• Canalisations de gaz et de pétrole,
• Etc…
Annexe 1 (suite)
Application du SCADA
Chapitre VII: MODBUS
217
• Une interface homme-machine: présente les données à un opérateur
humain et qui lui permet de superviser et commander les processus.
• Un système de supervision et contrôle informatique: faisant l'acquisition
des données des processus et envoyant des commandes (consignes) aux
processus.
• Une unité terminale distante (RTU) reliant les capteurs: convertissant les
mesures en données numériques et envoyant ces données au système de
supervision.
• Des automates programmables: utilisés sur le terrain pour leur capacité
de calcul et la possibilité d'être configurables.
• Une infrastructure de communication: reliant le système de supervision
et contrôle aux éléments terminaux et divers instruments d'analyse.
Annexe 1 (suite)
Composants du SCADA
Chapitre VII: MODBUS
218
Annexe 1 (suite)
Exemple SCADA: Station de traitement
d’eau
Chapitre VII: MODBUS
219
• API: Siemens + Allen
Bradley
• HMI: Siemens MP370.
• Communication: Ethernet.
• Nbr E/S: 800.
• Logiciels: RS Logix, Cimplicity, Simatic WinCC
Flexible.
Annexe 2: MES
� Un Manufacturing Execution System (MES) ou Système de Gestion des Processus
Industriels, est un système informatique, dont l’objectif principal est de collecter en
temps réel les données de production de tout ou une partie d'une usine.
� Ces données collectées permettent ensuite de réaliser un certain nombre d'activités
d'analyse:
– Traçabilité: collecte d’informations relatives à la composition d'un produit tout au
long de sa chaîne de production,
– Contrôle de la qualité,
– Suivi de production,
– Ordonnancement: organiser dans le temps le fonctionnement d'un atelier pour
utiliser au mieux les ressources humaines et matérielles ,
– Maintenance préventive et curative
Chapitre VII: MODBUS
220
Annexe 2 (suite)
Secteurs d’interaction du MES
Chapitre VII: MODBUS
221
Annexe 3: ERP
� Le terme ERP vient de l’anglais « Enterprise Ressource
Planning». ERP a été traduit en français par l’acronyme PGI (Progiciel
de Gestion Intégré) et se définit comme un groupe de modules relié à
une base de données unique.
� L’ERP est un progiciel qui permet de gérer l’ensemble des processus
opérationnels d’une entreprise, en intégrant plusieurs fonctions de
gestion:
� Gestion des ressources humaines,
� Gestion des stocks,
� Gestion de la vente et de la distribution,
� Gestion de la paie et de la comptabilité,
� Gestion e-commerce.
Chapitre VII: MODBUS
222
SynthèseChapitre VII: MODBUS
223