pour la GTB
LP MEEDD Nicolas Néanne
02/10/2018
Automatismes &
Automatismes &
Réseaux pour la Réseaux pour la
GTB GTB
neanne@univ-tln.fr
1 / Définitions et besoins
a – GTB
b - Télégestion
2 / Transmissions des données
a – Codage numérique des informations b – Codage électrique et modulations c – principe du bus de terrain
d – survol de TCP/IP
3 / Présentation d'un contrôleur de GTC/GTB
a – Présentation du 750-849 b – Éléments de Programmation
Ch 1 : Introduction
Nicolas Néanne 3
1- Définitions & Besoins
a – GTB
La Gestion Technique des Bâtiments (BMS en Anglais : « Building Management System ») vise à gérer et à superviser l'ensemble des équipements qui y sont installés, assurant les fonctions de :
✔ confort (optimisation de l'éclairage, du chauffage),
✔ gestion d'énergie (programmation),
✔ sécurité (comme les alarmes)
✔ communication (comme les commandes à distance ou l'émission de signaux destinés à l'utilisateur) que l'on peut retrouver dans les maisons, les hôtels, les lieux publics...
Définition :
Les technologies mises en œuvre font appel à la programmation d'équipements visant à assurer les fonctions d'automatismes ainsi qu'à leur paramétrage en vue de les faire communiquer.
Nicolas Néanne 5
b – Télégestion
Suivi de production
La télégestion (gestion à distance) des installations de production d'énergie
(centrales photovoltaïques notamment) va permettre des apports considérables en termes d'exploitation :
Suivi de production
Télémaintenance
Les technologies mises en jeu feront notamment appel à des réseaux de communications adaptés, ainsi que des serveurs Web embarqués dans les équipements de production (les onduleurs par exemple) ou indépendants.
La détection précoce d'un défaut de production, ou d'une panne sur un
composant, permettra une intervention optimale des équipes de maintenances, et limitera ainsi les pertes de production.
L'archivage et le suivi en temps réelles des données de production permettra une estimation au plus juste, et permettra au propriétaire de la centrale de production de confronter la production réelle au prévisionnel.
2- transmission des données
a – Codage Numérique des informations
Tout système informatique (c'est à dire un système qui traite les informations de façon automatique) représente les données (ou informations) de façon numérique c'est à dire par des nombres).
Ces systèmes vont nous confronter à différentes représentations des nombres et caractères....
Par ailleurs, les systèmes que nous allons étudier étant basés sur les échanges et la communication, il va donc falloir appréhender la façon dont ces données
Nicolas Néanne 7
✔ Réprésentations Binaires & Hexadécimale
Outre la notation naturellement adoptée sous forme décimale des nombres, on rencontre fréquemment lorsque l'on est amené à intervenir sur un système informatique (tels que certains équipements de télégestion ou d'immotique) deux autres bases de numération :
✔ La base binaire : Elle comporte deux symboles ('0' et '1'). Cette
représentation est la plus fidèle à la façon dont sont traités physiquement les données dans un système informatique.
On aura par exemple recours à cette représentation lorsqu'il s'agira d'analyser des données circulant sur une liaison à l'aide d'un appareil de mesure.
✔ La base hexadécimale : Elle comporte 16 symboles ('0' à '9' puis 'A' à 'F').
Cette offre l'avantage d'être beaucoup plus compacte que la représentation binaire; l'intérêt étant que le passage de l'une à l'autre et aisé.
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Nicolas Néanne 9
✔ Conversion Hexa → Décimal
La valeur (décimale) d'un nombre affiché sous forme hexadécimale peut être obtenue en multipliant chacun des symboles hexadécimaux par la puissance de 16 correspondant à sa position à l'intérieur du nombre; chacun des termes obtenus devant ensuite être sommé, comme dans l'exemple ci-dessous :
A12E
16→ 10 x 16
3+ 1 x 16
2+ 2 x 16
114 x 16
0Pour obtenir la valeur hexadécimale d'un nombre affiché en décimal, on effectue sur ce nombre une succession de divisions par 16. Les quotients obtenus - compris entre 0 et 15 - peuvent être associés à un symbole hexadécimal, pour former la valeur correspondante dans la base 16. Le dernier quotient obtenu constitue le poids fort du nombre (le 1er le poids faible).
✔ Conversion Décimal → Hexa
✔ Conversion Binaire → Décimal
La valeur (décimale) d'un nombre affiché sous forme binaire peut être obtenue en
multipliant chacun des bits par la puissance de 2 correspondant à sa position à l'intérieur du nombre; chacun des termes obtenus devant ensuite être sommé, comme dans l'exemple ci- dessous :
100110
2→ 1 x 2
5+ 0 x 2
4+ 0 x 2
3+ 1 x 2
2+ 1 x 2
1+ 0 x 2
0Pour obtenir la valeur hexadécimale d'un nombre affiché en décimal, on effectue sur ce nombre une succession de divisions par 2. Les quotients obtenus - compris entre 0 et 1 - forment la valeur correspondante dans la base 2. Le dernier quotient obtenu constitue le poids fort du nombre (le 1er le poids faible).
✔ Conversion Décimal → Binaire
Nicolas Néanne 11
✔ Conversions Binaire ↔ Hexadécimal
Le changement de base se fait en faisant la correspondance entre un symbole hexa et un groupe de 4 bits :
1001 1100
29 C
161 2 F 4
160001 0010 1111 0100
2✔ Représentation des nombres entiers.
Un nombre codé sur N bits peut prendre 2N valeurs différentes. Si la valeur à représenter est strictement positive (exemple : pression ambiante), on choisira une variable dite "non-signée" pour la représenter.
Dans ce cas, les 2N valeurs possible s'étaleront de 0 à 2N-1.
Si la valeur à représenter peut être positive ou négative (exemple : température extérieure), on travaillera alors en représentation dite "signée".
Dans ce cas, les 2N valeurs possible s'étaleront de -2N-1 à 2N-1-1
✔ Applications :
- Les équipements d'automatismes travaillent le plus souvent sur un format de 16 bits. Donnez les plages de valeurs possibles en signé et en non signé.
- Les PC travaillent aujourd'hui en 64 bits. Donnez les plages de valeurs
Nicolas Néanne 13
Table des caractères ASCII sur 7 bits :
Le code ASCII permet de représenter les caractères (affichage, impression...). La version initiale sur 7 bits
comporte les caractères « de base » (non accentués, etc...) :
c – Codage électrique, modulations :
Les informations numériques traitées par les équipements communicants circulent entre ceux-ci, à travers des canaux, le plus souvent filaires, mais également sans-fils.
Ces informations doivent donc prendre une forme physique : - Tension
- Courant
- ondes électromagnétiques
Les caractéristiques (forme, fréquence, amplitudes etc...) des signaux ainsi véhiculés vont être choisies afin d'obtenir des propriétés intéressantes pour la communication à établir (exemples : immunité aux parasites, vitesse de
transmission etc...).
Nicolas Néanne 15
NRZ : Non retour à Zéro
RZ : Retour à Zéro
Nicolas Néanne 17
NRZI : Manchester
✔ Exercices :
Représenter les nombres suivants : . 5A16
. 145
Dans les codages suivants : - NRZ
- RZ
- Manchester
Nicolas Néanne 19
Les liaisons RS232 et RS485 sont deux normes très répandues dans le domaine des transmissions de données « filaires ».
Rappels :
RS232 : Transmission NRZ, niveaux de tension +/-12V référencés par rapport à la masse.
RS485 : Transmission différentielle sur paire torsadée, niveaux de tension 0/5v.
Esclave Maître
Esclave n°1 Maître
Esclave
... n° i
RS232 :
Echanges entre 1 Maître & 1 esclave : POINT à POINT
&
Courtes Distances (<20m)
RS485 :
Echanges entre 1 Maître & plsrs esclave :
MULTIPOINT
Jusqu'à 120m de distance
RS485 et RS232 :
0 0 1 0 1 1 1 0 1
Bits transmis
VRS232
RS485 : D0
RS485 : D1
VRS485 +5v
0v +5v +12v
-12v
0v +5v
Parasites e-m
Nicolas Néanne 21
ASK : Amplitude Shift Keying
Dans l'exemple ci-contre
la porteuse est multipliée par 1 si le bit à transmettre est 1 ou par 0,5
si le bit à transmettre est 0
OOK : On Off Keying
C'est une modulation tout ou rien Dans l'exemple ci-contre
la porteuse est multipliée par 1 si le bit à transmettre est 1 ou par 0
si le bit à transmettre est 0
FSK : Frequency Shift Keying
Dans l'exemple ci-contre la porteuse a une fréquence F1 si le bit à transmettre est 1 et F0 = 2 x F1 si le bit à transmettre est 0 :
Il existe bien d'autres techniques de modulations et de codage électrique des données, comme nous le verrons par la suite du cours.
Nicolas Néanne 23
c – Principe du bus de terrain :
Un bus de terrain est un canal de communication reliant plusieurs équipements électroniques sur une zone géographique donnée (usine, voiture, bâtiment, centrale électrique etc...).
Il s'agit généralement d'une communication filaire, à travers laquelle les équipements de terrain échangent des données numériques transmises en série (afin d'éviter la
multiplication des fils).
On trouve des bus dédiées aux applications automobiles (bus CAN), industrielles (Profibus...), immotiques (KNX …) etc...
Chaque bus communique selon un protocole bien défini censé répondre au mieux aux besoin du terrain considéré.
On parle de « topologie » pour désigner la façon dont les équipements de terrain sont reliés entre eux pour former un réseau :
Topologie étoile
Topologie Bus Topologie anneau
APPLICATION
7
6
5 4
3
2 LIAISON
Les couches 3 à 6 sont vides:
Pas d
’interconnexion
avec un autre réseau Un bus de terrain est basé sur un modèle de communication à 3 couches,chacune traitant un aspect spécifique nécessaire à la communication :
LLC : Logical Link Control (Détection des erreurs de transmission)
MAC : Medium Access Control (accès au media de communication)
Services proposés par le bus de terrain (types de données échangés etc...)
Nicolas Néanne 25
d – Survol de TCP-IP:
La communication de terrain ainsi que la supervision passe de plus en plus par TCP-IP afin d'interagir avec le réseau informatique, et éventuellement avec internet.
Nous allons donc présenter les rudiments d'ethernet et de l'adressage IP, sur lesquels sont basés les réseaux informatiques de petite (LAN : Local Area Network) et grande (WAN : World Area Network) envergure.
Ethernet :
Ethernet est une technologie pour les réseaux locaux développée au début des années 70 à Xerox PARC (Palo Alto Research Center).
Elle est standardisée en 1978 par un consortium DIX regroupant Digital, Intel et Xerox, puis normalise par l'IEEE, sous le numéro 802.3 et 802.2.
Couche physique : Débit 10 Mbps
Codage Manchester Voltage (+0,85V/-0,85V)
- 1995 passage au débit 100Mb/s et Auto-négociation 10/100Mb/s - 1998 passage au débit 1Gb/s
Nicolas Néanne 27
Format d'une trame Ethernet :
Sur Ethernet chaque station est repérée par une adresse unique au monde.
Cette adresse (on parlera de MAC address) est représentée sur 6 octets :
Ex: 00-00-0C-F2-00-12 est l'adresse d'une carte CISCO
FF-FF-FF-FF-FF-FF est une adresse de diffusion, c-a-d toutes les machines sur le sous réseau sont considérées comme destinataires
Code constructeur (3 octets) Numéro de série (3 octets)
Nicolas Néanne 29
L'adressage IP v4 :
Le protocole IP ("Internet protocole") assure l'acheminement des messages d'une machine à une autre. La trame IP est contenue dans les données de la trame ethernet. C'est donc l'adresse IP qui va être utilisée dans l'acheminement des paquets de données à travers le réseau.
L'adresse IP est composée de 4 octets, généralement notés sous forme de 4 nombres décimaux séparés par un point (notation décimale pointée).
→ Exemple : 10.4.45.12
Il existe 3 classes d'adresses IP, correspondant à une étendue (nombre de machines connectées) plus ou moins importante :
On peut déterminer la classe d'un réseau à l'aide des bits de poids fort de son adresse :
0 Réseau (7 bits) / Machine (24 bits)
1 0 Réseau (14 bits) / Machine (16 bits)
1 1 0 Réseau (21 bits) / Machine (8 bits)
✔ Masque de sous-réseau :
Il permet de distinguer, dans une adresse IP, la partie identifiant le réseau et la partie identifiant la machine au sein de ce réseau.
En appliquant un ET logique entre le masque de sous réseau et l'adresse IP (tous deux écrits en binaire), on obtient l'adresse du sous-réseau. Deux
machines appartenant au même sous réseau peuvent communiquer sans passer par un routeur.
Nicolas Néanne 31
➔
Exemple :
Un équipement a pour configuration : Adr IP v4 : 192.168.1.132
Masque de sous réseau : 255.255.255.128
- Donnez l'adresse de sous-réseau correspondante.
- Indiquez le nombre maximum de machines adressables sur ce réseau.
Le modèle client serveur :
TCP/IP est basé sur le modèle client/serveur. Lors d'un échange sur le réseau, le client est demandeur d'un service à un serveur, qui est quant à lui fournisseur de ce service.
Par exemple, une machine « cliente » accède au serveur au serveur du fournisseur
« Orange.fr ». Celui-ci propose plusieurs types de services, qui vont être matérialisés par des numéros, appelés « ports ».
Ainsi, si le client veut consulter ses mails, il s'adressera au port n°110 (SMTP). Pour naviguer en http, le port 80 de ce même serveur sera sollicité.
Un serveur doit donc « écouter » en permanence si des demandes lui parviennent sur les différents numéros de port correspondant aux services qu'il propose.
L'ensemble « adresse IP + n°port » est appelé « socket » et identifie un service sur une machine.
• Notation : <adresse IP> : <n° de port>
• Exemple : 192.168.0.125 : 502
Nicolas Néanne 33
✔ Quelques commandes utiles (DOS) ...
IPCONFIG affiche un résumé des propriétés IP des cartes réseaux :
PING permet de vérifier la connectivité entre deux nœuds :
TELNET <adresse IP> <n°port> permet de vérifier l'accès à un service sur une machine distante
a – Présentation du WAGO 750-849 :
Ports Ethernet pour le
chargement des programmes, la supervision...
Interface série (configuration)
Bornes pour l'alimentation 24Vcc
3- Le contrôleur de GTC/GTB
Nicolas Néanne 35
Caractéristiques du contrôleur WAGO 750-849 :
Le Wago 750-849 est un contrôleur comprenant les fonctionnalités suivantes : - Programmation avec les langages CEI
- système modulaire permettant de gérer différents signaux physiques (TOR, Ana) et cartes de communications (RS232, RS485...)
- Gestion des bus de communication propre aux bâtiments (KNX IP natif, ajout de cartes spécifiques)
- Serveur Web embarqué pour la supervision
Nicolas Néanne 37
➢ Exemple de Carte D'E TOR (750-400) :
➢ Exemple de Carte D'E analogiques avec conditionneur pour PT100 (750-461) :
Le signal délivré par la sonde est converti (montage 3 fils) en valeur numérique mise à
l'échelle au format INT. La
température est représentée
en 100eme de degrés, sur une
plage -200°C / + 200°C.
Nicolas Néanne 39
➢ Exemple de Carte D'E analogiques 0-10V (750- 459) :
la gamme de tension [0 V to +10V]
est convertie par un CAN 12 bit,
puis mise à l'échelle ; la gamme
numérique obtenue est [0 ;
32760].
➢ Exemple de Carte D'E analogiques 4-20mA (750-
454) :
Nicolas Néanne 41
Cette borne d’entrées analogiques traite des signaux sur une plage de courant standardisée de 0-20 mA ou de4-20 mA respectivement.
Le signal d’entrée est séparé galvaniquement et le transfert à l’unité centrale se fait avec une résolution de 12 bits.
➢ Exemple de Carte De S TOR à Relais (750-513) :
Nicolas Néanne 43
➢ Exemple de Carte De S analogiqes /10V (750-513) :
La gamme numérique [0 ; 32760]
est convertie en tension [0;10V]
par un CNA 12 bit.
b - Éléments de Programmation.
Le logiciel CoDeSys est une plateforme de développement ouverte,
multimatérielle utilisée entre autres pour programmer les contrôleurs WAGO utilisés en TP.
Il obéit aux spécification de la norme CEI 61131-3 en termes de données et de langages.
Nous allons donner quelques éléments nécessaires à la programmation des
fonctionnalités que nous étudierons.
Nicolas Néanne 45
✔ Principaux types de données rencontrés dans un programme :
BOOL : valeur booléenne (vraie = 'TRUE' ou fausse='FALSE') INT : valeur entière signée sur 16 bits
WORD : valeur entière non signée sur 16 bits DINT : valeur entière signée sur 32 bits
DWORD : valeur entière non signée sur 32 bits REAL : valeur réelle sur 32 bits
TIME : durée définie en h/mn/s/ms Notation : t # ...h ...m ...s ...ms DATE : date définie en année/mois/jour Notation : d # ...-...-...
TIME_OF_DAY : heure du jour définie en h/mn/s Notation : tod # ... : ... : ...
DATE_AND_TIME : date & heure Notation : dt # ...-...-... - ... : ... : ...
STRING : chaîne de caractères. Notation : ' Ma Chaine '
Les valeurs numériques peuvent être représentées sous formes décimales, hexadécimales (en ajoutant 16# devant la valeur) ou binaires (2#...)
•- exemples : 125 → 125 1A2
16 → 16#1A2 0110
2 → 2#0110
✔ Déclarations de variables :
Un programme doit réaliser des calculs et utilise donc des variables. Les variables d'entrés sorties se déclarent dans la configuration de l'automate :
Nicolas Néanne 47
Les autres variables se déclarent en tête du programme :
✔ Le langage CFC :
Le langage CFC (Component Functional Chart) est un langage de programmation graphique s'apparentant à un logigramme (proche du langage normalisé FBD).
Il est assez simple à mettre en œuvre et couvrira la majorité des besoins de ce cours.
Chaque fonction est représentée par un bloc, placée sur la page à la manière d'un schéma (Un numéro attribué à chaque bloc indique l'ordre d’exécution si besoin).
Nicolas Néanne 49
✗ Fonctions logiques de base :
✗ Fonctions mathématiques :
...
...
...
...
...
...
...
...
...
...
Nicolas Néanne 51
✗ Fonctions de comparaison :
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
✗ Fonctions de conversions :
...
...
...
...
...
...
...
...
...
...
Nicolas Néanne 53
✗ Fonctions de comptage :
...
...
...
...
...
...
...
...
...
...
...
➢ Temporisation : retard à l'activation
➢ Temporisation : retard au déclenchement
➢ Temporisation : monostable
t
t
A
x
3s
t
t
A
x
3s
t
A
3s
Nicolas Néanne 55
✔
Mémoire RS :
✔
Détection de Front montant :
t t t
A B x
t
t t
A
x
t
x
tA
✔