1 Département GEII – Année universitaire 2011-2012 ARS3 : ARS3 : MODBUS MODBUS

1 Département GEII – Année universitaire 2011-2012 ARS3 : ARS3 : MODBUS MODBUS 2 MODBUS Développé par MODICON en 1979 Protocole d ’échange « CLIENT/SERVEUR » Client Serveur Requête (request) Réponse (reply) 3 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 4 MODBUS 5 MODBUS  N ’implémente que les couches 1, 2 et 7 du model OSI, sauf sous TCP/IP 6 MODBUS Protocol Protocol Application Application 1 7 Protocol Application Couche application définie PDU (Protocol Data Unit) indépendant de la couche liaison et du support de transmission Couche application Code fonction Données Couche liaison Adresse Contrôle Couche liaison rajoute des champs pour constituer ADU (Application Data Unit) 8 PDU Client ->Serveur Code fonction 1 octet – code fonction [1;127] – code exception [128;255] Data : n octets , dépend du code fonction et contient habituellement des variables. Peut être nul. Client Envoi une requête Serveur Code fonction Data 9 PDU Serveur ->Client Si pas d ’erreur Client Attend la réponse Serveur Exécute l ordre, renvoie la réponse Code fonction Data •Les données demandées en mode lecture •Les données reçues en mode écriture Celui envoyé par le client 10 0x01 : code de la fonction lecture des sorties tout ou rien 0x0013 : code hexa sur 2 octets de la première sortie 0x0013 : nombre de sorties à lire, codé en hexa sur 2 octets 01|00|13|00|13 0x01 : code de la fonction demandée par le client 0x03 : nombre d’octet à suivre 0xCD : état des sorties 27 – 20 0x6B : état des sorties 35-28 0x05 : état des sorties 38 - 36 01|03|CD|6B|05 Client Serveur 0xCD=>11001101 Sortie 27 à 20 LSB MSB 11 Si erreur! Client Attend la réponse Serveur Détection d ’erreur, renvoie la réponse Code fonction Code Erreur Celui envoyé par le client mais en mettant le MSB à 1 12 0x01 : code de la fonction lecture des sorties tout ou rien 0x04A1 : code hexa sur 2 octets de la première sortie 0x0001 : nombre de sorties à lire, codé en hexa sur 2 octets 01|04|A1|00|01 81|02 Client Serveur 0x81 : code de la fonction demandée par le client+0x80 0x02 : code correspondant à une adresse inexistante 13 MODBUS MODBUS sur MODBUS sur liaison série liaison série 2 14 MODBUS série Couche 1 et 2 du model OSI liaison 2 fils sur interface EIA/TIA-485 (RS485) protocole de type maître/esclave – maitre -> Client – esclave(s) -> Serveur(s) topologie en bus 15 protocole maitre/esclave 1 seul maître parle, le(s) esclave(s) écoute(nt) communication toujours à l ’initiative du maître esclaves ne communiquent pas entre eux 2 modes de communication – diffusion (broadcast) – individuel (unicast) 16 Mode Broadcast Requête envoyée à tous les esclaves Requête d ’écriture uniquement Requête envoyée à l ’adresse 0x00 Pas de réponse des esclaves 17 Mode Unicast Maitre adresse 1 seul esclave à la fois Après traitement de la demande, esclave renvoie sa réponse 18 Mode Unicast Règles d ’adressage – maître n ’a pas d ’adresse – adresse 0 réservée au mode broadcast – adresses esclaves [1;247] – adresses [248;255] sont réservées – une adresse unique pour chaque esclave 19 TRAME MODBUS L application fournie le PDU la couche liaison rajoute les informations – adresse du récepteur – détection d ’erreur de transmission 20 trame MODBUS Chaque trame contient 4 types d'informations TRAME 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 PDU modbus 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é ADU= Application Data Unit PDU= Protocol Data Unit 21 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 22 MODBUS série 2 modes de transmission – RTU (Remote Terminal Unit) – ASCII (American Standard Code for Information Interchange) le mode de transmission doit être configuré de façon identique pour tous les équipements branchés sur le bus. 23 Mode RTU 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 Rappel Trame MODBUS 24 Transmission RTU Start Stop Data parité 1 bit 8 bits 1 bit 1 bit Forme physique des données La detection d ’erreur est assurée par un calcul de type CRC Cyclical Redundancy Checking 25 Mode ASCII Envoi d ’un caractère sur le support physique – 1 bit de start – 7 bits de donnée (LSB en premier) – 1 bit de parité (paire) – 1 bit de stop Trame MODBUS constituée de 2 caractères ASCII pour coder un octet 26 Transmission RTU Start Stop Data parité 1 bit 7 bits 1 bit 1 bit Forme physique des données Contrairement au mode RTU, la détection de debut et fin de trame n ’est pas assuré par des silences sur la ligne, mais par: • un caractère de « start » « : » (0x3A) • une chaîne de fin constitué de 2 commandes « CR LF » (0x0D et 0x0A) La detection d ’erreur est assurée par un calcul de type LRC Logitudinal Redundancy Checking 27 Communication maître esclave Comportement du maître Idle Attendre Taround Attente réponse Traitement réponse Traitement erreur Time out expiré/ Réponse reçue/ Requête envoyée / run compteur Time out Réponse reçue/ arrêt compteur Tout Erreur dans la trame/ Traitement erreur fini/ Requête envoyée en diffusion / run compteur Taround Taround expiré 28 Communication maître esclave Comportement de l ’esclave 29 Communication maître esclave Evolution temporelle d ’une communication 30 Interface physique Nouveau système sur RS485 standard – 2 fils – logique négative – 9600 ou 19200 bps (par défaut) – connectique RJ45 31 Interface physique Topologie en bus 32 Interface physique Câblage 2fils (typique) 33 Interface Physique LT: Termination Line, limte les problèmes de réflexion sur la ligne – 150  – 120  // 1nF Pull-Up Pull-Down: polarisation de la ligne, assure un état stable en l’absence de communication sur la ligne 34 Interface physique RJ45 2 fils 35 Interface physique Solution 4 fils 36 Interface Physique Connectique RJ45 en 4 fils 37 Interface physique Passage de 4 fils à 2fils 38 MODBUS MODBUS sur MODBUS sur TCP/IP TCP/IP 3 39 MODBUS TCTIP Permet la communication entre équipements utilisant différents mode de communication 40 trame MODBUS Une en tête spécifique est utilisée en TCP/IP pour identifier l'APU MODBUS : MBAP MODBUS APPLICATION PROTOCOL HEADER TRAME MODBUS/TCP MODBUS sous TCP/IP En tête MBAP Code fonction data ADU= Application Data Unit PDU= Protocol Data Unit L'@ esclave MODBUS est remplacée par l'octet Unit Identifier de l'en tête MBAP Le serveur est sur le PORT : 502 41 trame MODBUS Structure du MBAP champ longueur description Identifiant de transaction Identifiant de protocol taille Identifiant D'unité 2 octets 2 octets 2 octets 1 octet Identifiant d'une transaction de type MODBUS: Demande/réponse Protocole MODBUS = 0 Nombre d'octets à suivre (UI+DATA) Remplace la notion d'@ esclave sur le réseau TCP/IP 42 Protocole MODBUS Voici la liste des codes fonction (tous les équipements ne supportent pas tous les codes fonction) Services supportés par MODBUS Écriture de n mots internes ou de registres consécutifs ,param1=adresse param2=Nbre mots, param3=Nbre d'octets, params[i]=valeurs 16h Écriture de n bits internes ou de sortie consécutifs ,param1=adresse param2=Nbre bits, param3=Nbre d'octets, params[i]=valeurs 15h Écriture d'un mot registre ou registre ,param1=adresse param2=valeur 06h Écriture d'un bit interne ou de sortie,param1=adresse param2=0000 ('0') ou FF00('1') 05h Lecture de n mots registre d'entrée ,param1=adresse param2=quantité 04h Lecture de n mots internes ,param1=adresse param2=quantité 03h Lecture de n bits d'entrée ,param1=adresse param2=quantité 02h Lecture de n bits de sortie ,param1=adresse param2=quantité 01h Fonction Code uploads/Management/ cm-modbus.pdf

  • 16
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Aoû 14, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.5005MB