CH2 : LE PROTOCOLE
Principes & applications à la gestion
d’énergie
PLAN :
1 - Présentation
1.1 – Objectifs
1.2 – Exemple d’application
1.3 – Types de données
1.4 – Principales fonctions
2 – Supports de Communication
2.1 – RS232
2.2 – RS485
2.3 – Ethernet
2.4 - Synthèse
3 – Description des échanges
3.1 principe
3.2 Trames Modbus RTU
3.3 Trames Modbus TCP
Conclusion
1 - PRÉSENTATION
1-1 – Objectifs
Faire ……….. entre eux différents équipements d’automatisme (automates, variateurs, IHM…)
Echanger des données sous formes de ……… et de ……….
Groupe Schneider / Merlin Gerin / Télémécanique (Modicon à l’époque) à l’origine du projet
Système de communication basé sur une liaison série
Exemple :
Affichage état de l’état
fonctionnement
Ordres de pilotage Liaison Modbus
1-2 – Exemple d’application
L’architecture suivante permet la supervision d’une installation de production d’électricité photovoltaïque. Elle est composée de :
4 capteurs de courants DC permettant de mesurer les courants produits par chacune des 4 chaînes (panneaux en série) composant l’installation.
Un contrôleur Wago 750-849, muni d’une carte 8 entrées TOR utilisée pour relever l’état des disjoncteurs de l’installation, et d’une carte de liaison série RS485 permettant de lire l’état des capteurs via le réseau Modbus.
Un compteur d’énergie communicant Schneider IEM3150 permettant de relever les paramètres électriques (notamment la puissance produite par l’installation) côté alternatif (en sortie de l’onduleur)
Un écran tactile Schneider permettant de superviser le système : visualisation des courants, de la puissance produite, de l’état des disjoncteurs,
acquittement d’alarmes etc…
Réseau Ethernet
IHM : Ecran Tactile HMIGTU
@IP : 192.168.0.100
Automate Wago 750-849
@IP 192.168.0.101 - Carte 8 E TOR - Carte RS485
Compteur Energie iem3150
@ esclave : 5
Synoptique de l’installation :
Liaison RS485**
Capteur Courant 1 Capteur Courant 2 Capteur Courant 3 Capteur Courant 4
1-3 – Types de données
4 types de données sont définis par le protocole:
Type d’objet
Accès Exemples
………….. Bit R - entrées TOR
- Fin de course
- Contact auxiliaire de disjoncteur
………... Bit R/W - Sorties TOR
- Bit interne
- RAZ d’un compteur d’énergie
………… Mot R - Entrées analogiques
- Lecture d’un capteur
…………. Mot R/W - Sorties analogiques
- Variable d’un programme (ex:
temporisation, opérande d’un calcul…) - Valeur de paramétrage d’un
équipement (ex : consigne de vitesse d’un variateur…)
Les données d’un équipement sont identifiées par des adresses codées sur
………
Extrait de documentation du compteur d’énergie (1) :
Les fonctions Modbus permettent à des équipements d’échanger ces différents types de données :
Code Fonction Description
1 Lecture de bits (coils)
2 Lecture de bits d’entrée (discret inputs)
3 Lecture de mots (holding registers)
4 Lecture de mots d’entrée (input registers)
5 Ecriture de 1 bit
6 Ecriture de 1 mot
15 Ecriture de n bits
16 Ecriture de n mots
Exemples (installation ventilation du §1.2) :
• Fixer la vitesse de rotation d’un ventilateur : ……….
• Relever les mesures du compteur d’énergie : ………
• Afficher l’état des disjoncteurs : ………..
1-4 – Principales Fonctions
Extrait de documentation du compteur d’énergie (2) :
Extrait de documentation du capteur de courant :
Extrait de
documentation
de l’automate :
Fonctions de Lecture (Code 1 – 2 – 3 – 4) :
• Permettent de lire une ou plusieurs données consécutives dans le plan mémoire de l’esclave
• Chaque fonction permet d’accéder à 1 type de donnée différent :
Bit de sortie (« coil ») : Fonction 1
Bit d‘entrée (« discret input ») : Fonction 2
Mot ou registre mémoire (« holding register ») : Fonction 1
Mot d’entrée (« input register ») : Fonction 1
• On doit donc indiquer à quelle adresse la lecture doit débuter, et combien de données on souhaite lire :
Code Adresse de départ Qtté
1,2,3 ou 4 De 0 à 65535 De 0 à 2000
Exemple 1 : Lecture du courant dans le capteur 3
Exemple 2 : lecture de la puissance active totale
dans le compteur d’énergie
Exemple 3 : lecture de l’état des disjoncteurs dans le contrôleur Wago
L’installation comporte 5 disjoncteurs reliés aux 5 premières entrées TOR de la carte correspondante de l’automate :
Q0 : Disjoncteur tripolaire amont de l’onduleur => entrée %IX0.0
Q1 : Disjoncteur électronique DC unipolaire => entrée %IX0.1
Q2 : Disjoncteur électronique DC unipolaire => entrée %IX0.2
Q3 : Disjoncteur électronique DC unipolaire => entrée %IX0.3
Q4 : Disjoncteur électronique DC unipolaire => entrée %IX0.4
Exercice : Ecrire la fonction de lecture, et ses paramètres,
permettant la lecture des courants débités par les 3 phases de l’onduleur
Fonctions d’écriture (Code 5-6) :
• Permettent d’écrire une donnée dans le plan mémoire de l’esclave :
Bit de sortie (« coil ») : Fonction 5
Mot ou registre mémoire (« holding register ») : Fonction 6
• On doit donc indiquer à quelle adresse on souhaite écrire, et la valeur à écrire :
Code Adresse Valeur
5 De 0 à ….. ……….
6 De 0 à ….. De 0 à 65535
Exemple : Activation du voyant d’alarme (%QX0.0) depuis l’écran de
supervision sur l’automate Wago 750-849
Exercice :
Définition, depuis l’écran de supervision, d’un seuil d’alarme (de puissance en sortie de l’onduleur) contenu dans le mot %MW0 de l’automate sur l’automate Wago 750-849. La valeur à écrire sera 5000.
Fonctions d’écriture (Code 15-16) :
• Permettent d’écrire plusieurs données consécutives dans le plan mémoire de l’esclave :
Bit de sortie (« coil ») : Fonction 5
Mot ou registre mémoire (« holding register ») : Fonction 6
• On doit donc indiquer à quelle adresse on souhaite débuter l’écriture, le nombre de valeur à écrire, et le nombre d’octets correspondant (!) :
Code Adresse de départ
Qtté Nb
d’octets
Valeurs à écrire (1)
Valeurs à écrire (2)
Valeurs à écrire(n) 15 De 0 à
65535
0 à 2000 Qtté / 8 1
erpaquet de 16 bits
2° paquet de 16 bits
… 16 De 0 à
65535
0 à 128 Qtté x 16
1
erMot 2° Mot …
Exercice :
• Rechercher sur internet la documentation du compteur d’énergie Schneider IEM3150
• Trouver le registre permettant de définir la fréquence nominale du réseau électrique de l’installation
• Ecrire la fonction (et ses données de paramétrage) permettant de fixer celui-ci à 50 Hz
2 – SUPPORTS DE COMMUNICATION
2.1 - RS 232
Liaison Point à Point
3 Fils minimums : Emission (Tx) – Réception (Rx) – Masse/référence commune (Gnd)
Niveaux de tension ………..
D < ………….
Esclave Maître
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’
+12V
-12V
V
rs232
Connectique :
2.2 - RS 485
Liaison Multipoints (jusqu’à 63 esclaves en Modbus)
2 Fils minimums : D0 – D1
Transmission différentielle (Niveaux de tension 0V/5V)
D < 120m (1000m avec répéteurs)
Esclave n°1 Maître
Esclave ... n° i
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’
+5V
0V
V
D0
Connectique :
Comparaison RS232 / RS 485 :
Dans tous les cas (RS232 et RS485), on doit définir les paramètres de la communication considérée, et vérifier que le paramétrage soit identique sur toutes les stations :
Débit binaire (« Baudrate ») : Egalement appelé « vitesse de transmission », Il s’exprime en Bauds (Bds) et correspond au nombre de ………
Par défaut, le débit est de 19200 Bds en Modbus. Autres débits usuels : 1200 Bds, 2400 Bds, 4800 Bds, 9600 Bds.
Parité (« Parity ») : Bit de contrôle insérer à la fin de chaque octet transmis vérifiant, selon le paramétrage choisi, que le nombre de bits à ‘1’ dans l’octet est
……….
Le contrôle de parité peut aussi être désactivé (« none »)
Bit(s) de stop : Un bit de Start à ‘0’est inséré au début de chaque octet à transmettre. L’utilisateur peut également paramétrer 1 ou 2 bits de STOP (à ‘1’) à la fin de celui-ci.
Contrôle de flux : Matériel (utilisation des signaux RTS/CTS supplémentaires), logiciel ou aucun. Cette dernière valeur sera choisie par défaut.
Paramétrage de la liaison série du compteur d’énergie :
Paramètres (fixes) de la
liaison série des capteurs
de courant :
‘0’
+5V
0V
V
RS485 Exemple : L’octet d’adresse du capteur 3 sur la liaison RS485
…………..
…………..
………...
………….
‘0’ ‘0’ ‘0’ ‘0’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘1’
…
… …
‘0’
+5V
0V
V
RS485 Exercice : La valeur 254 sur la même liaison RS485 :
-5V
Durée
bit = …
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’
+2V
-2V
V
rx+ 2.3 - Ethernet
Liaison Multipoints
4 Fils minimums (2 paires Rx/Tx)
Transmission différentielle (niveaux +/-2V) + codage manchester
D < 100m
Connectique (câble rj45 100 base T):
2.4 - Synthèse
RS232 : Limité à 2 équipements et aux courtes distances.
RS485 : Solution industrielle, bonne immunité aux parasites em, choix pour les connexions dans le TGBT.
Ethernet : Lien vers la supervision
3 – DESCRIPTION DES ECHANGES
3-1 – Principes
Un échange Modbus est également appelé transaction
Une transaction est composée d’un couple
………
Un réseau Modbus est composé d’un ……… et d’un ou plusieurs ………
Le maître est le seul à pouvoir émettre des requêtes
Les esclaves répondent au maître
Le protocole Modbus définit la composition des trames de
requêtes et de réponse
3-2 – Trames Modbus RTU
La variante RTU de Modbus est la forme la plus utilisée sur lignes séries (RS485 et RS232)
Une trame Modbus RTU comporte les champs suivants :
Rq les trames sont généralement présentées en format hexadécimal
Adresse : ………..
Code fonction : définit le ……… (cf § 1.4)
Données : contient les ………. Pour une lecture : adresse et nombre de données à lire. Pour une écriture : adresse, nombre de valeurs et valeurs à écrire.
CRC : champ de ………
Adresse Code Fonction
Données CRC
1 octet 1 octet N octets 2 octets
Adresse Code Fonction Données CRC
1 octet 1 octet N octets 2 octets
Adresse Code Fonction Données CRC Idem requête Idem requête N octets 2 octets
Adresse Code Fonction Données CRC
1 octet 1 octet N octets 2 octets
Adresse Code Fonction D’exception
Code d’exception CRC
Transaction sans erreur :
Transaction avec erreur : Maître
Maître Maître
Esclave
Esclave
o Lecture du courant 2 :
o Réponse (I2 = 21 A) :
@
Modbus Code Fct Adr 1er bit Qtté CRC… … …. … XX XX
@
esclave Code Fct Nb octets Valeur lue CRC… … … 9102 XX XX
o Lecture du courant 3 :
o Réponse (I3=43 A) :
o Lecture du facteur de puissance en sortie de l’onduleur :
Exercices :
+5V
0V
V
Diffo Tracez le chronogramme de la tension différentielle correspondante sur la liaison RS485 (19200 Bds) :
o Écrire, en binaire, l’ensemble des bits transmis pour le 1° octet de la trame précédente (parité paire, 1 bit de stop) :
-5V
3-3 – Trames Modbus TCP
Le protocole Modbus TCP permet l’encapsulation de trames Modbus dans les trames Ethernet :
Adresse Code Fonction Données
1 octet 1 octet N octets
En-tête Ethernet
En-tête IP En-tête TCP Données CRD
22 octets 12 octets 24 octets 255 octets max 4 octets
En-tête Modbus
6 octets