RLI4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

05/07/2020

Ecole Nationale Supérieure d’Arts et Métiers- Casa


‫المدرسة الوطنية العليا للفنون والمهن الدارالبيضاء‬

2 CI GE/GM/GI

4éme Partie
RESEAUX DE COMMUNICATION
INDUSTRIELS Modbus

2019/2020

Présentation MODBUS
• MODBUS est un protocole de communication Développé par MODICON en 1979 fonctionnant sur
le mode Client/Serveur et permettant une communication entre un Client (Maitre) et un ou
plusieurs Serveurs (esclave).
• Chaque esclave possède une adresse qui sert d'identifiant dans le bus. De très nombreux
appareils sont disponibles avec le protocole Modbus.
• Il est un standard en milieu industriel.
• Certains appareils (compteur, variateur de vitesse...) sont uniquement esclaves, d'autre
(automate, PC...) peuvent être maître ou esclave.
• Le maître peut venir interroger les différents esclaves grâce à leur adresse et différentes fonctions
(lecture, écriture...).
• Le maître a la possibilité de connaître les informations de chaque esclave et/ou de les piloter.
• Les informations disponibles à la lecture ou à l'écriture sont disponibles dans la documentation
des appareils.

1
05/07/2020

Caractéristiques du MODBUS
• 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».

Caractéristiques du MODBUS
• Un des plus utilisés dans la communication entre automates
industriels
• s’adapte au nouvelle technologie: intègre TCP/IP
• permet une communication sur différents supports entre différents
équipements

2
05/07/2020

Trame MODBUS
• Un protocole consiste en la définition de trames d’échange.

• Il existe 3 variations du protocole Modbus:


• Le Modbus RTU (Remote Terminal Unit) : les données sont sur 8 bits.
• Le Modbus ASCII : les données sont sur 7 bits (les trames sont donc visibles en hexadécimal et il
faut deux caractères pour représenter un octet).
• Le Modbus TCP/IP (ethernet)

• Les communications de type modbus sont caractérisées par leur vitesse de transmission ou baudrate
qui s'exprime en bits/s. Typiquement, cette vitesse de transmission est souvent comprise entre 9600
et 19 200 bits/s, mais on peut avoir des vitesses supérieures.

Trame MODBUS
• Le protocole MODBUS utilise des trames dont le début et la fin sont standards.
L'adresse est placée en début de trame.
• Mode de communication : half-duplex. (2 fils ou 4 fils)
• Le maître parle à un esclave et attend sa réponse,
• Le maître parle à l'ensemble des esclaves, sans attente de réponse (diffusion
générale).
Il ne peut y avoir sur la ligne qu'un seul équipement en train d'émettre. Aucun
esclave ne peut envoyer un message sans une demande préalable du maître. Le
dialogue entre les esclaves est impossible.

3
05/07/2020

Trame MODBUS
• Echange maître vers 1 esclave : le maître envoie une demande et attend une
réponse.

• Echange Maître vers toutes les stations esclaves : le maître diffuse un message à
tous les esclaves présents sur le réseau, ceux-ci exécutent l’ordre du message
sans émettre une réponse.

Trame MODBUS
Tout échange contient deux trames :
1. une demande du maître
2. et une réponse de l'esclave

 Chaque trame contient 4 types d'informations

Code CRC
Adresse data
fonction Ou LRC

1 octet 1 octet X octets 2 octets


Entre 1 et 247 Entre 1 et 127 Complément Contrôle de
Identifie d'informations validité
Le destinataire (dépend du code
Fonction)
8

4
05/07/2020

Contrôle d ’erreur
MAITRE Esclave

N°esclave Code Données N°esclave Code Données


CRC16 CRC16
fonction fonction

Calcul du CRC16 Calcul du CRC16

Comparaison des CRC16

Ne renvoie rien CRC16 identique

Exécute l ’action et répond au client 9

MODBUS série
• 2 modes de transmission
• RTU (Remote Terminal Unit) Unité terminale distante.
• les octets sont transmis directement sans conversion ASCII.
• Le numéro d'esclave par exemple "01" sera envoyé tel que (00000001)

• ASCII (American Standard Code for Information Interchange)


• Transmission des 2 octets correspondant au code ASCII codé BCD des caractères.
• Le numéro d'esclave par exemple "01" sera envoyé : "0" et "1" soit 48 et 49 (00101000 et
00101001).

• le mode de transmission doit être configuré de façon identique pour tous


les équipements branchés sur le bus.
10

5
05/07/2020

MODBUS série

11

Mode RTU
• Trame MODBUS

• Envoi d ’un octet sur le support physique


• 1 bit de start
• 8 bits de donnée (LSB en premier)
• 1 bit de parité (paire)
• 1 bit de stop

12

6
05/07/2020

Transmission RTU

• Mode RTU (Unité terminale distante):

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.

13

Transmission RTU
• La trame ne comporte ni octet d’en-tête de message, ni octets de fin
de message.

Sa définition est la suivante :

CRC16 : Mot utilisé pour détecter les erreurs de transmission (cyclical redundancy check) ou test de
redondance cyclique.
La détection de fin de trame est réalisée sur un silence supérieur ou égal à 3 octets.
14

7
05/07/2020

Principales fonctions MODBUS


MODBUS offre 19 fonctions différentes, Code Nature des Fonctions MODBUS

elles se caractérisent par un code fonction sur 01 Lecture de n bits de sortie consécutifs

1 octet (en hexadécimal). Tous les 02 Lecture de n bits d’entrée consécutifs

équipements ne supportent pas tous les codes 03 Lecture de n mots de sortie consécutifs

fonction. 04 Lecture de n mots consécutifs d’entrée


05 Ecriture de 1 bit de sortie
06 Ecriture de 1 mot de sortie
07 Lecture du statut d’exception
08 Accès au compteur de diagnostic
09 Téléchargement, télé déchargement et mode de marche
0A Demande de CR de fonctionnement
0B Lecture du compteur d’événements
0C Lecture des évènements de connexion
0D Téléchargement, télé déchargement et mode de marche
0E Demande de CR de fonctionnement
0F Ecriture de n bits de sortie
11 Ecriture de n mots de sortie
12 Lecture d’identification
13 Téléchargement, télé déchargement et mode de marche
14 Reset de l’esclave après erreur non recouverte 15

Mode ASCII
Chaque champ composant une trame est codé avec 2 caractères ASCII
(2 fois 8 bits).

Sa définition est la suivante :

LRC : C’est la somme en hexadécimal modulo 256 du contenu de la trame hors délimiteurs,
complémentée à 2 et transmise en ASCII.

16

8
05/07/2020

Calcul du LRC
• Le calcul pratique du LRC se fait par :
• S = (n°esclave + fonction + data) mod 256
• S=~S
• S=S+1
• Le contrôle de validité se fait par : (n°esclave + fonction + data + LRC reçu) = 0x00
• Exemple:
• esclave 0x01
• fonction 0x05 éciture bit n°1
• MSB adresse 0x00
• LSB adresse 0x01
• MSB data 0xFF valeur d'écriture
• LSB data 0x00

• LRC 0xFA

17

18

9
05/07/2020

• Exemple de communication maître/esclave

Exemple de trame en mode RTU


 Function code = 03 : Read Holding Registres

Request :
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Slave Function First word Number of
CRC16
Address code = 03 address words to read

Response :
1 byte 1 byte 1 bytes 2 bytes 2 bytes 2 bytes
Slave Function Number of Value of the Value of the
CRC16
Address code = 03 bytes read first word last word

20

10
05/07/2020

Exemple d’échange entre le maître (TSX 37 Micro) et l’esclave (ATV-28)


• Trame émise par le maître : 04 03 00 02 00 01 25 CA
• Adresse esclave : 04
• Code fonction 03 = lecture registre
• N° du registre de début de lecture : MSB : 00 et LSB : 02
• Nombre de registre de lecture : MSB : 00 et LSB : 01
• CRC : 25 CA

• Réponse de l’esclave sans erreur : 04 03 02 02 58 B8 DE


• Adresse esclave : 04
• Code fonction : lecture registre : 03
• Nombre d’octets données : 02
• Données du registre 0002 : MSB 02 et LSB : 58
• CRC : B8 DE

• Trame émise par le maître pour lire des mots du registre 450 au registre 456 : 04 03 01 C2 00 07 5A C8
• Adresse esclave : 04
• Code fonction 03 = lecture registre
• N° du registre de début de lecture : MSB : 01 et LSB : C2 (450)10=(01C2)16
• Nombre de registre de lecture : MSB : 00 et LSB : 07
• CRC : 5A C8

11

Vous aimerez peut-être aussi