05/07/2020 1 2 CI GE/GM/GI 2019/2020 4éme Partie RESEAUX DE COMMUNICATION INDUS
05/07/2020 1 2 CI GE/GM/GI 2019/2020 4éme Partie RESEAUX DE COMMUNICATION INDUSTRIELS Modbus Ecole Nationale Supérieure d’Arts et Métiers- Casa المدرسة الوطنية العليا للفنون والمهن الدارالبيضاء 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. 2 05/07/2020 2 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». 3 • 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 Caractéristiques du MODBUS 4 05/07/2020 3 • 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 5 • 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. Trame MODBUS 6 05/07/2020 4 • 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 7 Trame MODBUS Chaque trame contient 4 types d'informations Tout échange contient deux trames : 1. une demande du maître 2. et une réponse de l'esclave Adresse Code fonction data CRC Ou LRC 1 octet Entre 1 et 127 X octets Complément d'informations (dépend du code Fonction) 1 octet Entre 1 et 247 Identifie Le destinataire 2 octets Contrôle de validité 8 05/07/2020 5 Contrôle d ’erreur MAITRE N°esclave Code fonction Données CRC16 Calcul du CRC16 Comparaison des CRC16 Esclave N°esclave Code fonction Données CRC16 CRC16 identique Ne renvoie rien Exécute l ’action et répond au client Calcul du CRC16 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 05/07/2020 6 11 MODBUS série 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 05/07/2020 7 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 : 14 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. 05/07/2020 8 Principales fonctions MODBUS 15 MODBUS offre 19 fonctions différentes, elles se caractérisent par un code fonction sur 1 octet (en hexadécimal). Tous les équipements ne supportent pas tous les codes fonction. Code Nature des Fonctions MODBUS 01 Lecture de n bits de sortie consécutifs 02 Lecture de n bits d’entrée consécutifs 03 Lecture de n mots de sortie consécutifs 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 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 05/07/2020 9 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 05/07/2020 10 • Exemple de communication maître/esclave 20 Request : Exemple de trame en mode RTU Exemple de trame en mode RTU Function code = 03 : Read Holding Registres Slave Address CRC16 First word address Function code = 03 Number of words to read 1 byte 1 byte 2 bytes 2 bytes 2 bytes Response : Slave Address CRC16 Number of bytes read Function code = 03 Value of the first word 1 byte 1 byte 1 bytes 2 bytes 2 bytes Value of the last word 2 bytes 05/07/2020 11 • 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 Exemple d’échange entre le maître (TSX 37 Micro) et l’esclave (ATV-28) uploads/Management/ rli4.pdf
Documents similaires
-
15
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 03, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.8783MB