Rapport PFE Sahraoui Mayssa CC
Rapport PFE Sahraoui Mayssa CC
Rapport PFE Sahraoui Mayssa CC
Enfin, un grand merci à ma famille qui m’a toujours encouragé dans mes
choix d’orientation professionnelle et à M. Zouari Talel qui m’a conseillé
pour la rédaction de ce rapport de stage et a eu la gentillesse de bien
vouloir le relire.
1
Table des matières
Introduction Générale.............................................................................................................................8
Introduction...........................................................................................................................................10
1 Le QQOQCP.......................................................................................................................13
V. Méthodologie et Objectif....................................................................................................17
CHAPITRE II.......................................................................................................................................22
I. Modbus...............................................................................................................................23
1 Modbus RTU......................................................................................................................23
2 Modbus TCP/IP..................................................................................................................25
1 Aperçue de l’IEC60870-5...................................................................................................26
2 Transmission.......................................................................................................................28
3 Communication...................................................................................................................29
2
4 Objets de données d'application..........................................................................................29
5 Adressage............................................................................................................................30
1 Format de l’APCI................................................................................................................31
2 Format de l’ASDU..............................................................................................................33
V. DNP 3.0...............................................................................................................................41
Chapitre III............................................................................................................................................45
SPECIFICATION.................................................................................................................................45
FONCTIONNELLE.............................................................................................................................45
Introduction...........................................................................................................................................46
I. Méthodologie de conception...............................................................................................46
1 Besoins fonctionnels...........................................................................................................46
1 UML....................................................................................................................................47
V. Diagramme de séquence.....................................................................................................56
3
Chapitre IV...........................................................................................................................................59
Conception et réalisation......................................................................................................................59
I. Environnement de travail....................................................................................................60
1 Environnement matériel......................................................................................................60
2 Environnement logiciel.......................................................................................................61
1 Structure du message..........................................................................................................64
4
Liste des abréviations :
SQ : Structure Qualifier
5
Liste des figures
Figure 1:logo de l'entreprise d'accueil--------------------------------------------------------------------------11
Figure 17:Exemple d'objet d'information Valeur mesurée normalisée avec l'horodatage (type=10)- -40
6
Figure 26:les interconnexions d'une API----------------------------------------------------------------------62
7
Tableau 1:Méthode QQOQCP-------------------------------------------------------------------------16
8
Introduction Générale
IEC60870-5 est un standard basé sur le modèle de référence réduit appelé architecture de
performance améliorée (EPA). La commission électrotechnique internationale (IEC) a développé le
premier protocole complet connu sous le nom 60870-5-101 pour la communication SCADA. En
effet, c’est un protocole standard de communication internationale pour le télé-contrôle des systèmes
de transmission de puissance électrique. Le protocole est largement adopté dans de nombreux pays à
travers le monde, qui communique par le réseau étendu « WAN ». Habituellement, les normes
60870-5-101 à 60870-5-103 sont utilisées dans des opérations industrielles électriques. La norme
60870-5- 104, quant à elle, fournit des services de communication SCADA par l’utilisation de
protocole de contrôle du transport (TCP) et le protocole internet (IP). Ce dernier fonctionne avec cinq
couches : trois couches de la famille EPA et deux couches supplémentaires du modèle OSI.
Le module à développer est spécialement conçus pour les applications de l'industrie de l'énergie, avec
des capacités de traitement supérieures ainsi que de nombreuses options d'interfaçage et il fournit non
seulement une conversion de protocole one-to-one, mais également une conversion de protocole
many-to-many et prend en charge de nombreuses fonctions selon les normes énergétiques.
Il sera testé pour résister à des variations de température et d'environnement strictes et s'est avéré
efficace dans une variété de segments de l'industrie et des services publics.
Nous exposons dans le présent rapport quatre grands chapitres décrivant les volets principaux de
notre projet de fin d’études :
Dans le deuxième chapitre, est consacré sur la compréhension du système SCADA, ces
principaux protocoles.
9
Chapitre I
Cadre du projet et
méthodologie
10
Introduction
Ce stage de fin d’étude, a comme objet la conception et la réalisation d’un système électronique de
traitement des données énergétiques. Le module a développé fournit une conversion de protocole
industriel (IEC60870) et prend en charge de nombreuses fonctions selon les normes énergétiques
avec l’aide, la collaboration et l’encadrement des membres de l’entreprise.
J’ai eu l’opportunité de travailler sur ce sujet qui est spécialement conçus pour mettre en œuvre avec
succès les tâches de contrôle et de supervision des données, en mettant l’accent sur la simplicité de
l’utilisation.
EPPM (Engineering Procurement & Project Management) fondée en 1993 est reconnu comme l'un
des principaux contacteurs EPC actifs au Moyen-Orient et en Afrique, opérant dans les secteurs du
pétrole et du gaz (midstream), du traitement des eaux, des énergies renouvelables et des installations
industrielles.
EPPM offre à ses clients une large gamme de services comprenant l'ingénierie, la gestion de projet,
l'approvisionnement, la construction et la supervision, la mise en service et le démarrage ainsi que les
services d'exploitation et de maintenance.
Le siège social d'EPPM est basé en Tunisie avec des filiales dans le monde entier en Algérie, Libye,
Angola, République Démocratique du Congo, KSA, UAE (Dubaï et Abu Dhabi), Irak et Oman.
Au cours des 25 dernières années, EPPM a réalisé avec succès des projets dans les domaines de
l'ingénierie, de l'EPC (projets clés en main), de l'EPS, du PMC, de l'O&M, ainsi que des projets de
financement tels que des projets BOT(Build-Operate-Transfer) et BOO (Build-Operate-Own) à long
terme et des projets de leasing.
EPPM s'engage à respecter les normes internationalement reconnues (telles que ISO : QHSE, ISO
9001 V2000, ISO 14001, OHSAS 18001), dans l'exécution de tous ses projets et a adopté des
services de gestion de projet en conformité avec les normes convenues du Project Management
Institute (PMI).
11
Figure 1:logo de l'entreprise d'accueil
12
II. Présentation de l’entreprise cliente
La société « Smart Energie Saving » est une société qui agit dans le domaine de l’économie de
l’énergie.
Son objectif est de maîtriser l’augmentation de la consommation d’énergie auprès des clients en
optimisant ses coûts d’approvisionnement énergétiques, contribuer à créer des conditions de
prospérité en offrant aux clients des outils économiques pour alimenter leurs besoins énergétiques
avec de moindres coûts. En effet, l’amélioration de l’efficacité énergétique est aujourd’hui un facteur
de compétitivité, ils permettent aux clients de s’inscrire dans une démarche propre apte à concilier
entre leurs activités commerciales, disponibilités énergétiques et les exigences du développement
durable.
13
14
III. Contexte générale du projet
Actuellement, l’énergie solaire photovoltaïque est l’une des sources renouvelables les plus
économiques. La hausse constante des prix de l’énergie électrique unie à l’optimisation dans les prix
des éléments qui intègrent un parc photovoltaïque génère une augmentation directe de
l’investissement dans ces systèmes. Pour cette raison, la puissance moyenne dans les installations de
nouvelle génération augmente de jour en jour, avec le besoin de systèmes capables de superviser et
de gérer les installations sous une forme permanente et d’interagir avec tous les éléments, en assurant
ainsi un rendement optimal, du point de vue technique comme économique.
Notre installation d’une centrale photovoltaïque 10MW à « Meknassy » équivaut à une grande
étendue d’hectares à gérer. Par conséquent, la gestion de l’information et de la maintenance est une
tâche complexe qui rend indispensable de disposer d’un outil de supervision qui permette une
réponse agile et efficace face à toute incidence qui pourrait se produire.
La solution dont je suis amenée à développer doit garantir la supervision et la gestion de parcs
photovoltaïques afin d’obtenir une information détaillée de l’installation, outre les alarmes en temps
réel, qu’elles soient critiques ou non, et l’interaction avec le système en assurant et en améliorant le
rendement d’une ou plusieurs installations dans un même système d’acquisition de données.
1 Le QQOQCP
Le QQOQCP est aussi appelé la méthode de questionnement. C’est un outil qui sert à identifier le
problème dans son ensemble à partir de 6 questions, Qui ? Quoi ? Où ? Quand ? Comment ? et
Pourquoi ? [3]
Cette méthode apporte des informations qui permettent de mieux connaitre, définir et clarifier
Notre problématique car elle explore toutes les dimensions sous différents angles.
Elle représente un bon point de départ pour poser un diagnostic sur le projet. (Tableau 1)
15
Tableau 1:Méthode QQOQCP
Questions Réponses
*L’absence de la commande à
distance.
Quel est le problème ?
*Manque de sécurité
QUOI ?
*Surveillance a distance
Quels sont les produits, quels sont les Des automates, RTU, PC
Constituants ?
16
COMMENT ? Comment a été détecté le problème ? Par la société cliente
17
IV. Présentation du système SCADA et son emplacement dans la pyramide
d’automatisation industrielle
Les systèmes d’automatisation industriels sont très complexes, car ils se composent de différents
périphériques. Ils se caractérisent par une confluence de fonctionnement de plusieurs équipements
dans une même période. La pyramide d’automatisation industrielle est organisée de manière
hiérarchique comme présentée dans la Figure (3).
Ce dernier est constitué de quatre couches : la première s’appelle couche d’instrumentation où l’on
trouve les capteurs, les pré-actionneurs et les actionneurs. La deuxième couche est la partie de
contrôle : où l’on peut trouver les automates programmables (API), les régulateurs
(Proportionnel, intégrateur, dérivateur) PID, les ordinateurs PC. Le troisième niveau est la Plateforme
logicielle modulaire (SCADA/MES « ManufacturingExecution System »). Au sommet de la
pyramide, on trouve l’ERP « Entreprise Ressource Planning » c’est un logiciel qui gère la
planification des ressources de l’entreprise.
18
SCADA est l’acronyme de « Supervisory Control And Data Acquisition » (système de contrôle et
d’acquisition de données), un terme qui décrit les fonctions de base d’un système SCADA. Les
entreprises utilisent des systèmes SCADA pour contrôler les équipements sur tous leurs sites, mais
aussi pour collecter et enregistrer des données au sujet de leurs opérations.
Un SCADA est généralement fourni sous forme de logiciel combiné à des éléments matériels, tels
que des automates programmables industriels (API) et des unités terminales distantes (RTU).
La complexité de mettre en place un système SCADA se présente en grande partie dans le choix des
protocoles de communication entre les différents dispositifs de l’installation qui dépend de leur
sécurité.
La solution SCADA de supervision montrera l’état de tous les éléments installés, de la génération
d’énergie sur les plaques photovoltaïques tel que :
Le système surveille en temps réel les variables, électriques ou de toute nature, de tous les dispositifs
installés dans l’installation photovoltaïque pour sa supervision continue
Le système SCADA sera actif en permanence, en générant des alarmes en temps réel pour que les
responsables de la maintenance puissent être informés en temps réel de toute irrégularité qui pourrait
se produire dans l’installation photovoltaïque
Facilité d’utilisation
Conception personnalisée adaptée aux besoins du client, pour que l’interface soit totalement
conviviale et intuitive.
V. Méthodologie et Objectif
La supervision des centrales photovoltaïques (PV) est un processus important pour assurer le bon
fonctionnement et la performance de ces installations. Elle consiste à collecter des données sur les
différents équipements de la centrale photovoltaïque, tels que les panneaux solaires, les onduleurs, les
batteries, les capteurs de température et les compteurs d'énergie, afin de surveiller leur état de
fonctionnement et de performance.
C’est dans cette optique que s’inscrit la solution réalisée qui consiste en la mise en place d’un des
protocoles utilisés dans un système SCADA qui interagit, en temps réel, avec les systèmes et les
équipements installés sans oublier l’optimisation de la ressource solaire, l’amélioration de
19
l’efficience du centre et la simplification de la gestion pour obtenir le meilleur rendement dans la
production d’énergie solaire.
En outre, le système permet la réalisation de rapports automatiques pour pouvoir réviser les taux de
production souhaités et l’envoi d’alarmes pour l’intervention dans le cas où un problème dans le
centre se produirait.
Étant donné qu’une installation photovoltaïque comprend des composants de différents fabricants,
l’intégration et la communication entre eux peut s’avérer un peu complexe.
Pour faciliter la tâche d’intégration et de supervision, SMART ENERGY SAVING a développé une
solution complète et intuitive pour les gestionnaires d’installations photovoltaïques.
Ce schéma montre les différentes possibilités et équipements utilisés dans une installation
photovoltaïque type.
20
Figure 4:Concept d'un parc photovoltaïque
21
2 La supervision des installations photovoltaïques
Quels que soient la taille et l’usage d’une installation PV, le système de monitoring a pour objectif
principal de suivre l’énergie PV produite, d’évaluer la performance du système PV, de détecter les
dérives ou les dysfonctionnements et d’avertir immédiatement en cas de défaut.
Les systèmes pour installations à grande échelle, de 500 kWc et plus, sont capables de monitorer la
totalité de l’installation, de l’entrée de chaîne au point de connexion au réseau.
Ces systèmes sont basés sur un système SCADA (Supervision Control And Data Acquisition),
permettant le monitoring multisite, les mesures CC et CA, le contrôle à distance des équipements
motorisés, les alarmes intelligentes, la génération de rapports, l’indication de performance et d’autres
fonctions comme l’analyse en profondeur.
Ces systèmes incluent également d’autres équipements pour exploiter le site plus efficacement,
comme une station météo (thermomètres, pluviomètres et anémomètres), des capteurs d’irradiance,
un contrôleur de site qui communique avec l’opérateur du réseau pour adapter la production du site
aux variations du réseau (tension, facteur de puissance) et des compteurs spécifiques tels que des
compteurs de consommation (RGM) proches du point de connexion.
Ces systèmes SCADA peuvent être locaux et/ou distants, avec des capacités de redondance et un
traitement de données très performant.
Rentabilité
22
Haute rentabilité de l’investissement, la supervision maximise la productivité de l’installation
photovoltaïque.
Qualité
Accessibilité
Connexion simple, accès distant au SCADA de l’installation depuis tout point du monde.
Sécurité
Conclusion
Dans ce chapitre, on a présenté la société d’accueil avec ses différents départements et la société
cliente ainsi leur activité et leur domaine. Par la suite, on a défini le cadre du projet, son objectif et les
étapes suivies pour sa réalisation. L’objectif du chapitre suivant est de décrire les différents
protocoles d’un système SCADA et en s’intéressera plus précisément à l’IEC60870 ; le protocole qui
a été mis en place dans ce présent travail.
23
CHAPITRE II
24
INTRODUCTION
Une grande partie de la complexité de la configuration d'un système SCADA provient du choix
du protocole de communication entre les différents appareils de votre installation.
La section suivante présente les protocoles de communication les plus connus et on va s’intéressé
plus précisément à celui qu’on a travaillé avec « l’IEC60870-5 ».
I. Modbus
Modbus est un protocole de communication série développé par « Modicon ». C'est une
Un appareil demandant des informations est appelé un "maître". Les appareils qui fournissent des
informations, en revanche, sont des "esclaves". En réseau, la norme Modbus, le maître a jusqu'à 247
esclaves, chaque esclave a une adresse unique de 1 à 247. Les maîtres peuvent également écrire des
informations aux esclaves.
On utilise Modbus pour transmettre des signaux à partir des appareils d’instrumentations.
Le protocole Modbus de base entre un maître et l'esclave est présenté dans la Figure7.
1 Modbus RTU
Modbus RTU est un protocole ouvert qui transmet des données en série sur un câble (RS-232 ou
RS-485) dérivé d'une architecture maître/esclave. C'est un protocole largement accepté en raison de
sa facilité d'utilisation, il est très utilisé dans les systèmes automatiques industriels.
25
Figure 7:câble RS-485 Figure 8:cable série RS-232
Les messages Modbus RTU sont structurés dans une architecture 16bits. La simplicité de cette
architecture est d'assurer la fiabilité de la transmission des messages. Ce protocole prend en charge
les tableaux, des textes ASCII, Files d'attente et autres données indépendantes.
Maitre Esclave
Requête initiale
Effectuer l’action
26
2 Modbus TCP/IP
Le protocole TCP/IP (Transmission Control Protocol/Internet Protocol) réunit les deux protocoles
TCP et IP qui sont utilisés conjointement pour transmettre des données avec des garanties de fiabilité
en utilisant la couche transport du modèle OSI (voir figure 10).
Lorsque des informations sur Modbus sont envoyées en utilisant ces protocoles, les données sont
transmises à TCP puis envoyées dans une adresse IP.
Ensuite, IP place les données dans un paquet et le transmet dans un dispositif de réception.
Ce protocole fonctionne avec le mode Client / Serveur. Les clients sont tous actifs, le serveur est
complètement passif. Chaque client a le droit de lire et écrire dans le serveur.
La performance d'un réseau Modbus TCP dépend fortement du type et de la conception du réseau
Ethernet. Ce dernier utilise les performances des processeurs dans les interfaces de communication
pour les dispositifs respectifs.
Modbus TCP est une approche pragmatique qui utilise Ethernet comme un moyen de transmission de
données pour les applications d'automatisation. Il divise les différentes tâches de communication
en couche. Chaque couche remplit une fonction différente. Les données passent par quatre couches
individuelles avant d'être reçues à l'autre extrémité
27
Figure 9:les couches d'un modèle OSI vs TCP/IP
1 Aperçue de l’IEC60870-5
La norme IEC 60870-5 fait partie de l'ensemble des normes IEC 60870 qui définissent les
systèmes utilisés pour la télé-conduite (contrôle de surveillance et acquisition de données) dans les
applications d'ingénierie électrique et d'automatisation des réseaux électriques.
28
IEC 60870-5-104 Protocoles de transmission - Accès au réseau pour la CEI 60870-5-101 en
utilisant des profils de transport standards
Dans notre projet, on va travailler avec deux normes IEC 60870-5-101 et IEC 60870-5-104 qui est
une analogie du premier avec les changements dans les services de transport, de réseau, de liaison et
de couche physique pour s'adapter au réseau complet.
La pile de protocoles IEC 60870-5 est basée sur le modèle de référence réduit appelé Enhanced
Performance Architecture (EPA) qui comprend trois couches du modèle OSI : couche application
(7), couche de liaison (2), et couche physique (1) (voir figure 11).[1]
La couche liaison de données définit les formats de trame et les procédures de transmission de la
communication CEI
La couche application définit les éléments d'information permettant de structurer les données de
l'application et les fonctions des services de communication. [3]
29
2 Transmission
La spécification CEI 104 combine la couche application de la norme CEI 60870-5-101 et les
fonctions de transport fournies par un protocole TCP/IP (Transmission Control Protocol/Internet
Protocol).
30
- ENVOI/CONFIRMATION
- ENVOI/NON RÉPONSE : ceci ne peut être initié que par une station de contrôle avec une
adresse de diffusion dans une configuration multiple point à point. [3]
3 Communication
La différence entre les directions de contrôle et de surveillance est un concept important pour
comprendre l'adressage selon la norme CEI 60870-5. Il est supposé que le système global a une
structure hiérarchique impliquant un contrôle centralisé, selon le protocole, chaque station est soit
une station de contrôle, soit une station contrôlée.
La communication IEC 101/104 est échangée entre la station contrôlée et la station de contrôle.
La station contrôlée est surveillée ou commandée par une station maîtresse (RTU).
La station de contrôle est une station où le contrôle des stations est effectué (SCADA).
Aussi la norme CEI 101/104 définit plusieurs modes de direction, La direction du moniteur est une
direction de transmission de la station contrôlée (RTU) à la station de contrôle (PC), la direction de
contrôle est une direction de transmission de la station de contrôle, typiquement un système SCADA,
à la station contrôlée, typiquement un RTU et la direction inversée qui est une direction dans laquelle
la station surveillée envoie des commandes et la station de contrôle envoie des données dans la
direction de surveillance.
La norme CEI 60870-5 contient des informations sur un ensemble d'objets d'information qui
conviennent à la fois aux applications SCADA générales et aux applications de systèmes électriques
en particulier. Chaque type de données possède un numéro d'identification de type unique (Type ID).
Un seul type de données est inclus dans une unité de données de service d’application (ASDU). Le
type est le premier champ de l'ASDU.
Les types d'objets d'information sont groupés par direction (direction de surveillance ou de contrôle)
et par le type d'information (information sur le processus, information sur le système, les paramètre
de transfert de fichiers).
Ainsi, les données de l'application sont transportées dans l'ASDU dans un ou plusieurs objets
d'information en fonction de l'indicateur de structure variable (SQ), il peut y avoir plusieurs objets
d'information, chacun contenant un ensemble défini d'un ou plusieurs éléments d'information.
Un seul objet d'information contenant un certain nombre d'éléments d'information identiques. Dans
les deux cas, l'élément d'information est le composant fondamental utilisé pour transmettre des
informations dans le cadre du protocole. [3]
31
5 Adressage
La norme CEI 101 définit l'adressage tant au niveau de la liaison qu'au niveau de l'application.
L'adresse de liaison (ou adresse du dispositif) et l'adresse ASDU (ou adresse commune) sont fournies
pour l'identification de la station finale :
La plage de valeurs dépend de la longueur de l'adresse de liaison qui peut être d'un octet, c'est-à-dire
de 1 à 255, ou de deux octets, c'est-à-dire de 1 à 65 535. Les valeurs typiques sont 1 pour IEC 101 et
2 pour IEC 104.
Chaque dispositif du réseau de communication possède une adresse commune de l'ASDU (adresse
COA ou ASDU), l'adresse commune de l'ASDU, combinée à l'adresse de l'objet d'information
contenu dans les données elles-mêmes, constitue l'adresse unique de chaque élément de données.
COA est généralement l'adresse d'application du client (station logique) qui doit correspondre à
l'adresse définie dans la configuration du client. Cette adresse est définie comme l'adresse de la
station de contrôle dans le sens du contrôle, dans le sens de la surveillance, en revanche, le champ
d'adresse commun contient l'adresse de la station qui renvoie les données (station contrôlée). Cette
information est nécessaire pour que les données puissent être identifiées de manière unique et mises
en correspondance avec les bons points dans les images de données du système. [3]
Le protocole IEC-104 est largement utilisé dans les systèmes SCADA modernes.
La trame de base du protocole IEC-104 est appelée Unité de données du protocole d'application
(APDU) et une trame APDU peut être au format U, S ou I-format.
La trame de contrôle non numérotée (U) est utilisée pour tester, démarrer ou arrêter les flux de
communication. Le format de supervision (S) est utilisé pour exécuter des fonctions de supervision
numérotées. Le format d'instruction d'information (I) est utilisé pour envoyer des commandes et des
informations numérotées.
L'APCI contient des informations de base telles que la longueur du paquet et le numéro de séquence
et l'ASDU contient les attributs détaillés.
Il existe les trois attributs utilisés pour l'identification et l'extraction des événements dans cette étude.
32
2) La cause de transmission est toujours spontanée.
3) Les adresses des objets d'information (IOA) sont les adresses des données surveillées à
l'intérieur du RTU.
Les événements spontanés ne peuvent être envoyés qu'au format I.
1 Format de l’APCI
Chaque APCI (Application Protocol Control Information) commence par un octet de départ de valeur
0x68 suivi de la longueur de 8 bits de l'APDU (Application Protocol Data Unit) et de quatre champs
de contrôle de 8 bits. L'APDU contient un APCI, voir la figure (14) En général, la longueur de
l'APCI est de 6 octets.
33
Figure 13:Format de la trame APCI
Le format de la trame est déterminé par les deux derniers bits du premier champ de contrôle. La
norme définit trois formats de trame, voir la figure (15). [3]
I-Format (format de transfert d'informations), le dernier bit de CF1 est 0. Il est utilisé pour effectuer
le transfert d'informations numérotées entre le poste de commande et la station contrôlée. Il a une
longueur variable.
Les APDUs de I-format contiennent toujours un ASDU. Le champ de contrôle de I-format indique la
direction du message. Il contient deux numéros de séquence de 15 bits qui sont séquentiellement
augmentés d'une unité pour chaque APDU et chaque direction.
S-Format (fonctions de surveillance numérotées), les derniers bits de CF1 sont 01.
34
Il est utilisé pour effectuer des fonctions de supervision numérotées. Il a une longueur fixe, les APDU
au format S sont toujours composés d'un seul APCI.
Dans tous les cas où le transfert de données s'effectue dans un seul sens, les APDU de S-format
doivent être envoyés dans l'autre sens avant le dépassement du délai d'attente, le dépassement de la
mémoire tampon ou lorsqu'ils ont dépassé le nombre maximal d'APDU de format I autorisés sans
accusé de réception.
U-Format (fonctions de contrôle non numérotées), les derniers bits de CF2 sont 11.
Il est utilisé pour exécuter des fonctions de contrôle non numérotées. Il a une longueur fixe.
Les APDU au format U sont toujours composés d'un seul APCI. Une seule des fonctions TESTFR
(Test Frame), STOPDT (Stop Data Transfer) ou STARTDT (Start Data Transfer) peut être activée en
même temps. [3]
2 Format de l’ASDU
L'ASDU contient deux sections principales : l'identifiant de l'unité de données (d'une longueur fixe
de six octets), et les données elles-mêmes, composées d'un ou plusieurs objets d'information.
35
Figure 15: Le format de l'ASDU
0 n'est pas utilisé, 1-127 est utilisé pour les définitions standard de la CEI 101, 128-135 est réservé
pour le routage des messages et 136-255 pour une utilisation spéciale.
36
Dans la gamme des définitions standard IEC 101, il existe actuellement 58 types spécifiques définis.
Ces types forment les groupes suivants, voir le tableau (3).
TypeID Groupe
Il est important de noter que l'identification du type s'applique à l'ensemble de l'ASDU ; par
conséquent, si l'ASDU contient plusieurs objets d'information, ils sont tous du même type.
Le bit SQ (Structure Qualifier) spécifie comment les objets ou éléments d'information sont
adressés.
37
Chaque élément individuel ou combinaison d'éléments est adressé par l'adresse de l'objet
d'information. L'ASDU peut se composer d'un ou de plusieurs objets d'information égaux.
Le nombre d'objets est codé en binaire (nombre d'objets) et définit le nombre d'objets d'information.
SQ=0 implique une séquence d'objets d'information où chaque objet a sa propre adresse d'objet
d'information. Le nombre d'objets d'information est donné par la valeur de sept bits dans
l'identificateur d'unité de données (champ nombre d'objets)
Il peut donc y avoir jusqu'à 127 objets d'information dans cet ASDU.
SQ=1 (un seul objet d'information) : adressage d'une séquence d'éléments d'information uniques ou
de combinaisons égales d'éléments d'information d'un objet unique par objet d'éléments d'information
ou de combinaisons égales d'éléments d'information d'un seul objet par ASDU.
Lorsque SQ=1, la structure contient une séquence d'éléments d'information dans un objet
d'information.
Tous les objets d'information ont le même format. Il n'y a qu'une seule adresse d'objet d'information,
qui est l'adresse du premier. [3]
38
Figure 16:La structure de l'ASDU avec SQ=0 et SQ=1
Nombre d'objets/éléments :
o Utilise la plage 0 - 127
o 0 signifie que l'ASDU ne contient aucun objet d'information (IO)
o 1-127 définit le nombre d'objets d'information ou d'éléments.
Le bit T (test) définit les ASDUs qui ont été générés dans des conditions de test et qui ne sont
pas destinés à contrôler le processus ou à modifier l'état du système.
39
P/N est significatif lorsqu'il est utilisé avec des commandes de contrôle. Le bit est utilisé lorsque
la commande de contrôle est reflétée dans la direction du moniteur, et il fournit une indication sur
l'exécution ou non de la commande.
Le champ COT est utilisé pour contrôler l'acheminement des messages à la fois sur le réseau de
communication et à l'intérieur d'une station, en dirigeant l'ASDU vers le programme ou la tâche
appropriée pour le traitement. Les ASDUs dans le sens du contrôle sont des services d'application
confirmés et peuvent être reproduites dans le sens du contrôle avec des causes de transmission
différentes.
Le COT est un code à six bits qui est utilisé pour interpréter l'information à la station de destination.
Chaque type d'ASDU défini possède un sous-ensemble défini de codes qui lui sont significatifs. [3]
L'adresse de l'expéditeur est facultative sur la base du système. Elle permet à une station de contrôle
de s'identifier explicitement. Cela n'est pas nécessaire lorsqu'il n'y a qu'une seule station de contrôle
dans un système. Lorsqu’il y a plus d'une station de contrôle, ou lorsque certaines stations sont des
stations bi-modes, dans ce cas, l'adresse de l'expéditeur peut être utilisée pour diriger les
confirmations de commande vers l'ensemble du système.
L'adresse de l'expéditeur dirige les ASDU en miroir et les ASDU interrogées dans la direction du
moniteur vers la source qui a activé l'ASDU.
Si l'adresse de l'expéditeur n'est pas utilisée (les bits sont mis à zéro) et s'il y a plus d'une source
unique dans un système défini, les ASDUs dans la direction du moniteur doivent être dirigés vers
toutes les sources pertinentes du système, dans ce cas, la source spécifique affectée doit sélectionner
ses ASDUs spécifiques. [3]
L'adresse est appelée adresse commune car elle est associée à tous les objets contenus dans l'ASDU.
Elle est normalement interprétée comme une adresse de station, Toutefois, elle peut être structurée de
manière à former une adresse de station/secteur où les stations individuelles sont divisées en
plusieurs unités logiques. [3]
L'adresse globale est une adresse de diffusion dirigée vers toutes les stations d'un système spécifique
(adresse de diffusion).
Les ASDUs avec une adresse de diffusion dans le sens du contrôle doivent être répondues dans le
sens du contrôle par l'adresse commune spécifique définie (adresse de station).
40
Selon la norme, ce paramètre se compose de 2 octets
La valeur 0 n'est pas utilisée, la plage 1 - 65 534 signifie une adresse de station, la valeur 65535
(0xFFFF) signifie une adresse globale qui est utilisée lorsque la même fonction d'application doit être
initiée simultanément. Elle est limitée aux ASDUs suivants :
Information Objets
L'ASDU transmet des objets d'information dans sa structure. Chaque objet d'information est adressé
par une adresse d'objet d'information (IOA) qui identifie les données particulières dans une station
définie.
Sa longueur est de 3 octets pour la norme CEI 104. L'adresse est utilisée comme adresse de
destination dans le sens du contrôle et comme adresse de source dans le sens de la surveillance.
Le troisième octet de l'IOA est uniquement utilisé en cas de structuration de l'adresse de l'objet
d'information afin de définir des adresses non ambiguës dans un système spécifique. Dans tous les
cas, le nombre maximal d'adresses différentes est limité à 65 535 (comme pour deux octets).
Si l'adresse de l'objet d'information n'est pas pertinente (non utilisée) dans certains ASDU, elle est
mise à zéro.
Tous les objets d'information transmis par un ASDU doivent avoir le même type d'ASDU, s'il y a
plus d'objets de types différents à transmettre, ils sont insérés dans plusieurs ASDU.
Certains objets d'information contiennent plusieurs éléments d'information. Par exemple, la figure 11
montre un objet d'information de type 10 (valeur mesurée, normalisée avec repère temporel). Cet
objet est défini uniquement pour SQ=0 et contient trois éléments d'information valeur normalisée
NVA (2 octets), descripteur de qualité (1 octet) et horodatage binaire (1 octet), pour ce type d'objet,
les causes valides de transmission sont spontanées (code 3) ou demandées (code 5). [3]
41
Figure 17:Exemple d'objet d'information Valeur mesurée normalisée avec l'horodatage (type=10)
Le nombre d'objets d'information et d'éléments d'information dans l'ASDU est le nombre d'objets
indiqué dans le deuxième octet de l'en-tête de l'ASDU.
La plupart des ASDU sont identiques entre -101 et -104. Principalement des différences avec
les balises temporelles.
Il s'agit d'une extension du protocole CEI 60870-5-101 avec des modifications apportées aux services
de transport, de réseau, de liaison et de couche physique pour satisfaire la gamme complète d'accès
au réseau. La norme utilise l'interface réseau TCP/IP (Transmission Control Protocol/Internet
Protocol) pour fournir une connectivité LAN (Local Area Network).
Deux couches de liaison distinctes sont définies dans la norme, qui convient au transfert de données
sur Ethernet et sur ligne série (PPP - Point-to-Point Protocol). Les données du champ de contrôle de
la norme CEI104 contiennent divers types de mécanismes pour une gestion efficace de la
synchronisation des données du réseau.
La couche application de la CEI 104 reste la même que celle de la CEI 101, certains types de données
et services n'étant pas utilisés.
Le protocole CEI 104 est utilisé pour les systèmes d'alimentation et le protocole CEI 101 est utilisé
pour le centre de télécontrôle. [3]
42
V. DNP 3.0
DNP 3.0 (Distributed Network Protocol version 3) est un protocole de communication utilisé dans les
systèmes de contrôle de processus industriels. Il a été développé pour répondre aux exigences de
communication des réseaux de distribution d'énergie électrique, mais il est également utilisé dans
d'autres industries telles que l'eau, le gaz et le pétrole.
DNP 3.0 a été conçu pour offrir une communication fiable, efficace et sécurisée entre les
équipements de contrôle de processus à distance et les centres de contrôle. Il utilise une architecture
client-serveur pour permettre la communication bidirectionnelle entre les équipements de terrain et
les centres de contrôle. Le protocole permet également la communication entre les équipements de
terrain, ce qui peut être utile pour la surveillance et le contrôle des processus.
Redondance : DNP 3.0 offre une redondance intégrée pour assurer une communication fiable en cas
de panne de l'un des canaux de communication.
Sécurité : DNP 3.0 utilise des mécanismes de sécurité tels que l'authentification, le cryptage et la
vérification de l'intégrité des données pour garantir la sécurité de la communication.
Évolutivité : DNP 3.0 peut être étendu pour prendre en charge de nouveaux types de données et de
nouveaux équipements.
Gestion des données : DNP 3.0 fournit des fonctions pour la gestion des données, telles que
l'enregistrement des données et la gestion des événements.
En résumé, DNP 3.0 est un protocole de communication fiable, sécurisé et évolutif pour les systèmes
de contrôle de processus industriels. Il offre des fonctionnalités avancées pour la gestion des données,
la surveillance et le diagnostic, ainsi que la redondance intégrée pour garantir une communication
fiable.
IEC 60870-5/104/101 et DNP3.0 sont deux protocoles de communication utilisés dans les systèmes
de contrôle et d'acquisition de données (SCADA) pour les réseaux électriques et les systèmes de
distribution d'eau. Les deux protocoles ont des caractéristiques similaires, mais il y a des différences
dans quelque point.
43
44
Tableau 4:DNP3.0 vs IEC60870-5
communication client/serveur
Il convient de noter que ces caractéristiques ne sont pas exhaustives et que le choix entre les deux
protocoles dépendra des besoins spécifiques de chaque système de contrôle et d'acquisition de
données.
Conclusion
Lors de ce chapitre, une présentation des principaux éléments d’un système SCADA a été proposée.
L’évolution dans le temps du système SCADA a démontré qu’il est aujourd’hui de plus en plus
ouvert et utilisé dans divers domaines d’application (industriel, éducation, énergétique, etc.). Après
l’étude des différents protocoles de communication nous avons choisi de travailler avec l’IEC60870-
5-104, l’étape suivante sera consacré à l’étude des besoins aussi bien que la mise en cadre des
spécifications.
45
46
Chapitre III
SPECIFICATION
FONCTIONNELLE
47
Introduction
Dans ce chapitre nous allons étudier la spécification des besoins afin de déterminer et préciser les
fonctionnalités attendues de notre projet, ensuite nous allons suivre une méthodologie de
modélisation UML afin d’évoquer les différents diagrammes (diagramme de séquence, de classe et
de cas d’utilisation).
I. Méthodologie de conception
La conception d’un système d’information est une étape cruciale et essentielle pour le lancement
d’un projet informatique, elle s’effectue préalablement à la réalisation et nécessite une méthodologie
de travail adéquate répondant aux spécifications du système et aux exigences des utilisateurs dans
l’objectif d’aboutir à la solution adéquate. La phase de conception permet de décrire le
fonctionnement du système à venir et de formaliser les étapes préparatoires de son développement, en
vue d’en faciliter la réalisation et d’assurer la conformité aux besoins de l’utilisateur. La phase de
modélisation nécessite des méthodes d’analyse et de conception permettant de mettre en place une
représentation virtuelle d’une réalité.
La spécification des besoins exprime les comportements ou les actions que le système doit respecter.
Ces spécifications se présentent en deux catégories : les spécifications fonctionnelles et non
fonctionnelles. Ces dernières seront décrites ci-dessous.
1 Besoins fonctionnels
Ces besoins représentent les principales fonctionnalités du système. Ils proviennent généralement des
utilisateurs de ce système.
48
2 Besoins non fonctionnels
Ces spécifications n’expriment pas une fonction du système mais agissent de façon indirecte sur le
résultat et sur la performance du système. Ce qui fait que nous ne devons pas les contraintes ci-
dessous :
Pour mieux comprendre les fonctionnalités de notre système, nous avons recourt à une approche
incontournable dans le cadre du développement des interfaces web, c’est la méthode orientée
objet, une méthode normalisée pour visualiser la conception du système.
UML n’est pas une méthode (C’est une description normative des étapes de la modélisation) : ses
auteurs ont en effet estimé qu’il n’était pas opportun de définir une méthode en raison de la diversité
des cas particuliers. Ils ont préféré se borner à définir un langage graphique qui permet de représenter
et de communiquer les divers aspects d’un système d’information aux graphiques qui sont bien sûr
associés à des textes qui expliquent leur contenu. UML est donc un métalangage car il fournit les
éléments permettant de construire le modèle qui, lui, sera le langage du projet.
2 Les avantages de l’UML
UML est un langage formel et normalisé. Il permet ainsi : Un gain de précision, un gage de stabilité
et l'utilisation d'outils.
Objectif :
- Organiser le travail
49
- Gérer le risque
En conclusion, nous avons choisi de travailler avec UML parce qu’il exprime mieux la vue statique et
dynamique du système d'information et pour notre interface web, il est nécessaire de faire une
analyse très approfondie pour pouvoir dégager les nécessités de développement ainsi que quelques
scénarios d'exécution. [8]
Dans la conduite de ce sujet, nous avons choisi de travailler autour de trois diagramme UML :
Diagramme de séquence : c’est une représentation des interfaces entre les éléments du
système et/ou de ses acteurs
Pour représenter ces diagrammes, nous avons choisi StarUML comme logiciel de modélisation cédé
comme open source par son éditeur. [9]
Dans cette section nous allons modéliser les fonctionnalités principales de notre système.
L’acteur principale est l’utilisateur qui manipule le système, après être identifié il peut gérer les
données. Cette action n’est possible que lorsque le serveur nous permet l’accès à la base des données.
Par la suite, on peut les visualiser en temps réel et gérer la traçabilité.
50
Figure 18:Cas d'utilisation général
Ce diagramme décrit les cas d’utilisation « s’authentifier » avec les scénarios nominaux et alternatif
figure (20).
51
Tableau 5:Description de cas d'utilisation S'authentifier
Le diagramme de cas d’utilisation de la figure (21) ainsi le tableau (5) montrent les spécifications
de cette tâche.
52
Figure 20:Cas d'utilisation gestion de traçabilité
53
Postcondition Interface d’affichage par date et heure
Vue que la modification de données ne sera pas gérée que lorsqu’on ajoute des variables et les
enregistrer, nous préférons d’étudier ces cas ensemble.
En effet, le diagramme de cas d’utilisation sur la figure (22) et le tableau (6) illustrent les
spécifications de cette tâche.
Résumé Cette partie sert à interagir avec le système pour gérer les
données énergétiques.
54
Scénario normal L’utilisateur accède à l’interface SETUP IEC, il doit
sélectionner les variables à afficher.
Le diagramme de cas d’utilisation de la figure (23) et le tableau (7) montrent les spécifications
fonctionnelles de cette tâche.
55
Figure 22:Cas d'utilisation visualiser les données énergétiques
56
Tableau 8:description de cas d'utilisation visualiser les données énergétiques
Le diagramme de classe est considéré comme le point central dans la modélisation orientée objet, il
est utile pour plusieurs raisons. Tout d'abord, il permet de visualiser clairement la structure du
système, ce qui peut aider les développeurs à mieux comprendre l'architecture globale du système.
Ensuite, il permet de détecter rapidement les erreurs de conception ou les incohérences dans le
système, en montrant les dépendances entre les classes. De plus, il peut être utilisé pour générer du
code automatiquement à partir du modèle, ce qui peut accélérer le processus de développement. [13]
57
Afin de représenter une vue globale sur les différentes fonctions de notre système, les entités et les
opérations réalisées, nous avons modélisé sur la figure (24) les classes du système.
Dans ce diagramme de classe, la classe IEC104Client représente le simulateur de client IEC 104.
Cette classe contient les attributs ip_address, port, connexion, ainsi que les méthodes connect,
disconnect, start, stop, send et IEC104 event.
La deuxième classe IEC104Event représente un événement IEC 104. Elle contient les attributs
event_type et data, qui représentent le type d'événement et les données de l'événement,
respectivement.
La 3éme classe EventType est une énumération utilisée pour représenter les différents types
d'événements IEC 104 possibles MEASURED_VALUE, SCALED_VALUE ...
Ces types d'événements sont utilisés pour déterminer le format des données dans l'événement.
La quatrième classe IEC104 APDU représente une trame IEC104 qui contient plusieurs variables qui
composent la trame.
Et finalement La classe IEC104 Server représente un serveur IEC104 qui écoute les connexions
entrantes et peut envoyer/recevoir des trames IEC104.
58
Ces classes permettent de modéliser le comportement d'un simulateur de client IEC 104 en
fournissant les outils nécessaires pour établir une connexion avec un serveur distant, envoyer des
événements et recevoir des événements en retour.
V. Diagramme de séquence
Les diagrammes de séquence sont utilisés pour représenter les interactions entre les différents objets
d'un système, ou les différentes parties d'un système, en montrant comment les messages sont
échangés entre eux au fil du temps. Ils permettent de modéliser les scénarios d'utilisation et de
comprendre les interactions complexes entre les différents composants d'un système.
Ce diagramme de séquence présenté dans la figure (25) représente l’enchainement des actions et des
interactions entre les différents éléments de notre projet. [13]
59
Figure 24:Diagramme de séquence général
60
5. Le client IEC104 envoie une demande de lecture des données énergétiques au serveur
IEC104.
7. Le client IEC104 affiche les données énergétiques initiales sur l'interface utilisateur.
9. Le client IEC104 met à jour les données énergétiques affichées sur l'interface utilisateur en
fonction des notifications reçues du serveur IEC104.
10. Le processus de mise à jour des données énergétiques affichées se répète en boucle jusqu'à ce
que l'utilisateur termine la session. [13]
Conclusion
Durant ce chapitre, nous avons commencé par présenter les différents besoins attendus de notre
projet, ensuite, nous avons identifié les acteurs et présenté la description du diagramme de cas
d’utilisation global et celle textuelle de chaque cas.
La partie de conception et le choix de l’environnement de travail sera l’objectif du chapitre qui suit.
61
Chapitre IV
Conception et réalisation
62
Introduction
Après l’analyse approfondie dans le chapitre précédant des fonctionnalités, dans ce chapitre nous
présentons la conception de l'interface graphique de supervision de notre centrale photovoltaïque.
Nous décrivons les fonctionnalités de l'interface utilisateur, les exigences de conception, les outils et
les technologies utilisés pour la conception de l'interface utilisateur.
I. Environnement de travail
1 Environnement matériel
Raspberry Pi : est une carte électronique peu coûteuse, équipée d'un processeur ARM, de ports GPIO
et de connectivité Ethernet, Wi-Fi et Bluetooth, elle est utilisée comme plateforme de développement
pour le système de contrôle en raison de sa flexibilité et de sa capacité à exécuter différents types de
logiciels. Le Raspberry Pi sera utilisé pour exécuter le contrôleur de centrale électrique (Power
PlantController), ainsi que pour héberger une base de données MySQL pour stocker les données de la
centrale électrique. [4]
Caractéristiques :
- Alimentation à prévoir : 5 Vcc/maxi 2,5 A* via prise micro-USB (* intensité maxi si toutes
les fonctions sont utilisées)
- CPU : ARM Cortex-A53 quatre cœurs 1,4 GHz
- Wi-Fi: Dual-band 2,4 et 5 GHz, 802.11b/g/n/ac (Broadcom BCM43438)
- Bluetooth 4.2 (Broadcom BCM43438)
- Memoir: 1 GB LPDDR2
- Ethernet 10/100/1000 : jusqu'à 300 Mbps
- 4 ports USB 2.0
- Port Ethernet 10/100 base T : RJ45
- Bus : SPI, I2C, série
- Support pour cartes micro-SD
- Sorties audios : HDMI avec gestion du 5.1/Jack 3,5 mm en stéréo
- Sorties vidéo : HDMI
- Dimensions : 86 x 54 x 17 mm
63
Figure 25:Carte Raspberry PI 3B+
Power Plant Controller : un contrôleur industriel programmable (PLC) utilisé pour interconnecter les
différents équipements de la centrale photovoltaïque et collecter les données.
Maquette : C’est un prototype elle se compose des capteurs utilisés pour collecter les données
environnementales telles que la température, l'humidité, la luminosité, des Onduleurs et analyseurs
qui sont des équipements de la centrale photovoltaïque, utilisés pour générer de l'énergie solaire.
2 Environnement logiciel
Système d'exploitation : le Raspberry Pi peut être équipé d'un système d'exploitation tel que
Raspbian, basé sur Debian, qui offre une compatibilité élevée avec les logiciels open-source.
Langages de programmation : Python le langage de programmation que nous avons utilisé
pour développer le système de contrôle et les applications de l'API REST.
MySQL : un système de gestion de bases de données relationnelles utilisé pour stocker les
données collectées par le système de contrôle.
MySQL utilise phpMyAdmin comme interface pour gérer les bases de données sur un serveur
PHP, c’est le moyen le plus adopté qui permet d’exécuter facilement et sans ambiguïté, les
requêtes de création de table, insertions, mise à jour, suppression et modifications de structure
de la base de données. [2]
PHP : est un langage de programmation côté serveur, souvent utilisé pour créer des
applications web dynamiques. Il est open-source, ce qui signifie que le code source est
disponible pour tout le monde et peut être modifié selon les besoins. [11]
64
PHP peut être utilisé pour générer du contenu HTML, manipuler des fichiers, interagir avec
des bases de données, et bien plus encore. Il est souvent combiné avec des bases de données
comme MySQL pour stocker et récupérer des informations.
L'une des principales caractéristiques de PHP est qu'il peut être intégré directement dans des
fichiers HTML, ce qui facilite l'écriture de pages web dynamiques. Il est également facile à
apprendre et à utiliser, ce qui en fait un choix populaire pour les développeurs débutants.
Nous avons également choisi d'utiliser une API REST pour permettre aux utilisateurs d'interagir avec
la centrale électrique à distance. L'API REST sera développée en Python, le choix d’une API Restful
répond à des commandes et à des langages spécifiques. Elle est donc plus simple, plus flexible et plus
rapide que les autres types d’APIs. Par conséquent, elle est adaptée à un usage industriel en entreprise. [12]
Les requêtes se font toujours au format HTTP. Les réponses parviennent au client sous un format
standardisé : JSON.
CSS (Cascading Style Sheets) : c’est un langage de feuilles de style utilisé pour décrire la présentation
d'un document HTML ou XML. CSS est utilisé pour définir les styles visuels tels que la couleur, la
taille de police, la mise en page, les marges, le positionnement et d'autres aspects de l'apparence d'un
document.
Le CSS permet de séparer la présentation de la structure du document, ce qui permet de modifier
facilement l'apparence d'un site Web en modifiant simplement le fichier CSS sans avoir à modifier le
code HTML. [6]
65
Visual Studio Code (VSC) : est un éditeur de code source gratuit et open source développée par
Microsoft. Il est disponible pour Windows, Mac OS et Linux. Visual Studio Code est conçu pour
les développeurs qui travaillent avec plusieurs langages de programmation et pour les
développeurs de logiciels web qui créent des sites web dynamiques. [10]
Nous avons choisi cet éditeur pour ses fonctionnalités d’édition avancées.
L'échange de données entre une base de données MySQL, une API REST, une carte Raspberry Pi et
un client IEC 104 peut être expliqué comme suit :
1) La base de données MySQL stocke les données à être utilisées par l'interface. Ces données
peuvent inclure des informations telles que des mesures de courant, Tension, puissance, etc.
[2]
2) L'API REST fournit une interface pour accéder aux données de la base de données. La
communication entre la base de données et l'API REST est généralement effectuée en utilisant
le langage SQL (Structured Query Language).
3) La carte Raspberry Pi est un dispositif qui peut être utilisé pour accéder à l'API REST. Elle
peut envoyer des requêtes HTTP ou HTTPS pour récupérer des données à partir de l'API
REST ou pour envoyer des données à l'API REST pour les enregistrer dans la base de
données.
4) Le client IEC 104 est un protocole de communication utilisé pour échanger des données en
temps réel entre des équipements de contrôle de processus. Il peut être utilisé pour envoyer
des commandes aux équipements ou pour recevoir des données de mesure et d'état. Le client
IEC 104 se connecte à la carte Raspberry Pi via une connexion réseau pour échanger des
données.
5) La carte Raspberry Pi peut utiliser l'API REST pour récupérer les données stockées dans la
base de données MySQL et les transmettre au client IEC 104. De même, le client IEC 104
peut envoyer des données à la carte Raspberry Pi via la connexion réseau, et la carte
Raspberry Pi peut utiliser l'API REST pour enregistrer ces données dans la base de données
MySQL.
En résumé, l'API REST fournit une interface pour accéder aux données stockées dans la base
de données MySQL, et la carte Raspberry Pi peut être utilisée pour accéder à l'API REST et
échanger des données avec un client IEC 104. Cette architecture permet d'interconnecter
différents équipements de contrôle de processus et de partager des données en temps réel pour
permettre une meilleure gestion et une optimisation des processus.
66
Figure 27:Architecrure d'échange des données par la base de données
1 Structure du message
Les messages envoyés ont une structure imbriquée, qui dérive de la structure en couches du
protocole. L'ASDU (service applicatif Unité de données) est un bloc de données envoyé par les
processus d'application dans une autre station. L'ASDU est spécifié sous forme de trames de longueur
variable.
Une trame à longueur variable utilisée dans CEI 870-5-104 commencer par :
Et arrête avec :
L'ASDU est composé d'un identificateur d'unité de données et d'un ou plusieurs Objets informatifs.
L'identifiant de l'unité de données a toujours la même structure pour tous les ASDU. Les objets
67
d'information d'un ASDU sont toujours de même structure et de même type, qui sont définis dans le
type champ d'identification.
68
Figure 28:Organigramme de la procédure Send_ASDU
Procédure de réception : Dans cette procédure, le client (station primaire) vérifie tous les
octets - un par un - du message reçu. S'il n'y a pas d'erreurs par rapport aux spécifications
utilisées, la station primaire détermine et affiche les valeurs mesurées. L’Organigramme est
présenté dans la figure (30et31).
69
Figure 29:Organigramme de la procédure Receive_ASDU (a)
70
Figure 30:Organigramme de la procédure Receive_ASDU (b)
Et comme résultat de simulation la figure (32) nous montre un exemple d’envoi d’une trame :
Le bit de start « Start byte » c’est fixé à 0x68 ce qui donne en décimal "104"
Le caractère de longueur de la trame « Length of the APDU » était fixé à "54", ce qui
spécifiait
Send sequence number N(S) LSB = 90 => I-Format
Send sequence number N(S) MSB=20
Receive sequence number N(R) LSB=124
Receive sequence number N(R) MSB=0
Originator address = 0
Common ASDU address (2 octets) = 1 dec
La trame d’ASDU commence par Type_ID qui a été réglé sur "11" pour se référer à
Measured value, Scaled value « M_ME_NB_1 »
La cause du caractère de transmission « COT » était fixée à "3", ce qui se référait à un
balayage en arrière-plan, utilisé dans la direction du moniteur pour synchroniser les données
« Number of object » Selon l’exemple décrit dans la figure 27 nous avons choisi d’envoyer 7
variables (V1, I1, P1, Q1, Qt, Ewh, Evah) chacun d’eux s’écrit sur 6 bits :
1) Object_address_octets_1
71
2) Object_address_octets_2
3) Object_address_octets_3
4) Scaled_value_octets_1
5) Scaled_value_octets_2
6) Scaled_value_octets_3
Lorsque le programme a été exécuté, une interface est apparue, qui contient certains valeurs envoyés
(Tension, courant, puissance…) comme le montre la figure (33). Toutes les grandeurs étaient
sélectionnées au hasard en raison du large choix. Cela permet également de les visualiser en temps
réel et ça change proportionnellement avec les données envoyées de l’API à chaque instant.
72
Figure 32:Interface utilisateur du programme de simulation
Lorsque l’utilisateur passe à la deuxième page de configuration des différents types d’ASDUs
73
Figure 33:Interface de configuration IEC
Ici l’utilisateur peut choisir les types d’ASDUs, les différentes grandeurs physiques à afficher à partir
de l’API en sélectionnant les variables dans la colonne « SCADA_TAG » et tous les autres champs
vont se remplir automatiquement grâce à la page suivante ‘SETUP IO’ comme le montre la figure
(35). Et pour finir la configuration on clique sur le bouton « SAVE » pour enregistrer notre choix.
74
Figure 34:Configuration I/O
Le nom
L’adresse IO
Le type
L’unité
Le coefficient
Et pour finir on a ajouté une page d’historique « HISTORY » ou on trouve les différentes valeurs de
mesure envoyée pendant des différents date et heure (Courant, Tension, puissances actifs et réactives,
Energie, facteur de puissance…) qui représentent les éléments d'information du message.
75
Figure 35:Page historique d'envoie des données
En termes de sécurité et confidentialité on a fait aussi une partie d’historique de configuration IEC
pour que chaque utilisateur peut garder son travail enregistrer et garder des notes de traçabilité.
76
Figure 36:Historique de configuration IEC
Conclusion
Ce chapitre nous a permis de concevoir une interface graphique spécifique qui permettra à
l’opérateur de configurer plusieurs paramètres de l’installation.
Nous avons réalisé à l’aide de cette interface l’envoie et la réception des données entre la centrale de
dispatching aux clients à travers l’API et le power plant Controller. Ces tests ont permis de valider la
fiabilité du protocole conçue en matière pour la télé-conduite, la télé-protection et d'autres fonctions
de télécommunication pour les systèmes d'alimentation électrique.
77
Conclusion générale
L'objectif principal de cette recherche est d'étudier ce protocole en détails pour obtenir des
connaissances sur le fonctionnement, la configuration et la mise en œuvre du cadre protocolaire. Le
deuxième objectif est de simuler une partie des fonctions du protocole, telles que transfert des valeurs
de mesure avec un nombre à virgule flottante.
Cette recherche a couvert tous les aspects théoriques de la Protocole CEI60870/104. Le programme
de simulation est implémenté et couvre une partie des fonctions du protocole, telles que la procédure
de transfert des valeurs de mesure avec nombres à virgule flottante.
Le programme a besoin de quelques ajouts des types d’ASDUs pour appliquer le contrôle/monitoring
des stations secondaires par la station primaire.
Pour les futurs travaux, le programme de simulation a besoin d’un développement pour inclure toutes
les fonctions de protocole restantes qui couvrent tous les types de massages.
Dans ce projet, nous avons présenté la conception et la mise en œuvre d'une interface graphique de
supervision centrale photovoltaïque conforme à la norme IEC60870. Notre solution permet de
superviser et de contrôler plusieurs sites de production photovoltaïque à partir d'une interface
utilisateur unique. Notre solution a été validée par des tests rigoureux et a démontré sa fiabilité et son
efficacité. Nous espérons que ce travail sera utile pour les professionnels travaillant dans le domaine
de la surveillance et du contrôle des systèmes photovoltaïques.
78
Bibliographie
[3] Description and analysis of IEC 104 Protocol, Rapport technique no. FIT-TR-2017-12,
(décembre, 2017) :
https://www.fit.vut.cz/research/publication-file/11570/TR-IEC104.pdf.
[4] https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus
79
Annexe A: IEC 104 ASDU types and their description
80
81