Réseaux Locaux Industriels: H Jamouli
Réseaux Locaux Industriels: H Jamouli
Réseaux Locaux Industriels: H Jamouli
H JAMOULI
• Connectique et câblage
• Réseau MODBUS
ENSA4 - 2005/2006 2
Chapitre 1
ENSA4 - 2005/2006 3
Les réseaux locaux industriels
Définition :
Un réseau local industriel est un système de communication numérique entre des
équipements d’un processus industriel (API, variateur, régulateur numérique, PC, pupitre
opérateur, …) dans le but de réaliser :
- la supervision du processus à distance;
- le pilotage des équipements de l’API;
- la programmation à distance des équipement intelligents;
- la maintenance des équipements industriels.
ENSA4 - 2005/2006 4
Les réseaux locaux industriels
Contraintes industrielles :
ENSA4 - 2005/2006 5
Les réseaux locaux industriels
Niveau Station de
3 travail, PC
Informatique
Gestion
ENSA4 - 2005/2006 6
Les réseaux locaux industriels
Quantité de Fréquence
Temps de réponse
données d’échange
Niveau gestion
M octets Seconde à minute Jour
Réseau pseudo-aléatoire
Unitelway,
Modbus
Niveau cellule
K octets 100ms – 1s Seconde à minute
Réseau lent
Profibus
Niveau capteurs /
AS-i actionneurs Bits millisecondes Milliseconde
Réseau d’échange quasi-
continu
ENSA4 - 2005/2006 7
Chapitre 2
ENSA4 - 2005/2006 8
Schéma de transmission
Circuit de données
Contrôleur de
ETTD Contrôleur de
communication
ETCD ETCD communication
ETTD
Modem
Ligne de
Jonction transmission
(interface)
Liaison de données
ENSA4 - 2005/2006 9
Support de transmission
Bande passante
W = f2 – f1 (en Hertz)
Puissance
P W 10.log10(P0/P1) = -3 dB.
P1 = 0
2
f1 f2 Fréquence
D = W.log2(1+S/B) en bits/s
Î Transmission utilisant des courants ou des tensions qui reflètent les bits du
message.
Î Transmission optimale :
- Compatibilité avec la bande passante du support ;
- Synchronisation des transitions ;
- Immunité aux perturbations.
ENSA4 - 2005/2006 11
Codes bande de base à 2 états
1 0 0 1 0 1 1 1 0 1
+V
NRZ
-V
∆ = temps bit
NRZi-1
NRZi-2
Manchester
Miller
Manchester
différentiel
IrDA
3∆/16
ENSA4 - 2005/2006 12
Codes bande de base à 3 états
1 0 0 0 0 1 1 1 0 0 0 0 0
+V
AMI (Bipolaire
temps
simple) -V
+V
V
HDB3
B V temps
-V
+V 0 0 0 -V 0 -V 0 0 0 0 +V +V
ENSA4 - 2005/2006 13
Spectres de puissance
Miller
ENSA4 - 2005/2006 14
Transmission numérique sur fréquence porteuse
p(t)=A.cos(2πft+ϕ)
ENSA4 - 2005/2006 15
Transmission asynchrone
B O N J O U R
A B
B0 B1 B2 B3 B4 B5 B6 B7
PARITE
START
STOP
0 1 1 0 1 1 0 1
-12V
ENSA4 - 2005/2006 16
Transmission synchrone
B O N J O U R
A B
Horloge
Données
0 1 1 0 0 1 0 1 1 0 0
Caractère 1 Caractère 2
ENSA4 - 2005/2006 17
Délai de transmission et délai de propagation
• Délai de transmission
• Délai de propagation
Distance en m
Tp =
Vitesse de propagation en m/s
ENSA4 - 2005/2006 18
Chapitre 3
Connectique et câblage
ENSA4 - 2005/2006 19
Câbles métalliques : paires torsadées
ENSA4 - 2005/2006 20
Câbles métalliques : câble coaxial
Gaine
Tresse
Isolant
Âme
• Coaxial RG-58
• Coaxial RG-8
21
Les fibres optiques
Gaine nylon
Couche de protection
22
La liaison RS232 – V24
Broche Broche Entrée/ Dénomination Fonction
Db 25 Db 9 Sortie TxD TxD
RxD RxD
2 3 Sortie TxD (Transmit Data) Émission de données
GND GND
3 2 Entrée RxD (Receive Data) Réception de données
4 7 Sortie RTS (Request To Send) Demande pour émettre
5 8 Entrée CTS (Clear To Send) Prêt à émettre
6 6 Entrée DSR (Data Set Ready) Poste de données prêt +12V Tension absolue TxD-GND ou RxD-GND
7 5 Masse GND (Ground) Masse ‘0’
8 1 Entrée DCD (Data Carrier Detect) Niveau du signal de +3V
réception (signal de ligne) État logique
0 indéterminé
20 4 Sortie DTR (Data Terminal Ready) Terminal paré
-3V
22 9 Entrée RI (Ring Indicator) Indicateur d’appel entrant
‘1’
-12V
Pas de croisement
pour liaison
DTE—DCE !!
ENSA- 2005/2006 23
La liaison RS232 – V24
ENSA - 2005/2006 24
La liaison RS485
Enable
‘0’
TX+ RX+
TX RX A
TX- RX-
∞ B
GND GND
ENSA - 2005/2006 25
Bus RS485 – 2 ou 4 fils
+5V
390 Ω
Rp TX+/RX+ (DB)
TX-/RX- (DA)
390 Ω Rp
TX+
0V DA DB TX DA DB
TX-
Bus 4 Fils
Bus Maître Æ Esclave 120 Ω
RTS
TX+
TX+ TX- RX+ RX- TXD TX+ TX- RX+ RX- TX+ TX- RX+ RX-
TX-
Station D
ENSA - 2005/2006 26
Adaptation de ligne de transmission
ENSA - 2005/2006 27
Chapitre 4
28
Protection contre les erreurs
• Les lignes de transmission ne sont pas parfaites : des erreurs peuvent être
introduites sur les symboles d’une suite binaire
Taux d’erreur
29
Détection d’erreur sur caractère : le bit de parité
Exemple : VRC avec parité paire, code 7 bits UIT-T (code N°5)
30
Bit de parité (VRC)
caractère clé
31
Longitudinal Redundancy Check (LRC)
• Principe :
– On transmet les n mots du bloc avec leurs bits de parité, suivis du LRC.
– À la réception, on recalcule le bit de parité de tous les mots (VRC) et les
bits de parité longitudinale LRC
– Il n’y a pas d’erreur si les parités reçues et recalculées sont identiques.
32
Détection d’erreur sur trame
• Fonctionnement
Emetteur Récepteur
en-tête / données
/ fin / FCS
en-tête/données/fin Æ calcul FCS recalcule FCS Æ erreur
en-tête/données/fin
Trame correcte
33
Détection d’erreur sur trame
34
Somme de contrôle (Checksum)
35
Somme de contrôle (Checksum)
36
Contrôle de redondance cyclique (CRC)
37
Contrôle de redondance cyclique (CRC)
38
Contrôle de redondance cyclique (CRC)
M comp
Exemple : 11010110110000
11010110110000 10011 = G(x)
+ 10011
Transmission du message M=1101011011 avec 1100001010
CRC, G(x) = x4 + x + 1. +
100111
= Q(x)
10011
00001 1
x4M(x) = x13+x12+x10+x8+x7+x5+x4 00000
= (x9+x8+x3+x)(x4+x+1)+x3+x2+x 00010 0
00000
00101 1
La trame transmise sera : 00000
T = 11010110111110 01011 1
00000
10110 0
10011
01010 0
00000
A la réception, T(x) est divisé par G(x). 10100 0
S’il n’y a pas d’erreur, le reste de la division est nul. 10011
01110 0
00000
1110
39
Contrôle de redondance cyclique (CRC)
40
Algorithme CRC-16
début
Index Å 0
CRC Å FFFFh
NÅ0
N++
NON
N > 7?
Index++
NON
Fin Trame?
fin
41
Chapitre 5
42
Architecture des réseaux
Elle représente :
La forme topologique
Æ configuration d’interconnexion des stations
43
Topologie des réseaux
Définition : c’est la façon dont les équipements sont reliés entre eux par le
support physique.
Il existe deux classes de réseaux :
– Ceux en mode de diffusion ;
– Ceux en mode point à point.
boucle
maille double
anneau
44
Interconnexion des réseaux
45
Répéteur
46
Concentrateur (Hub)
47
Pont
Un pont (Bridge) sert à relier des segments d’un même réseau. Il est
actif.
Il offre les services d’un répéteur. Il est capable de convertir des trames
(Ethernet Æ Token Ring).
Commutateur (Switch)
Son rôle est de commuter les trames sur les différents ports en
fonction des adresses de destination.
A B C A B C
G HUB D G SWITCH D
F FàC E F FàC E
49
Commutateur (Switch)
50
Routeur
Achemine les trames d’un poste d’un réseau A à une stations d’un
réseau B. Il interconnecte des réseaux différents.
51
Chapitre 6
ENSA- 2005/2006 52
Problématique
Î Nécessité d'arbitrage !
53
Politiques d’accès
Accèsmultiplexé
Accès multiplexé Accèscontrôlé
Accès contrôlé Accèsaléatoire
Accès aléatoire
Gestion Gestion
Gestion
Gestion
centralisée distribuée
distribuée
centralisée
54
Allocation statique
55
Accès multiple à répartition temporelle
1 2 3
F (Hz)
Capacité
canal
Station 1 Station 2 Station 3 Station 1
temps
T
Avantages : Time Slice Inconvénients :
• Simplicité ; • Manque d’efficacité, mauvaise utilisation de la
• Équitabilité ; bande passante ;
• Priorités faciles à mettre en œuvre. • Besoin de synchronisation Æ une station
« primaire » émet un message de synchro.
pour démarrer un nouveau cycle ;
• Problème de fiabilité de la station primaire ;
• Tout ajout ou retrait de station implique une
modification du cycle.
56
Accès multiple à répartition de fréquence
F (Hz)
1 2 3
Canal 3
Capacité
canal Bande de garde
Canal 2
temps
Avantages : Inconvénients :
• Simplicité ; • Inter-bandes Æ gaspillage ;
• Équitabilité ; • Mauvaise utilisation de la bande passante ;
• Priorités faciles à mettre en œuvre. • Tout ajout ou retrait de station implique une
modification du découpage de la BP.
57
Allocation dynamique
58
Allocation dynamique : accès contrôlé
Gestion centralisée
Gestion distribuée
59
Méthode Maître/Esclave
C’est la méthode la plus élémentaire, mais parmi les plus répandues dans les
réseaux industriels.
Une station est maître de la voie ; c’est elle qui initie les échanges. Les
esclaves se contentent de répondre aux questions du maître.
11 2 3
Maître Esclave 1 Esclave 2
Méthode implantée selon 3 mécanismes :
Question
(a) Réponse
(b) Diffusion
Multicast
(c)
60
Accès par « Polling »
Le maître interroge (poll), à tour de rôle, les différents esclaves pour savoir s’ils
ont des données à émettre.
S4
MM
Maître S1 S2 S3
Quelque chose
à émettre S1 ?
Non
Un message esclave Æ esclave passe
Quelque chose à émettre S2 ?
obligatoirement par le maître… Oui, Voilà mon message
ACK1
61
Accès par « Polling » : dialogue esclave/esclave
MM
Maître S1 S2 S3 S4
Poll
NACK
Dialogue S2 Æ S1
Poll
ACK, DATA
Le maître récupère les données par polling. ACK1
ACK
ACK = Acknowledge (OUI)
DATA
NACK = Negative Acknowledge (NON)
ACK1
Poll
NACK
Poll
Î Gestion assez lourde. Le réseau est chargé par la tâche de monitoring, surtout quand
le nombre de stations est grand.
62
Accès par « Probing »
Principe :
Æ le maître envoie un signal à tous les esclaves : « voulez-vous transmettre ? » ;
Æ les esclaves souhaitant émettre répondent dans un temps qui leur est dédié ;
Æ le maître donne la paroles successivement aux stations ayant répondu.
1 2 3 … j … n 1 j n
Polling général & réponses dans un temps dédié Accès aux stations voulant
transmettre
63
Gestion centralisée : conclusion
64
Gestion distribuée
65
Méthode du jeton sur anneau (1)
demande émission
revenue.
J
Æ La trame est retirée par l’émetteur. demande émission
J
J
(3) (4)
66
Méthode du jeton sur anneau (2)
J
J
Problème : le jeton
- existence
- unicité
(3) (4)
67
Méthode du jeton sur bus
TS 4 TS 3 TS 7
PS 7 PS 8
NS 2 NS 4
TS 2 TS 1 TS 5 TS 8
PS 4 PS 2 PS 1
Normalisation IEEE 802.4 NS 1 NS 8 NS 7
(Token Bus)
- Boucle ordonnée dans le sens des adresses décroissantes ;
- Fermeture assurée par la station d’@ la plus basse vers la station d’@ la plus haute ;
- Une station recevant le jeton ne peut transmettre que pendant une durée limitée ;
- Chaque coupleur actif mémorise (TS, NS, PS) ;
- Une station non intégrée dans la boucle peut recevoir ;
- Une station détenant le jeton peut déléguer sa transmission.
68
Allocation dynamique : accès aléatoire
Principe de Aloha :
- lorsqu’une station souhaite transmettre un message, elle l’envoie.
- s’il y a collision, le message est retransmis ultérieurement.
Station 1 Station 1
Station 2 Station 2
Station 3 Station 3
temps temps
69
Aloha pur et Aloha discrétisé
début début
Attente d’un
Émission de la signal d’horloge
trame
Émission de la
Écoute du trame
support
Écoute du
non oui support
Collision?
fin Arrêt
transmission
Durée aléatoire
Durée aléatoire
Aloha pur Aloha discrétisé
70
Méthode CSMA/CD
Carrier Sense Multiple Access with Collision Detection = Accès Multiple avec
Écoute de la Porteuse et Détection de Collisions.
C’est le mode d’accès utilisé par Ethernet. Il est normalisé IEEE 802.3.
Principe :
– Une station voulant émettre écoute le canal. S’il est libre, elle envoie sa trame.
Sinon, elle attend que le canal soit libre.
– Pendant la transmission, l’adaptateur continue à surveiller la ligne. S’il ne
détecte aucun signal en provenance des autres stations, il continue.
– S’il détecte le début d’une autre transmission, il interrompt la sienne et envoie
un signal de brouillage de 48 bits (bits de bourrage).
– Après l’interruption, la station se met en phase d’attente exponentielle
(exponential backoff phase)…
71
Méthode CSMA/CD
Station 3
Station 2
Station 1
ÎAvantages :
Æ très grande décentralisation ;
Æ très efficace sous faible charge ;
Æ faible coût.
Î Inconvénient : ne garanti pas un temps minimum d’accès au canal
(problème du temps réel).
ª CSMA/DCR (Deterministic Collision Resolution)
ª CSMA/NBA (Non destructive Bitwise Arbitration)
72
Méthode CSMA/CD
début
Émission de la
trame
Écoute du
support
non
Collision?
oui
Bourrage
48 bits
Durée aléatoire
fin
73
Chapitre 7
Réseau MODBUS/JBUS
74
Protocole MODBUS/JBUS
Le protocole Modbus a été définit en 1978 par Modicon (fabriquant d’APIs US) pour
réaliser des communications entre les automates Modicon et la console de
programmation.
JBUS est un protocole proposé par APRIL et il est inspiré de Modbus. JBUS est
compatible Modbus si bien que l’on parle souvent de protocole Modbus/JBUS.
Æ JBUS commence ses adresses de données à 1 et non à 0 ;
Æ JBUS intègre un service périodique de liaison de données.
75
MODBUS/JBUS (différences)
76
Caractéristiques de MODBUS
Type : réseau Maître Esclaves point à point ou multipoint. 1 seul maître et jusqu’à 247
esclaves (en théorie).
Protocole d’accès :
- Question/Réponse entre le maître et un esclave Æ Query/Response
- Diffusion générale/Sans réponse du maître vers tous les esclave Æ Broadcast
77
Caractéristiques de MODBUS (suite)
Fonctions :
- Lecture/Écriture de mots de 16 bits ;
- Lecture/Écriture de bits ;
- Lecture Rapide d’un octet particulier de l’esclave ;
- Téléchargement de programme ;
- Run/Stop automate.
Surveillance :
Chaque esclave gère de façon interne des compteurs de diagnostic accessibles par le
maître. Ils permettent de surveiller l’état de fonctionnement des coupleurs des esclaves.
78
MODBUS et le modèle OSI
6 – Présentation
5 – Session
4 – Transport
3 – Réseau
Maître/Esclaves : Question/Réponse, Diffusion ;
2 – Liaison de données Codage ASCII/RTU ; CRC/LRC ; 3 réémissions ;
Compteurs de diagnostic
ENSA - 2005/2006 79
Méthode d’accès à la voie
Æ Type Maître/Esclaves, tel qu’il n’existe pas d’activité permanente sur la ligne.
Æ Les échanges sont réalisés à l’initiative du maître. Les esclaves sont passifs ; ils se
contentent de répondre aux questions du maître.
Maître
Maître
Analyse Q
Q Attente réponse
Q
Question/
M
Réponse
Traitement R
demande
R
E1 Esclave 1 Esclave 2 Esclave 3
Requête en Requête en
Diffusion diffusion diffusion Maître
Maître
générale M
E1
Traitement de Traitement de
E2 la diffusion la diffusion
Esclave 1 Esclave 2 Esclave 3
Æ Le mode ASCII offre des performances inférieures à RTU mais il est plus
simple à mettre en œuvre. Il offre une « souplesse » plus importante sur
le timing inter-octets (jusqu’à 1 sec). Il est utilisé pour les interfaces
opérateurs et les applications de dialogue avec le calculateur hôte.
81
Trames MODBUS : codage ASCII
Une trame ASCII a une longueur maxi. de 525 octets. Elle contient 6 champs :
Chaque octet est codé sur 2 caractères ASCII, chacun contenant 4 bits d’information :
- le 1er caractère émis contient le quartet de poids fort ;
- le 2ème caractère contient le quartet de poids faible.
Le code ASCII associé à chaque octet ne peut être que 0—9, A—F (hexadécimal).
Ainsi, pour coder l’esclave d’@ 1Ah, la champ adresse de la trame ASCII contiendra les deux octets
31h (‘1’) et 41h (‘A’).
82
Réception d’une trame ASCII
Caractère
Î Fonctionnement asynchrone. reçu=‘LF’
oui
Trame reçue en
buffer
83
Trames MODBUS : codage RTU
Une trame RTU a une longueur maxi. de 261 octets. Elle est composée de 4 champs :
Chaque octet d’information est codé sur un caractères (valeur entre 00h et FFh).
84
Réception d’une trame RTU
Sous-programme
2) Si un autre caractère est reçu avant la fin de Rangement dans
Interruption
buffer
la temporisation, celui-ci est mémorisé dans
le tampon puis le Timer est relancé. Timer écoulé
Lancement Timer
3) Si aucun caractère n’est reçu avant la fin 3,5 temps caractère Fin Interruption
oui
4) Si la ligne est coupé avant que l’esclave
n’ait reçu la trame complète, celui-ci Trame récue
n’attendra pas plus de 3,5xTc.
85
Comparaison ASCII/RTU
Contrôle Erreur LRC (2 car.) CRC (16 bits) Donnée Lo 00 0 0 0000 0000
Fin CR LF Aucun
86
Gestion des erreurs en réception
La trame est logiquement erronée : (code fonction non supporté par l’esclave, adresse
inexistante, …). L’esclave destinataire répond par une trame d’exception qui a la forme
suivante :
87
Trames d’exception MODBUS
L’esclave renvoie un code d’erreur sur un octet, signifiant le type d’erreur rencontré. La
signification précise de l’erreur est fonction de l’implémentation Modbus faite par le
constructeur du poste esclave.
ASCII RTU
1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5
:
1 CR LF 1
L’esclave retourne le code fonction émis par le maître en positionnant le bit de poids
fort à 1, pour signifier une réponse d’exception.
88
Clés de contrôle d’erreur MODBUS
89
Clé de contrôle Checksum (LRC8)
ENSA 2005/2006 90
Clé de contrôle Checksum (LRC8) (suite)
3A 30 34 30 36 30 34 46 46 46 38 41 36 35 35 0D 0A
En-
@ Esclave Code fonction @ Mot Valeur mot LRC fin
tête
ENSA 2005/2006 91
Clé de contrôle CRC-16
En mode RTU, c’est un contrôle de redondance cyclique qui est utilisé. Il est
sur 16 bits (CRC-16).
Index Å 0
CRC Å FFFFh
NON
Retenue = 1?
Implantation : on supprime le17ème
bit (MSB) et on
retourne la séquence
Î 1010 0000 0000 0001 = A001h CRC Å CRC XOR A001h
N++
NON
Nota : N > 7?
ENSA- 2005/2006 92
Clé de contrôle CRC-16 (suite)
{
unsigned char chCRCHi = 0xFF; /* initialisation octet haut du CRC */
unsigned char chCRCLo = 0xFF; /* initialisation octet faible du CRC */
unsigned Index; /* indice de parcours du message */
ENSA- 2005/2006 93
Clé de contrôle CRC-16 (suite)
04 06 04 FF F8 A6 7B 25
@ Code
@ Mot Valeur mot CRC
Esclave fonction
ENSA - 2005/2006 94
Compteurs de diagnostic
ElNSA - 2005/2006 95
Compteur d’évènement
@ @
0B CRC 16 0B 00 00 Compteur CRC 16
Esclave Esclave
ENSA - 2005/2006 96
Fonctions standard
ENSA - 2005/2006 97
Exemple de trames MODBUS (RTU)
Demande
Réponse
ElNSA - 2005/2006 98
Exemple de trames MODBUS (RTU) (suite)
Demande
Réponse
ENSA - 2005/2006 99
Exemple de trames MODBUS (RTU) (suite)
Demande
Réponse
Le nombre de bits à lire doit être ≤ 2000. La longueur du champs « octets » = n/8.
Demande
Réponse
Demande
Réponse