0% ont trouvé ce document utile (0 vote)
52 vues38 pages

Registres Modbus Schneider IEM3150

Transféré par

Hechmi Khaterchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
52 vues38 pages

Registres Modbus Schneider IEM3150

Transféré par

Hechmi Khaterchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LP SARI – UE4 : Réseaux Industriels

LE PROTOCOLE

N. Néanne - Année 2016-2017


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 – Transactions Modbus
 3.1 principe des échanges
 3.2 Trames Modbus RTU
 3.3 Trames Modbus TCP

 Annexes
 Principales fonctions Modbus
 Extraits de documentations

LP MEEDD - UE2D-ARB
2
1 - PRÉSENTATION
 1-1 – Objectifs
 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
 Faire communiquer entre eux différents équipements
d’automatisme (automates, variateurs, IHM…)
 Echanger des données sous formes de Bits et de Mots
 Exemple :
Liaison Modbus

Affichage état de Ordres de pilotage


l’état
fonctionnement

IHM
@1 API (maître)
Variateur de vitesse
LP MEEDD - UE2D-ARB @2
3
 1-2 – Exemple d’application
 L’architecture suivante permet la supervision d’une installation électrique
destinée à la ventilation d’un local :

 4 variateurs de vitesse Schneider ATV61 sont utilisés pour piloter les moteurs
d’entraînement des ventilateurs

 Un coupleur* Modbus Wago 750-312 muni d’une carte 8 entrées TOR (750-430)
est utilisé pour relevé l’état des disjoncteurs de l’installation. Les contacts
auxiliaires des disjoncteurs sont reliés comme suit :
 Q1 (extraction 1) : DI1
 Q2 (extraction 2) : DI2
 Q3 (insufflation 1) : DI3
 Q4 (insufflation 2) : DI4
 Q0 (général) : DI5 (DI6, DI7, DI8 : N.C)

 Un compteur d’énergie communicant Schneider IEM3150 effectue différents


relevés (puissance instantanée, énergie consommée, courants, tensions…)

LP MEEDD - UE2D-ARB
4
Poste de supervision
PC + carte réseau
Logiciel de supervision
utilisant Modbus (TCP)
@IP : [Link]

Réseau Ethernet

Extraction 1 Passerelle MB Extraction 2 Compteur


Variateur Ethernet/RS485 Variateur Energie
ATV61 @IP : ATV61 iem3150
@ Modbus : 1 [Link] @ Modbus : 4 @ Modbus : 5

Liaison RS485

Insufflation 1 Insufflation 2 Surveillance disjoncteurs


Variateur Variateur Coupleur 750-312
ATV61 ATV61 Carte 8E TOR
@ Modbus : 2 @ Modbus : 3 @ Modbus : 6

LP MEEDD - UE2D-ARB
5
 1-3 – Types de données
 4 types de données sont définis par le protocole:
Type Accès Exemples
d’objet

Discret Inputs Bit R - entrées TOR


- Fin de course
- Contact auxiliaire de disjoncteur

Coils Bit R/W - Sorties TOR


- Bit interne
- RAZ d’un compteur d’énergie

Input Registers Mot R - Entrées analogiques


- Lecture d’un capteur
Holding Registers 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
16 bits.

 Exemple (compteur d’énergie Schneider iem3150) :


LP MEEDD - UE2D-ARB
6
LP MEEDD - UE2D-ARB
7
 1-4 – Principales Fonctions
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 : fonction 6
• Relever les mesures du compteur d’énergie : fonction 3 ou 4
• Afficher l’état des disjoncteurs : Fonction 1

LP MEEDD - UE2D-ARB
8
2 – SUPPORTS DE COMMUNICATION
 2.1 - RS 232
Maître
 Liaison Point à Point
 3 Fils minimums : Emission (Tx) – Réception (Rx) – Masse/référence
commune (Gnd)
 Niveaux de tension +12V (‘0’) / -12V (‘1’) Esclave
 D < 30m
Vrs232
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’

+12V

-12V

LP MEEDD - UE2D-ARB
9
 Connectique :

LP MEEDD - UE2D-ARB
10
Maître
 2.2 - RS 485
 Liaison Multipoints (jusqu’à 63 esclaves en Modbus)
 2 Fils minimums : D0 – D1
Esclave Esclave
 Transmission différentielle (Niveaux de tension 0V/5V) n°1 ... n° i

 D < 120m (1000m avec répéteurs)

VD0
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’

+5V

0V

LP MEEDD - UE2D-ARB
11
Comparaison RS232 / RS 485 :

LP MEEDD - UE2D-ARB
12
 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 bits par seconde.
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 paire
(« even ») / impaire (« odd »).
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), logiciel ou aucun.

LP MEEDD - UE2D-ARB
13
 Connectique :

LP MEEDD - UE2D-ARB
14
 2.3 - Ethernet
 Liaison Multipoints
 4 Fils minimums (2 paires Rx/Tx)
 Transmission différentielle (niveaux +/-2V) + codage manchester
 D < 100m

Vrx+
‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘1’ ‘0’ ‘0’ ‘1’

+2V

-2V

LP MEEDD - UE2D-ARB
15
 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

LP MEEDD - UE2D-ARB
16
3 – TRANSACTIONS MODBUS

 3-1 – Principe des échanges


 Un échange Modbus est également appelé transaction
 Une transaction est composée d’un couple Requête/Réponse
 Un réseau Modbus est composé d’un maître et d’un ou plusieurs
esclave(s)
 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

LP MEEDD - UE2D-ARB
17
 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 Données CRC


Fonction
1 octet 1 octet N octets 2 octets

 Adresse : n° d’esclave Modbus


 Code fonction : définit le type d’échange (cf § 1.4)
 Données : contient les données relatives à la fonction. Pour une
lecture : adresse et nombre de données à lire. Pour une écriture :
adresse, nombre de valeurs et valeurs à écrire.
 CRC : champ de contrôle

LP MEEDD - UE2D-ARB
18
Transaction sans erreur :
Maître
Adresse Code Fonction Données CRC
1 octet 1 octet N octets 2 octets

Esclave
Adresse Code Fonction Données CRC
Idem requête Idem requête N octets 2 octets

Maître

Transaction avec erreur :


Maître
Adresse Code Fonction Données CRC
1 octet 1 octet N octets 2 octets

Esclave
Adresse Code Fonction Code d’exception CRC
D’exception
Idem requête Code + 0x80 1 octets 2 octets
1: ε sur code fct
2 : ε sur adresse
Maître 3 : ε sur données
4 : autre ε
LP MEEDD - UE2D-ARB
19
o Lecture de l’état des disjoncteurs pour affichage sur le superviseur :

@ Modbus Code Fct Adr 1er bit Nb de bits CRC


06 02 00 00 00 05 XX XX

o Réponse (seul Q3 est ouvert) :

@ Modbus Code Fct Nb octets État des bits CRC


06 02 01 0 XX XX

xxx1 10112 → 1B16

Q0 Q4 Q3 Q2 Q1

o Affichage des vitesses de rotation des 4 ventilateurs sur le superviseur :


@ Modbus Code Fct Adr 1er mot Nb de mots CRC
01 03 01 91 00 01 XX XX
Idem pr les 3 autres ventilateurs
40110 → 19116
avec @Modbus=2,3 et 4
LP MEEDD - UE2D-ARB
20
o Réponses (Ext1=5,5 Hz, Ext2=15 Hz, Ins1=7Hz, Ins2=22,5Hz)

o Commande du ventilateur d’extraction 2 (Consigne de fréquence = 20 Hz)

o Réponse :

LP MEEDD - UE2D-ARB
21
 3-3 – Trames Modbus TCP
 Le protocole Modbus TCP permet l’encapsulation de trames
Modbus dans les trames Ethernet :

En-tête En-tête IP En-tête TCP Données CRD


Ethernet
22 octets 12 octets 24 octets 255 octets max 4 octets

En-tête Modbus Adresse Code Fonction Données

6 octets 1 octet 1 octet N octets

 Le Port n°502 est utilisé pour les échanges Modbus sur TCP.

LP MEEDD - UE2D-ARB
22
 Modbus rajoute une en-tête compsée des champs suivants :

En-tête Modbus

6 octets

Transaction ID Protocol ID Length

2 octets 2 octets 2 octets

 Transaction ID :

 Protocol ID :

 Length :

LP MEEDD - UE2D-ARB
23
o Lecture des courants pour affichage sur le superviseur:

o Lecture des tensions pour affichage sur le superviseur:

LP MEEDD - UE2D-ARB
24
o Lecture des puissances affichage sur le superviseur:

LP MEEDD - UE2D-ARB
25
ANNEXES
- PRINCIPALES FONCTIONS MODBUS-
- Fonction 01
- Fonction 02
- Fonction 03
- Fonction 04
- Fonction 05
- Fonction 15
- Fonction 16

- DOCUMENTATIONS TECHNIQUES -
- Variateur ATV61
- Coupleur Modbus Wago 750-31x
- Borne 8 E TOR Wago 750-430

LP MEEDD - UE2D-ARB
26
Fonction 0x01 : Lecture de n bits de sorties.

Cette fonction permet de lire 1 à 2000 bits consécutifs dans le segments


mémoire du serveur correspondants aux sorties discrètes (« coils »).

La trame de requête contient les champs suivants :

Code Fonction 1 Octet 0x01

Adresse de départ 2 Ocets De 0x0000 à 0xFFFF

Nombre de bits à lire : 2 Octets De 1 à 2000 (0x7D0)

La trame de réponse, si aucune erreur ne survient :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x01
Nombre d'octets de la trame de réponse : 1 octets N*
Etat des bits lus : N octets Etat des bits lus
* Rq : N = (nb_de_bits) / 8 si nb_de_bits est un multiple de 8
N = (nb_de_bits) / 8 + 1 dans le cas contraire
LP MEEDD - UE2D-ARB
27
Fonction 0x02 : Lecture de n bits d'entrées.

Cette fonction permet de lire 1 à 2000 bits consécutifs dans le segments


mémoire du serveur correspondants aux entrées discrètes (« discrete
inputs »).

La trame de requête contient les champs suivants :

Code Fonction 1 octet 0x02

Adresse du 1° bit à lire 2 octets 0x00 à 0xFFFF

Nombre de bits à lire 2 octets 0x00 à 0x2000

La trame de réponse, si aucune erreur ne survient :


Code Fonction 1 octet 0x02
Nombre d'octets de du champ 1 octets N
suivant
État des bits lus N octets Valeurs lues

LP MEEDD - UE2D-ARB
28
Fonction 0x03 : Lecture de n registres.

Cette fonction permet de lire 1 à 125 mots (16 bits) consécutifs dans le
segments mémoire du serveur correspondants aux registres accessibles
en lecture/écriture (« Holding register »).

La trame de requête contient les champs suivants :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x03
Adresse du 1° registre à lire : 2 octets 0 à 0xFFFF
Nombre de registres à lire (n) : 2 octets 1 à 125 (0x7D)

La trame de réponse, si aucune erreur ne survient :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x03
Nombre d'octets du champ suivant : 1 octet 2xn
Mots lus : n x 2 octets Valeurs lues

LP MEEDD - UE2D-ARB
29
Fonction 0x04 : Lecture de n mots d'entrée.

Cette fonction permet de lire 1 à 125 mots (16 bits) consécutifs dans le
segments mémoire du serveur correspondants aux registres accessibles
en lecture seule (« Input register »).

La trame de requête contient les champs suivants :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x04
Adresse de départ : 2 octets 0x0000 à 0xFFFF
Nombre de registres à lire (n) : 2 octets 1 à 125 (0x7D)

La trame de réponse, si aucune erreur ne survient :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x04
Nombre d'octets de la trame de réponse : 1 octet 2xn
Valeurs de registres lus : nx2 octets valeurs

LP MEEDD - UE2D-ARB
30
Fonction 0x05 : Ecriture d'un bit de sortie.
Cette fonction permet de forcer une sortie à '1' ou à '0' sur l'équipement distant. Le
sous-champ « valeur » du champ « données » contient 2 octets : la valeur 0xFF00
permet le forçage à '1', la valeur 0x0000 le forçage à '0'; toutes les autres valeurs
sont interdites. La réponse à cette requête est un écho de la requête.

La trame de requête contient les champs suivants :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x05
Adresse du bit à écrire : 2 octets 0x0000 à 0xFFFF
Valeur à écrire ('0' ou '1') : 2 octets 0x0000 ou 0xFF00
Si aucune erreur ne survient, la trame de réponse est identique à la trame de
requête (écho)

La trame de réponse, si une erreur survient :


Champ : Taille : Valeur :
Code d'erreur : 1 octet 0x85
Code d'exception : 1 octet 01, 02, 03, ou 04

LP MEEDD - UE2D-ARB
31
Fonction 0x06 : Ecriture d'un registre de sortie.
Cette fonction permet l'écriture d'une variable sur un mot accessible en
lecture/écriture de l'équipement distant. La réponse à cette requête est un écho de
la requête.

La trame de requête contient les champs suivants :

Champ : Taille : Valeur :


Code Fonction : 1 octet 0x06
Adresse du registre à écrire : 2 octets 0x0000 à 0xFFFF
Valeur à écrire (big endian) : 2 octets 0x0000 à 0xFFFF
Si aucune erreur ne survient, la trame de réponse est identique à la trame de
requête (écho)

La trame de réponse, si une erreur survient :

Champ : Taille : Valeur :


Code d'erreur : 1 octet 0x86
Code d'exception : 1 octet 01, 02, 03, ou 04

LP MEEDD - UE2D-ARB
32
Fonction 0x0F : Ecriture de n bits de sortie.
Cette fonction permet d'écrire 1 à 1968 bits consécutifs d'un équipement distant. La
réponse à cette requête renvoie le nombre de bits écrits ainsi que l'adresse de
départ en écho.

La trame de requête contient les champs suivants :

Champ : Taille : Valeur :


Code Fonction : 1 octet 0x0F
Adresse de départ : 2 octets 0x0000 à 0xFFFF
Nombre de bits à écrire : 2 octets 0x0001 à 0x07B0
Nombre d'octets du champ suivant 1 octet 0 à 255
Le rangement
Valeurs à écriredes bits à l'intérieur des mot se fait de la façon suivante
N octets :
.................

Adresse de départ b15 b14 b13 ....... b3 b2 b1 b0


Adresse de départ + 1 b31 b30 b29 ....... b18 b17 b16
Adresse de départ + 2 etc...

LP MEEDD - UE2D-ARB
33
Fonction 0x10 : Ecriture de n registres.
Cette fonction permet d'écrire 1 à 123 registres consécutifs d'un équipement
distant. La réponse à cette requête renvoie le nombre de registres écrits ainsi que
l'adresse de départ.
La trame de requête contient les champs suivants :
Champ : Taille : Valeur :
Code Fonction : 1 octet 0x10
Adresse du 1° mot à écrire : 2 octets 0x0000 à 0xFFFF
Nombre de mots à écrire (n) : 2 octets 0 à 0x7B
Nombre d'octets du champ suivant 1 octets 0 à 255
Valeurs à écrire (big endian) : n octets 0x0000 à 0xFFFF

La trame de réponse (sans erreur) :


Champ : Taille : Valeur :
Code Fonction : 1 octet 0x10
Adresse du 1° mot écrit : 2 octet 0 à 0xFFFF
Nombre de mots écrits 2 octets n

LP MEEDD - UE2D-ARB
34
LP MEEDD - UE2D-ARB
35
LP MEEDD - UE2D-ARB
36
Borne 8 E TOR Wago 750-430 :

LP SARI – UE4,RLI
37
Variateur
de Vitesse
ATV61 :

LP MEEDD - UE2D-ARB
38

Vous aimerez peut-être aussi