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