46
Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView. 4. Programmation sous LabVIEW. Dans le dernière partie de cet projet on va développer le programme appelé Superviseur EnR sous environnement LabView lequel nous va permettre d’afficher en temps réel de tous les données de l’installation. En plus, on va pouvoir faire les graphes d’évolution de toutes les variables de l’installation ainsi que consulter les différents fichiers d’historiques des variables par jour. Le résultat est un programme de 32 Mb. LabVIEW est un langage de programmation graphique qui utilise des icônes au lieu de lignes de texte pour créer des applications. A l’inverse des langages de programmation textuels dans lesquels des instructions déterminent l’exécution du programme, LabVIEW utilise une programmation par flux de données, ce flux déterminant l’exécution. LabVIEW est un langage complètement graphique, et le résultat est qu’est totalement semblable à un instrument. C’est la raison par laquelle tous les modules crées avec LabVIEW sont appelés VI ( Virtuel Instrument). Dans LabVIEW, on construit une interface utilisateur à l’aide d’un ensemble d’outils et d’objets. L’interface utilisateur d’un VI est appelée la face-avant. On crée le code en utilisant des représentations graphiques de fonctions pour commander les objets de la face- avant. Le diagramme contient ce code d’une certaine manière, le diagramme ressemble à un organigramme. Tous les modules sont interconnectés à l’aide de lignes de connexion par où circulent les différents données ou valeurs de l’instrument virtuel. Donc le VI est un ensemble de éléments, modules et submodules. Par conséquence LabVIEW est un programme complètement graphique; mais on le considéré qu’est le plus pratique pour l’application qu’on a voulu faire. Par contre, il présente la complication de le commenter. 4.1. Face-avant de Superviseur. La face avant est composée par une commande onglet, on va l’appeler commande onglet général avec trois pages dans le premier onglet dans la premier onglet on va avoir une page d’accueil, sur la deuxième toute l’information du pôle thermique et troisième on va avoir l’information du pôle électrique. Il a été prévu charger cet logiciel sur le site web du Lycée la Félix García Torres 56

4. Programmation sous LabVIEW. - bibing.us.esbibing.us.es/proyectos/abreproy/3730/fichero/CAPITULO+4.pdf · Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView

Embed Size (px)

Citation preview

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

4. Programmation sous LabVIEW.

Dans le dernière partie de cet projet on va développer le programme appelé Superviseur EnR sous environnement LabView lequel nous va permettre d’afficher en temps réel de tous les données de l’installation. En plus, on va pouvoir faire les graphes d’évolution de toutes les variables de l’installation ainsi que consulter les différents fichiers d’historiques des variables par jour. Le résultat est un programme de 32 Mb.

LabVIEW est un langage de programmation graphique qui utilise des icônes au lieu de

lignes de texte pour créer des applications. A l’inverse des langages de programmation textuels dans lesquels des instructions déterminent l’exécution du programme, LabVIEW utilise une programmation par flux de données, ce flux déterminant l’exécution.

LabVIEW est un langage complètement graphique, et le résultat est qu’est totalement

semblable à un instrument. C’est la raison par laquelle tous les modules crées avec LabVIEW sont appelés VI ( Virtuel Instrument).

Dans LabVIEW, on construit une interface utilisateur à l’aide d’un ensemble d’outils

et d’objets. L’interface utilisateur d’un VI est appelée la face-avant. On crée le code en utilisant des représentations graphiques de fonctions pour commander les objets de la face-avant. Le diagramme contient ce code d’une certaine manière, le diagramme ressemble à un organigramme.

Tous les modules sont interconnectés à l’aide de lignes de connexion par où circulent

les différents données ou valeurs de l’instrument virtuel. Donc le VI est un ensemble de éléments, modules et submodules.

Par conséquence LabVIEW est un programme complètement graphique; mais on le

considéré qu’est le plus pratique pour l’application qu’on a voulu faire. Par contre, il présente la complication de le commenter. 4.1. Face-avant de Superviseur.

La face avant est composée par une commande onglet, on va l’appeler commande onglet général avec trois pages dans le premier onglet dans la premier onglet on va avoir une page d’accueil, sur la deuxième toute l’information du pôle thermique et troisième on va avoir l’information du pôle électrique. Il a été prévu charger cet logiciel sur le site web du Lycée la

Félix García Torres 56

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Baronnerie quand cet programme sera réalisé donc le format qu’on a donné à ces pages va être pareil qu’une page de un site web.

4.1.1. Page de accueil. Cette page est le premier écran qu’on obtient quand on lance le Superviseur, on l’appelle page principal. Un des objectifs de ce logiciel consiste à faire de la publicité au Pôle Energies Renouvelables, donc sur la partie supérieure on a fait six figures où on va charger différents photos du pôle de façon que les six photos vont changer une pour une environ chaque seconde on aura une photo différente sur l’écran. Ensuite, on situe trois boutons booléens, les premiers de eux va être pour changer le page du commande onglet principal de façon que l’utilisateur puisse regarder les données du Pôle Électrique (bouton ELECTRIQUE), ou bien, Thermique (bouton THERMIQUE) selon son choix. En fin, on a le bouton SORTIR par lequel on sélectionne le choix de quitter le Superviseur. On a ce écran sur la figure 4.1.

Figure 4.1. Page Principal 4.1.2. Page du Superviseur Electrique.

Lorsque l’on appuie sur le bouton ELECTRIQUE de la page principal on arrive à la page de la figure 4.2. Autant la page appelé Superviseur Électrique comme la page appelé Thermique ont l’apparence d’un téléviseur avec différents chaînes.

Les différents chaînes ont été créées seulement à l’aide d’une autre commande onglet

ou on a agrandi la taille des onglets et après, avec les commandes décoration on a donné l’aspect de boutons de téléviseur. Chaque page de cette commande onglet va permettre

Félix García Torres 57

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

l’affichage en temps réel des variables de chaque composant de l’installation, ainsi comme les différents graphes, histogrammes d’énergie ou animations correspondant.

A côte de chaque chaîne on situe un indicateur booléen avec aspect de led bleu ciéle

qui passe la couleur à bleue lorsque l’utilisateur choisit la chaîne à cote de qui s’encontre. Sur chaque led, on met l’étiquette avec le nom du composant du pôle dont les données affichent.

Sous les chaînes on situe le bouton RETOUR PAGE PRINCIPALE .C’est une

commande booléenne avec laquelle on va changer la page de commande onglet principal vers la page de accueil.

Le barre supérieure a été créée aussi avec commandes décoration. L’affichage

supérieur avec le fonde noir et les lettres en vert nous donne l’information de la chaîne du superviseur sélectioné. C’est un indicateur image ou on a situé un texte.

Ci-après, on explique chaque une des pages du commande onglet Superviseur Électrique. a) Supervision générale

On situe dans la page l’affichage en temps réel de la valeur de l’acquisition de donnée de chaque variable mesurée ou calculé correspondant au Pôle Électrique. On a préféré utiliser l’indicateur tipe texte en lieu de simples indicateurs numériques pour avoir aussi l’affichage de l’unité sous laquelle la mesure a été fait.

Après on situe le commande onglet plans du pôle électrique. On a placé ces plans ici

pour une meilleure compréhension des mesures réalisées par de l’utilisateur.

Figure 4.2. Supervision générale du Pôle électrique

Félix García Torres 58

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

b) Panneau 1 et Panneau 2. Sur cette page on a placé des indicateurs numériques type vumètre correspondant chacun à la mesure du courant de panneau et tension de panneau, où l’on affiche la mesure de tension des batteries , un indicateur numérique type jauge où on affiche le calcul de puissance du Panneau 1. Sous chaque indicateur numérique on a situé un indicateur texte où on affiche la valeur de la mesure et aussi l’unité de la mesure.

Figure 4.3. Page panneau 1. Sur cette page, on situe aussi deux commandes onglets, avec deux pages chacune. Sur la premier page commande onglet inférieur, on a les graphes d’évolution de la puissance et de la courant du panneau, sur la deuxième on va avoir une tableau de données où sont affiches le historique de donnés de toute la journée de cet composant. Voir figure 4.4. Sur la commande onglet de la partie supérieur droit de l’écran, on a le graphe d’évolution de la mesure du luxmètre et le histogramme d’énergie.

Félix García Torres 59

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.4.Panneau 2. c) Eolienne. Sur l’onglet de l’eolienne, on affiche comme pour le case antérieur, un indicateur vumètre pour la courant et un indicateur type jauge pour la puissance. On situe aussi les indicateurs type texte pour la courant, tension, puissance et énergie. On a deux indicateurs image donnant la position de la nacelle et le mouvement de l’hélice en temps réel. On a aussi, les indicateurs texte correspondant au angle de position des pales, position de la nacelle, vitesse vent, vitesse moyenne du vent, vitesse hélice et vitesse génératrice.

Félix García Torres 60

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.5. Page de l’éolienne.

d) Groupe électrogène. La page correspondante au groupe électrogène est similaire à la page correspondant aux panneaux sauf qu’on n’affiche pas le graphe d’évolution du luxmèttre. e) Onduleur Autonome et Onduleur Réseau. Les pages des onduleurs sont aussi pareil que les pages sur les panneaux sauf qu’on utilise autre indicateur type jauge pour afficher autant la puissance d’entrée que le puissance de sortie de l’onduleur. Donc, sur le graphe de la puissance on affiche au même l’entrée et la sortie de puissance.

Félix García Torres 61

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.6. Page de l’onduleur autonome.

f) Batterie et production générale de l’installation. On utilise un indicateur type réservoir pour afficher le niveau de charge de la batterie. On affiche aussi avec des indicateurs type texte le niveau de la batterie, la tension de la batterie, les sommes de puissance consommée et fournie et la différence de ces valeurs. On fait le même pour les valeurs d’énergie.

Figure 4.7. Page de la batterie.

Félix García Torres 62

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

On affiche les graphes des puissances fournie et consomme comme l’évolution de la tension des batteries avec le temps. 4.1.3. Page du Superviseur Thermique.

Le conception de cette page est pratiquement est identique à celle de la page du superviseur électrique. Il s’agit d’une page de supervision générale et ensuite six pages, une par circuit hydraulique de l’installation. a) Supervision générale. De la même façon que pour le Pôle Électrique on fait une page où on affiche toutes les mesures de l’installation du Pôle Thermique. De plus, on situe une commande onglet où on affiche les plans de l’installation.

Figure 4.8. Page de supervision générale du Pôle Thermique.

b) Pages des circuits du Pôle Thermique. Sur les pages des circuits du Pôle Thermique on affiche des indicateurs thermomètre, une pour la température de entrée et autre pour la température de sortie; et un indicateur jauge pour les débits. On affiche aussi des indicateurs texte pour les températures, le débit, le puissance et l’énergie de chaque circuit. Sur les circuits eau chaude sanitaire primaire et sur le circuit piscine primaire on affiche aussi la puissance moyenne. On utilise un commande onglet sur le partie inférieur de la page. Où on a les graphes de puissance et de température sur la premier page et le table de historique de données sur le deuxième. On utilise un commande ongle sur la partie supérieur droite de la page . Ou va avoir le graphe du débit et l’histogramme d’énergie.

Félix García Torres 63

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.9. Page du circuit Piscine Secondaire. 4.2. Diagramme de Superviseur.

La conception du programme à été prévue pour un fonctionnement continu. Donc, le

programme est structuré selon un boucle While. La condition d’arrêt du boucle est toujours mis à valeur False avec une constante booléenne.

Dans la boucle While extern on a place une Structure séquence empilé de trois étapes. Dans chaque étape on va avoir un sous-diagramme différent. On utilise cet type de structure pour garantir l’ordre d’exécution du programme. Tout suite on va expliquer chacune des étapes. 4.3. Première étape.

Dans la première étape on a une boucle While où l’on va attendre jusqu’à 23.59 heures soient passées. On réalise, cette boucle While pour éviter qu’un nouveau fichier des données du jour soit crée dans la dernière minute. On va faire un histogramme d’énergie par heure et par dispositif sur le Pôle Electrique et par courant sur le Pôle Thermique donc on mettre aussi toutes les compteurs de tempo pour la réalisation de ces histogrammes d’énergie. De la même façon on fait la définition des compteurs d’énergie pour les utiliser pour le calcul d’énergie accumule par heure. En cliquant, seulement avec le bouton droit sur les compteurs on peut choisir sur le menu créer variable locale, et on peut utiliser cette variable en différents occasions pendant le programme. En plus, un fois qu’on a créé une variable locale en cliquant un fois sur la variable locale et en appuyant avec la boiton droit on peut choisir si on veut écrire ou lire la valeur de cet variable locale.

Félix García Torres 64

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

4.4 . Deuxième étape.

C’est ici où presque toutes les fonctions du programme Superviseur EnR ont été développées. On commence par mettre en place une boucle While où l’on va réaliser autant les mesures comme les différents animations du Superviseur.

La boucle While est composée par une Structure Séquence empilée formée par 66 étapes.

L’intérêt d’avoir utilisé une structure séquence a été le temps d’acquisition de données. Pour faire une acquisition de chaque donnée LabVIEW lance une requête au server OPC. Ensuite OPC va faire une requête vers l’automate par la liaison Modbus. Lorsque la requête est arrivée l’automate va envoyer la valeur de la variable demandé, OPC va la donner a LabVIEW et finalement LabVIEW va faire les diverses opérations avec cet variable. Donc celui-la nous donne le temps de cycle pour l’acquisition de chaque donné.

La conception du programme a été toujours un compromis entre la vitesse d’exécution du

programme, l’optimisation de la mémoire et la précision des données affichées. En total, on lit 57 variables de l’automate. La liste de variables que l’on va lire depuis l’automate vont est la suivante :

- Températures d’entre et sortie. (12) - Débits (6) - Énergies. Pour les énergies on va lire deux accumulateurs pour chaque composant du

circuit électrique et deux accumulateurs pour chaque circuit du circuit thermique. (24) - Puissances Moyennes. (2) - Courants (5) - Tension des batteries (1) - Luxmètre. (1) - Vitesse du vent, vitesse moyenne du vent, vitesse hélice, vitesse génératrice. (4) - Puissance des onduleurs (2).

En plus, il y a des variables dont le degré de variation est inférieur à des autres. Par

exemple, la valeur des températures est presque constant si on le compare avec l’évolution des débits. Donc on fait la lecture du valeur des températures, énergies et puissances moyennes un fois par chaque dix lectures du reste des variables.

La logique du programme est faire l’acquisition des données à le même temps qu’on

faire les différents animations du programme. Si on faisait tout les acquisition des données ensemble, et après on faisait les différents animations le temps entre que l’utilisateur demande un change de page moyennant un bouton serait trop grande.

C’est la raison pour laquelle on distribue les étapes de la structure séquence empilée de façon qu’on va avoir principalement trois types d’étapes :

- Étape type A: Lecture des boutons de control du commande onglet principale. - Étape type B: Reste d’animations. - Étape type C :Acquisition des données.

Finalement on arrive une séquence de 66 étapes où on va répéter chaque trois étapes

un sous diagramme presque identique. Félix García Torres 65

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Ensuite, on va expliquer chaque une des étapes, si bien on fait le commentaire de que

aucunes parties de cette programme, et surtout lorsque il s’agit d’appelles à subprogrammes on été réalisées moyennant la modification d’autres programmes dans les examples existants en LabVIEW. Pour voir ces exemples au lancer LabVIEW il faut choisir l’option Aide – Recherche d’exemples.

4.4.1. Étape type A.

Les boutons de control de la commande onglet principale on les trouve sur la page de accueil, voir figure 4.1., il s’agit des boutons avec les étiquettes ELECTRIQUE et THERMIQUE. Aussi avec les boutons RETOUR PAGE PRINCIPALE sur les pages du Pôle Électrique et sur les pages du Pôle Thermique. Tous les quatre boutons on été programmés sous l’action mécanique de commutation à l’appui. Sur le diagramme ces boutons on été nominés de la suivant façon :

- Bouton électrique : Booléen - Bouton thermique : Booléen 2 - Retour page principale ( Pôle électrique) : Stop2 - Retour page principale ( Pôle thermique) : Stop 1

Moyennant un bloc assembler on fait un cluster. On utilise un cluster sous LabVIEW

lorsque on veut travailler avec différents variables comment un conjoint. Bien que, on a quatre variables comme on a expliqué ces variables sont utilisés pour le control de la commande onglet principale donc on a trois états possibles seulement. Donc on utilise un bloc assembler à cluster de trois variables. Comme on a commenté les quatre boutons sont commandes booléens, donc on peut avoir seulement l’état vrai ou faux sur ces sorties. On va assembler les sorties des deux boutons retour page principale moyennant une commande ou sur la première variable du cluster. Sur les variables deuxième et troisième on a les sorties des boutons thermique et électrique.

La sortie de cet cluster on va la transformer en une sortie tableau moyennant le bloc

cluster en tableau. Cet sortie on la connecte au bloque rechercher dans un tableau cet bloc a trois entrées. Sur la première entrée on connecte la tableau où on veut rechercher l’élément. Sur le deuxième entrée on connecte l’élément qu’on veut rechercher. Dans cet cas on veut trouver l’élément dont l’état est vrai, donc on connecte une constante booléenne fixe à la valeur true. La troisième entrée est pour indiquer l’indice de départ, si on ne connecte rien celui-la sera zéro par défaut.

La sortie de cet bloc sera l’indice de l’élément dans la tableau d’entrée qu’est avec la

valeur vrai. Aussi, cet bloque donnera la valeur –1 si aucune élément est avec la valeur vrai ou dans le cas qu’il ait un erreur.

Donc, si la valeur est –1 l’état du commande onglet principale continuera sans aucune

variation. Et si la valeur est différent de –1 on change la page de la commande onglet selon l’indice qui sera avec la valeur vrai. Pour faire celui-la on fait la comparaison avec un bloc égaux la sortie de la bloque Rechercher dans un tableau et une constante numérique avec la valeur –1. La sortie de cet bloc égaux sera l’entrée d’une structure condition.

Félix García Torres 66

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

La structure condition a deux états possibles et une seule sortie qui détermine la page de la commande onglet principale. Si l’état est faux est parce qu’il y a un bouton qui a été appuie par l’utilisateur, la sortie sera la sortie du bloque Rechercher dans un tableau. En plus, en utilisant variables locales en écriture on va laisser avec la valeur faux tous les boutons de control de la commande onglet principale.

Si l’état est vrai, ce veut dire qu’aucune bouton est avec la valeur vrai ( l’utilisateur du programme n’ai pas appuie sur aucune bouton de control de la commande onglet principale) la sortie de la structure condition dans cet cas sera égal que la dernier fois qu’on a lu une étape de type A, on fait cela moyennant l’use de variables locales de séquence et moyennant registres à décalage.

Figure 4.10. Diagramme d’une étape type A. Pour créer une variable locale de séquence il faut seulement cliquer sur le structure de

séquence empilée appuyer sur le bouton droit de la souris et dans la menu choisir ajouter une variable locale de séquence. Avec cela on peut connecter la sortie de l’étape 0 avec l’entrée de l’étape 3 et de façon identique avec le reste de toutes les étapes.

Par contre, si on utilise les variables locales de séquence on peut connecter étapes

avec un nombre inférieur avec étapes d’un nombre supérieur mais ce n’est pas possible à l’inverse, donc pour connecter l’étape 65 avec l’étape 0 on va utiliser un registre à décalage. On utilise les registres pour pouvoir utiliser dans un boucle while la valeur d’une variable sous la dernière itération de la boucle. Pour créer un registre à décalage on doit seulement choisir la palette de fonction sur le diagramme, fonctions, structures, et choisir un Nœud de Rétroaction. En cliquant, sur le Nœud de Rétroaction et en appuyant sur le bouton droit de la souris on peut le transformer en Registre à décalage.

Félix García Torres 67

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Lorsque on crée la commande onglet sur la face avant on a la variable du commande onglet sur le diagramme. En cliquant un fois sur cette variable, et en appuyant avec le bouton droit de la souris on crée un Nœud de Propriété avec lequel on contrôle toutes las propriétés du commande onglet. Dans cet case on va choisir la propriété Valeur (Signalisation) avec laquelle on peut changer la page de la commande onglet en écrivant le nombre de la page qu’on veut choisir et en commençant avec la valeur 0.

4.4.2. Étape type B

Sur cette on fait le reste d’animations. Comment on a expliqué sur les pages deuxième et troisième de la commande onglet principal on situe deux commandes onglet, qu’on nomine commande onglet superviseur thermique et commande onglet superviseur électrique. Il s’agit de faire indicateurs pour dire à l’utilisateur sur la page qu’on affiche. Il s’agit de mettre le texte sur l’indicateur image qu’on a sur la partie supérieur des superviseurs, et aussi l’aluminage des leds sur la partie supérieur droit de chaque une des superviseurs. Donc on commence avec la lecture du valeur de la commande onglet principale. Derrière cet sortie on met une structure condition où on a trois cases un par chaque page de la commande onglet principale. Si on est sur la case page principal on lit la valeur du bouton situé sur la page d’accueil avec l’étiquette sortir. Si l’utilisateur appuie sur cette commande booléenne quittera le programme superviseur. Cette commande booléenne est nominé sous le diagramme comme booléen 3. Cette commande booléenne sera l’entrée au bloc quitter LabVIEW. On peut voir cet diagramme sous la figure 4.11.

Figure 4.11. Diagramme Structure Condition du Commande onglet principal case page principal

Les commandes onglets des superviseur thermique et électrique seront nominés sur le

diagramme comme tab control 2 et tab control 3. Dans les cas de la page thermique où la Félix García Torres 68

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

page électrique on autre structure condition gouvernée par les valeur des commandes onglets nominées comme tab control 2 et tab control 3. On a un cas sur chaque page de cet commande onglet. Chaque case on active le led correspondant et on désactive le reste. Par exemple, en la figure 4.12., on affiche la deuxième page. Tous les indicateurs booléens sont désactivés avec une constante booléenne faux sauf le deuxième qui est activé moyennant une constante booléenne vrai. En plus, on crée une sortie pour tracer un texte où on affiche l’information de la page qu’on est situés sur l’indicateur image supérieur. Pour faire cela, on utilise le bloc tracer un texte au point. Voir figure 4.12. Aussi dans le case de la page de l’éolienne on utilise le subprogramme Pale qui sera explique avec le reste des subprogrammes utilisés.

Figure 4.12. Diagramme pour l’aluminage des leds et l’affichage du texte sur l’indicateur image superieur.

Le bloc Tracer un texte au point a 4 entrées et une sortie. La première entrée est le cluster d’origine où on dit le point où on situe le texte sur l’image. La deuxième entrée est la sortie de la structure condition c’est une constante texte différent selon chaque case. Les deux entrées restantes sont les couleur du texte et du fonde. La sortie sera l’image située sur la partie supérieure des pages électrique et thermique. La façon de nominer ces images seront image 3 pour la page thermique et image 4 pour le page électrique.

Finalement on demande toujours l’heure et la minute pour donner la condition d’arrête

à la boucle while à 23h59. On utilise le bloc Secondes en date/heure et un bloque désassembler par nom, pour pouvoir différencier l’heure des minutes. Plus tard, on fait une comparaison pour voir si le horodatage est les 23 heures et 59 minutes. Voir figure 4.13.

Félix García Torres 69

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.13. Diagramme pour arrêter la boucle while aux 23h59.

Toutes les sorties du bloc Et de cet type d’étape seront assemblés moyennant bloques

Ou d’hors de la Structure séquence empilée. Voir figure 4.14.

Figure 4.14. Assembler les différents conditions 23h59 pour arrêter la boucle while.

4.4.3. Étape type C.

C’est l’étape le plus important parce que c’est ici où on fait la liaison du logiciel LabVIEW, avec le serveur OPC, pour pouvoir lire les variables de l’automate maître. De plus, on fait tout l’affichage des données.

La bloc principal avec lequel on peut faire l’acquisition des données est le bloque

DataSocket. Il faut faire un petit commentaire sur le signifié de un bloque DataSocket à niveau des différents langues de programmation. Dans le monde de l’informatique un bloque DataSocket simplifie l’échange des données entre différents applications sur un seul ordinateur, ou bien sur différents ordinateurs connectés en réseau. DataSocket est un jeu de fonctions unique pour le partage de données : L’idée est d’acquérir des données sur un ordinateur Serveur et de appeler les données sur un ordinateur Client.

Félix García Torres 70

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Les protocoles supportés par DataSocket sont http (Hiper Text Transfer Protocol ), ftp

( File Transfer Protocol ), DSTP ( DataSocket Transfer Protocol ), fichier et . C’est-à-dire qu’à travers les outils DataSocket, on peu accéder aux données issues de ces différents protocoles.

DataSocket utilise Uniform Resource Locators (URLs) pour spécifier l’absolue chemin

pour le data item. Une URL est composée de trois composants : protocole, l’adresse de la réseau, et le locateur.

Figure 4.15. Diagramme d’utilisation des bloques DataSocket.

On commence en utilisant le bloque DataSocket Ouvrir la connexion. Cet bloc crée une référence DataSocket et la connecte vers une URL spécifiée.

Quand la connexion a lieu vers une source de données pour lecture, les données sont mises à jour une fois que la connexion est complète. Les blocs de lecture attendront jusqu’à ce qu’expire la période de timeout spécifiée pour que les données soient mises à jour. On peut aussi déterminer le moment où les données sont mises à jour en utilisant le bloque Données mises à jour. Si la source ne peut pas être connectée, les données resteront inchangées.

On a quatre options aussi lire, lire auto mettre au jour, écrire ou écrire auto mettre au

jour. On lit seulement la mot chaque fois qu’on passe pour cet étape donc le deuxième entre dans le bloque DataSocket Ouvrir la connexion on a choisi l’option Read. Cet bloc donne deux sorties. La sortie supérieur sera la Référence de Sortie DataSocket de façon que le reste de blocs DataSocket ne doivent ouvrir la connexion. Le sortie inférieur donne les possibles erreurs pendant la connexion.

Le suivant bloc qu’on trouve est le bloque DataSocket mettre à jour la connexion.

Avec cet bloc on oblige lire dans la source de référence. Après cet bloc on trouve deux blocs DataSocket lire la double. On peut lire la valeur

de la donnée spécifiée avec la référence d’entrée au bloc, ou bien, on peut lire un attribut de la donnée. L’unique attribut qu’on utilise est la qualité. OPC donne un valeur de qualité de 192

Félix García Torres 71

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

si la qualité de la transmission de la variable est excellent et le minimum valeur de qualité acceptable est de 24.

Si on laisse vide l’entrée de l’attribut on lit directement le valeur de la donnée. L’idée

de utiliser les deux valeurs, valeur de la donnée et valeur de la qualité en la transmission est pour être sure de que la valeur lu est correct.

Finalement on situe bloc Effacer les erreurs. Chaque erreur pendant la communication

lance un message à l’utilisateur et va arrêter le programme jusqu’à l’utilisateur appuie sur le bouton OK du message. Avec cela on perdre un temps d’acquisition de données.

Figure 4.16. Diagramme pour l’affichage des données.

La précision des sondes PT100 était de une dixième de dégrée celcius donc la maxime valeur de la donnée acceptable sera de 1000. Donc on impose que la valeur soit inférieur à 1000 et que la qualité soit supérieur que 24 pour accepter la valeur lu. S’il y a une des deux conditions que ne sont pas vrai on prend la valeur lu dans l’itération antérieur de la boucle while moyennant une structure condition. La sortie de cet structure sera la valeur actuelle de la variable, et sera utilisé en l’itération suivante moyennant un registre à décalage. Également, on utilise cette sortie pour l’afficher avec un indicateur numérique type thermomètre sur la face-avant.

Pour un affichage des données on change le format double de cet sortie en format texte

moyennant le bloque Formater en chaîne, le but de cet opération est pouvoir ajouter dans un même indicateur la valeur des données et aussi l’unité de ces données. Voir figure 4.16. On

Félix García Torres 72

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

prend seulement 4 chiffres de cet valeur moyennant le bloque Sous-ensemble d’une chaîne. Les entrées à cet bloque sont seulement le digit à partir de lequel on veut sous-ensembler la chaîne, dans nôtre case est le zéro. La chaîne qui on sous-ensemble. Et le nombre de digits qu’on prend.

Tout suite à cet bloc, on trouve autre bloc Formater en chaîne avec deux entrées, la

première est la sortie du bloque antérieur et après on ajoute une constante type texte avec l’unité de mesure. Cet bloc a deux sorties indicateurs texte. On utilise la première pour l’afficher avec le thermomètre dans la page spécifique de chaque mesure et autre pour la page de supervision générale.

Pour le reste des mesures on fait de façon pareil que pour les températures, sauf qu’il

n’y a pas besoin de diviser par 10 et on n’impose pas un limite de valeur, seulement on impose la valeur de la qualité pour accepter la mesure. Pour les énergies, on prend les deux accumulateurs KWh et MWh, on les impose la condition de que la lecture des deux valeurs ait une qualité supérieur à 24. Aussi, on utilise pour les énergies le subprogramme Histoénergie qui sera explique avec le reste de subprogrammes. 4.4.4. Étape 65

Figure 4.17. Changer la étape dans la Structure séquence empilée.

Pour changer les étapes dans la Structure Séquence Empilée il faut seulement appuyer

avec la souris sur la partie supérieur central de la structure et choisir la étape vers on veut aller.

D’égal façon pour créer une nouvelle étape dans la Structure séquence empilée, on

appuie avec le bouton droit de la souris, et on a la menu de la structure. Voir figure 4.18.

Félix García Torres 73

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.18. Menu de la Structure Séquence empilée.

Comme on peut voir sur la menu on peut ajouter une étape après, ajouter une étape avant, etc. Mais la procédure habituellement est dupliquer l’étape parce que les diagrammes comme on explique étaient pareils. Après pour les mettre en ordre, on utilise l’option changer cette étape en… et on le donne le nombre qu’on veut à l’étape.

Pour le donner une meilleur vitesse au programme Superviseur on établis deux

catégories des mesures. S’il s’agit des températures, puissances moyennes et énergies on lit seulement une fois parce que le valeur de ces variables est presque constante. S’il s’agit du reste des variables on lit dix fois pendant on lit une fois les autres.

Donc, sur l’étape 65 on établit autre boucle while de dix itérations où on établit aussi

autre Structure séquence empilée de 85 étapes. Les étapes seront presque pareils que avec la structure antérieure sauf qu’on introduit un nouvel type de étape où on fait les tableaux de données et aussi où on fait les graphes. 4.4.5. Étapes pour créer les tableaux des données et les graphes.

Pour éviter les problèmes de collapsus de mémoire, on fait les graphes comme les tableaux de historiques de façon éventuelle. Si on faisait une acquisition continuos de données on poivrait observer que dans plusieurs acquisition on a la même valeur.

Comme on a explique sur chaque circuit du Pôle Thermique où sur chaque composant

du Pôle Électrique on avait différents mesures. Donc on va faire tableaux de tout le conjoint de mesures de chaque circuit où chaque composant du Pôle. Lorsque un mesure de toute la groupe de mesures a changé on fait le stockage de données. Aussi, on fait le stockage de données chaque fois que les minutes d’acquisition soient zéro. Moyennant l’use de variables locales de séquence on transmit les données, par exemple, pour le circuit 9 du Pôle on transmit la valeur des températures, puissance et énergie

Félix García Torres 74

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

à l’étape 65, et avec un cluster on la introduit sur le étape correspondant où on fait les graphes et la tableau de données.

Figure 4.19. Transmission des données pour construire les tableaux et les graphes.

Sur ces étapes on situe une structure condition dont condition est si les températures ont changé ou si le débit a changé ou bien, si le minute d’acquisition est zéro. Chaque fois qu’on fait une acquisition de données on enregistre cet acquisition sur une variable registre. Cet variable est utilisée pour faire la comparassions chaque itération de la boucle while entre la valeur actuelle et l’antérieur.

Les composants de la tableau du circuit 9 du Pôle Thermique seront l’heure

d’acquisition, la minute d’acquisition, la seconde, la température d’entrée, la température de sortie, le débit, la puissance et l’énergie. Chaque acquisition on fait un registre de chaque valeur de la tableau.

Sur la figure 4.20. on peut voir le diagramme pour générer la condition de acquisition pour le stockage des données. Le premier bloc qu’on trouve est un bloque désassembler où on a la décomposition du cluster qu’on avait généré sur la figure 4.19. On prend chaque élément de cet cluster et on fait les comparassions avec la valeur stockée sur le registre correspondant. Sur la partie supérieur gauche de la figure 4.20, on trouve le bloque secondes en date/heure avec cet bloque on a les secondes de horodatage générés par Windows transformés en un cluster où on a chaque composant du temps comme heure, minute ,seconde , jour, mois, et année. Avec le bloc désassembler par nom, on a chaque composant de cet cluster séparé. On choisit seulement les minutes pour voir si ces sont égal à zéro. Moyennant bloques OR on ajoute les 4 conditions de la structure condition. Seulement avec une des quatre conditions soit vrai on fait le stockage de données.

Félix García Torres 75

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.20. Diagramme pour générer la condition d’acquisition de données pour les historiques.

Les sorties de cet structure condition seront une sortie type tableau de deux dimensions où on a la tableau de données bien du circuit correspondant du Pôle Thermique ou bien du composant correspondant du Pôle Électrique. On génère aussi, une sortie tableau unidimensionnel qu’on utilise pour générer les graphes. Si aucune de las conditions d’entrée est vrai les sorties de cet tableau seront identiques que dans l’antérieur itération du boucle while. Si il y a une condition qu’est vrai on arrive au diagramme de la figure 4.21. Pour générer un tableau, on pars d’une tableau de une seule ligne et d’autant colonnes remplie comme éléments ait la mesure. Par exemple, pour le circuit 9 du Pôle Thermique, on a l’heure, le minute, le seconde, la température d’entrée, la température de sortie, le débit, la puissance et l’énergie, donc on a huit colonnes. Sur chaque itération de la boucle while on ajoute un nouveau élément a la tableau qu’on a générer sur l’itération antérieur. Donc on doit initialiser la tableau pour la premier itération. Pour faire cela, on d’hors de la boucle while et sur le registre de décalage on connecte une tableau de une ligne et huit colonnes remplie avec zéros. Voir figure 4.21. De la même façon, on fait pour générer les tableaux d’une dimension pour construire les graphes.

Félix García Torres 76

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.21. Initialisation des tableaux.

Figure 4.22. Diagramme pour construire la tableau de données du circuit 9.

Le premier bloc qu’on utilise est construire une tableau il s’agit d’un bloc pour ajouter les éléments d’entrée vers une tableau de n dimensions. Le prochain bloc qu’on trouve est le bloque Insérer dans une tableau. L’entrée supérieur est la tableau générale qu’on avait initialisé avec le diagramme de la figure 4.21. L’entrée suivante sera l’indice où on ajoute le nouvel élément toujours à zéro. La dernière

Félix García Torres 77

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

entrée est le nouveau élément qu’on veut ajouter qu’est la sortie du bloc Construire un tableau. Chaque itération on pars de la tableau généré dans l’itération antérieur et on arrive sur les blocs de la partie droite du diagramme où on ajoute les valeurs des registres. Lorsque on a ajouté les valeurs des registres, on fait le même avec les valeurs actuels, voir partie supérieur gauche du diagramme. Lorsque on ajouté les deux nouveaux lignes sur la tableau on arrive au registre de la tableau, qu’on utilisé pour générer les fichiers d’historiques à minuit. De plus, pour un meilleur affichage on lui donne un format type chaîne à la tableau générée avec le bloc Nombre en chaîne fractionnelle. Les valeurs des températures, et du débit actuels sont enregistrés sur les registres correspondants pour l’itération suivante. Plus tard, on fait la transformation des heures et minutes à secondes et on fait la somme des secondes totales pour la génération des graphes. Le type de graphe qu’on a choisi sont graphes de type XY, il s’agit de deux vecteurs de points un pour chaque axe. Donc, on génère les différentes tableaux de une dimension pour faire les vecteurs de chaque axe.

Figure 4.23. Apparence des graphes XY

Félix García Torres 78

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Sur la face-avant on doit établir les paramètres des graphes, pour faire cela on doit appuyer avec le bouton droit de la souris sur le graphe qu’on veut établir les paramètres. Sur cette menu on doit choisir apparence, on active sur le menu apparence, voir figure 4.23., les propriétés qu’on désire. Le nombre de courbes affichés est deux pour les températures, et une pour le débit et la puissance. On affiche aussi la barre de défilement des X pour pouvoir se bouger par le temps.

Figure 4.24. Format et précision des graphes XY Le format de l’axe X on choisit le temps absolu et on n’utilise pas la date. Pour l’axe Y on choisit virgule flottante avec deux chiffres de précision. Voir figure 4.24. Plus tard, on doit formater l’échelle pour l’axe X pour commencer aux 0 heures et 0 minutes, du un défaut du programme on doit choisir un offset de –7200. On décide afficher une minute sur le graphe donc on doit choisir un maximum de 38259,9 et un minimum de 38199,9. Voir figure 4.25. Pour générer les vecteurs avec lesquels on crée les différents graphes on suivit le même processus que pour générer les tableaux sauf qu’on a tableaux d’une dimension. Avec un premier bloc Insérer dans une tableau on insère les valeurs des registres et dans le deuxième bloc on insère les valeurs actuels des données. Les entrées aux différents graphes seront un cluster de tableaux constitué par la tableau du temps et la tableau des données du mesure qu’on affiche si on a une courbe seulement sur le graphe, ou bien, une tableau formée par deux cluster comme cela, si on veut afficher deux courbes. Voir figure 4.26.

Les valeurs des variables ne pas encore enregistrés on les enregistre dans l’étape suivante de la Structure séquence empilé sauf les registres de temps, sont faits dans l’étape antérieure. Sur la figure 4.21. on trouve la façon d’initialiser ces tableaux.

Félix García Torres 79

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.25. Échelles des graphes XY.

Figure 4.26. Diagrammes pour construire les graphes.

Félix García Torres 80

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

4.4.6. Subprogramme Pale.

Il s’agit de faire une animation en temps réel du mouvement de l’hélice. On appelle cet subprogramme dans les étapes type B, si on est dans le cas de la page de l’éolienne. Il s’agit d’un programme avec trois entrées et trois sorties comme on peut voir sur la figure 4.27.

Figure 4.27. Appelle au subprogramme Pale.

Les trois entrées sont la vitesse de l’hélice, le temps de la dernier appelle à ce subprogramme, et l’angle de la dernière appelle de cet subprogramme. Les sorties seront l’angle de sortie, le temps actuel pour l’appelle suivante au subprogramme et l’image où on fait l’affichage en temps réel du mouvement de l’hélice. En faisant, double click sur l’icône du subprogramme on peut voir le diagramme.

Figure 4.28. Sélection d’un VI.

Félix García Torres 81

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Pour insérer un subprogramme, ou comme on dit en langage LabVIEW, un Sous- Virtual Instrument, sur le diagramme on doit choisir Fenêtre, Palette de Fonctions, Fonctions, Sélection d’un VI, voir figure 4.28. En cliquant sur le bouton avec le circule rouge on peut choisir quelque sous-VI, dans quelque dossier sur Windows. Pour faire cet sous-VI, on a parti de l’exemple de LabVIEW, robot qui dessine un bras de robot, avec deux bielles et trois points d’articulation. Donc chaque aile de l’éolienne est une bielle avec deux point d’articulation. Un fois qu’on a dessiné la première aile, c’est seulement roter 120º les autres deux. Le premier bloc qu’on trouve est le bloc DrawSpan qui dessine une bielle sans les deux points d’articulation, voir figure 4.29. Cet bloc est aussi un sous-VI, donc la face-avant on peut le voir sur la figure 4.30. Avec cet bloque on dessine le mât de l’eolienne.

Figure 4.29. Diagramme pour dessiner le mât de l’éolienne.

Félix García Torres 82

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.30. Face-avant de DrawSpan.

Selon, les paramètres Circle Spec, Center 1, Center 2, Color et Light Direction on a le résultat montré sur l’image Picture Out. Lorsque on a créé un sous-VI, et on veut l’utiliser comme un bloc sur autre programme principal, sur la face-avant au coin supérieur droit , voir figure 4.30, on a l’icône représentative du sous-VI. En cliquant deux fois sur l’icône on peut le modifier. En cliquant avec le bouton droit de la souris on peut changer l’icône par le connecteur. Sur le connecteur on a les différents terminaux qu’on utilise sur le programme principal comme entrées et sorties. Pour définir les différents terminaux on choisir le modèle de connecteur en cliquant avec le bouton droit de la souris sur le connecteur et sur la menu modèles on peut choisir le modèle qu’on veut utiliser. Plus tard, on peut ajouter plus terminals s’il y a besoin. Pour connecter un terminal avec un élément de la face-avant il s’agit seulement de choisir, sur le menu fenêtre, palette de outils connecter les terminaux, voir figure 4.31.

Figure 4.31. Connecter les terminaux.

Félix García Torres 83

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Une fois qu’on a choisir l’outil connecter les terminaux, il s’agit de faire un simple clic sur le terminal et plus tard un simple clic sur l’élément qu’on veut assigner au terminal sur la face-avant. Le terminal changera la couleur blanc. Donc on peut contrôler les paramètres sur la face-avant du sous-VI DrawSpan, figure 4.30, avec les entrées sur le bloc DrawSpan sur le figure 4.29, du programme Pâle. Et de la même façon, on peut avoir les sorties de cet programme.

On va commenter de façon générale tous les blocs qu’on utilise dans cet sous-VI, et après on va commenter comme on arrive dessiner toute l’éolienne. a) Rect Converter : Transforme un rectangle défini par le point supérieur gauche, hauteur et largeur en un rectangle défini par les points supérieur gauche et inférieur droit.

Figure 4.32. Rect Converter. b) Point sur le circule : Définit le point sur lequel on trace le ligne tangent selon un angle déterminé.

Figure 4.33. Point sur le circule c) DrawJoint : Dessine l’articulation d’union pour chaque bielle.

Figure 4.34. Dessiner l’articulation d’union de chaque bielle.

d) Espagne : Fait la courbure final de chaque bielle pour définir chaque pâle de l’éolienne. C’est seulement une modification du programme antérieur.

Félix García Torres 84

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.35. Courbure finale de chaque pâle. On commente seulement les sorties des bloques DrawJoint, Espagne et du bloque DrawSpan qu’on a déjà commenté antérieurement. Les autres bloques étaient utilisés sur le programme Robot pour faire des effets avec la luminosité. Le diagramme du sous-VI pâle pour dessiner seulement le mât et une pale de l’éolienne on peut le voir sur la figure 4.36. Avec les paramètres correspondant sur chaque bloque on arrive l’évolution de la figure montré sur la figure 4.37.

Figure 4.36. Diagramme pour dessiner une pâle et le mât de l’éolienne

Félix García Torres 85

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.37. Evolution du dessin d’une pâle de l’éolienne.

On définit l’angle de la première pâle de l’éolienne selon l’angle de sortie de la dernière appelle au subprogramme pâle, la vitesse de l’hélice, et le temps de la dernière appelle au subprogramme. Avec ces paramètres on génère l’angle de la pâle qui sera l’angle d’entrée pour la appelle suivante au subprogramme moyennant la formule

)( 00 tt−⋅+= ωαα (4.1)

α : Angle de la pâle (rad) α0 :Angle de la pâle de la dernière appelle au subprogramme.(rad) ω: Vitesse de l’hélice.(r.p.s) t: temps actuelle (s) t0 : temps de la dernière appelle au subprogramme (rad)

Pour le reste des pâles il s’agit de sommer 2π/3 et 4π/3. Comment on peut voir sur les différents blocs de dessin de la pâle il y a toujours une image d’entrée et une image de sortie donc pour dessiner le reste des pâles il s’agit de prendre l’image de sortie de la pâle qu’a été dessinée et l’utiliser comme image d’entrée pour le prochain bloc de dessin de la pâle suivante. 4.4.7. Subprogramme Nacelle.

Il s’agit du subprogramme pour décrire la position de la nacelle voir figure 4.5. où on montre la page de l’éolienne. On appelle cet subprogramme dans la étape 64 de la structure séquence empilée.

Félix García Torres 86

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Selon le programme sur l’automate, on avait sur le mot %MW80 un compteur avec les octaves de tour de la nacelle. La valeur de cet mot était transmis vers l’automate maître comme vers la interface OPC avec la valeur de la mot %MW100. Le section Gestion de défauts du programme PL7 api électrique qui ne fait pas partie de cet projet fin d’études génère un défaut et l’arrêt de l’aérogénérateur si le nombre de tours est supérieur que une bien en un sens ou en l’autre.

On commence pour voir moyennant une structure condition si la valeur est supérieur

ou inférieur à zéro. Si la valeur est inférieur à zéro on additionne la constate numérique 4. Il s’agit de générer la chaîne de caractères avec la position de la nacelle laquelle sera NORD pour la valeur 0, OEST pour la valeur 1, 2 SUD et 3 qui est la position EST . Voir figure 4.39.

Figure 4.38. Entrées et sorties du sous-VI nacelle

L’image de sortie est une boussole avec l’orientation de la nacelle dont aiguille a été

dessinée avec un diagramme pareil que les pâles qu’ont été commentés sur le point antérieur. Donc l’unique partie du diagramme qu’ici est commenté est la génération du circule et la situation du texte sur l’image. Il s’agit des initiales N, S, E et O des quatre points cardinales.

Figure 4.39. Diagramme pour la génération de la chaîne de caractères position de la nacelle.

Félix García Torres 87

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Sur la figure 4.38. on voit que l’unique entrée est l’angle A et la sortie est l’image de la boussole. Mais l’entrée sera la valeur de la mot %MW100 qui enregistre la valeur de quarts de tour, comme on a commenté antérieurement. Donc, on fait la transformation à radians avec le suivant diagramme. Quand la valeur du compteur de quarts de tours est zéro (position nord) on a l’angle π/2.

Figure 4.40. Transformation de quarts de tours vers radians.

Le diagramme pour dessiner le circule et aussi insérer les quatre initiales des points cardinales on peut le voir sur la figure 4.41.

Figure 4.41. Dessin d’un circule avec les quatre points cardinales.

Figure 4.42. Tracer un texte au point.

Sur la figure 4.42. on montre toutes les entrées et sorties du bloc Tracer un texte au point. Les entrées qu’on a utilisé sont l’alignement qui sera gauche, haut. Avec cette entrée on

Félix García Torres 88

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

situe l’origine de coordonnées sur l’extrême supérieur gauche. Après sur chaque bloc de cet type on définit la position du point où on trace le texte avec l’entrée origine. Sur chaque bloc on dit aussi le texte avec l’entrée texte. La sortie qu’on utilise est la sortie nouvelle image. On commence pour situer l’initial N, et la image de sortie de cet bloque sera l’image d’entrée du bloque pour dessiner l’initial S, on fait le même pour les initiales E et O. L’image de sortie du bloc sur lequel on dessine l’initial de ouest sera l’image d’entrée pour dessiner le circule.

Figure 4.43. Tracer un cercle par son rayon. Sur la figure 4.43. on définit toutes les entrées et sorties du bloque Tracer un cercle par son rayon. Les entrées qu’on a utilise, voir figure 4.41, sont l’image d’entrée, le rayon qui sera 72 mm, et la couleur qu’on choisit le noir. La sortie de cet bloque sera l’image de entrée pour dessiner une pâle qui selon l’angle défini sur la figure 4.40. 4.4.8. Niveau des batteries.

. Il s’agit d’un indicateur numérique type réservoir, avec commandes décoration pour

le donner l’aspect d’une batterie. Pour définir les propriétés de cet indicateur on clique avec le bouton droit de la souris, sur l’indicateur dans la face-avant. Sur la menu laquelle apparaître on choisit Propriétés.

Figure 4.44. Apparence de l’indicateur du niveau des batteries.

Félix García Torres 89

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.45. Échelle de l’indicateur de niveau des batteries.

Avec les paramètres décris sur les figures 4.44. et 4.45. on définit l’apparence de l’indicateur ainsi comme l’échelle, qui sera de 0 pour le niveau minimum et de 100 pour le niveau maximum. Le niveau maximum des batteries sera de 57.6 V et le niveau minimum sera de 43.2 V. Pour faire cet transformation on a le diagramme correspondant sous l’étape 38 de la structure séquence empilée secondaire.

4.4.9. Histogrammes d’énergie.

Il s’agit de faire le diagrammes de barres avec toute la production d’énergie de chaque composant du Pôle Électrique ou bien sur chaque circuit du Pôle Thermique chaque heure de la journée. Pour faire cet sous-VI on a parti de l’exemple de LabVIEW Histogramme Plot.vi et on a fait les correspondant modifications jusqu’à on est arrivé à l’application désirée.

Figure 4.46. Entrées et sorties du sous-VI Histoénergie.

Donc chaque heure on situe sur l’entrée de Bouton Rotatif la production d’énergie sur cet heure. L’entrée Tableau 2 a une tableau tous les valeurs de production de chaque heure jusqu’à le moment actuel. Chaque heure on ajoute le valeur de production d’énergie et on a la tableau de sortie avec cet nouveau valeur lequel on l’utilise dans la itération suivante de la boucle while comme entrée Tableau 2.Tout suite on commente les différents bloques qu’on a utilisé pour faire le programme.

Félix García Torres 90

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.47. Entrées et Sorties du sous-VI Tracer des axes cartésiens.

Figure 4.48. Bloque Maximum et Minimum d’une tableau.

Figure 4.49. Remplacer une portion de tableau.

Figure 4.50. Diagramme d’Histoénergie. Génération de la tableau de sortie et des axes cartésiens.

On commence, pour ajouter le nouveau élément stocké sur l’entrée Bouton Rotatif, à

la tableau 2 avec le bloque Remplacer une portion de tableau. Cet tableau sera initialisée avec 24 éléments à zéro. L’index pour mettre chaque valeur de production d’énergie sera l’heure. La sortie de cet bloque on l’utilise pour trouver la valeur maxime des axes de coordonnées. Comme on peut voir sur le diagramme à cet valeur on le somme la constante numérique de valeur 1.

Les paramètres de définition de l’apparence des axes sont les suivants.

Félix García Torres 91

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Xmin : 0 Xmax : 24 Échelle logarithmique : Faux Précision : 0 Format : Décimal Ymin : 0 Ymax : Valeur de l’élément maxime de la tableau Échelle logarithmique : Faux Précision : 1 Format : Décimal Les paramètres de définition de l’apparence du quadrillage : Couleur de la ligne : Noir Couleur du texte : Rouge Espace repères : 5 Intersection des axes : Faux Grille visible : Vrai

Pour définir les limites du rectangle de dessin seront, on utilise le Nœud de Propriété de l’image de l’histogramme pour savoir sa largueur et longueur. Les limites du rectangle de dessin seront :

Gauche : 42 Haut : 12 Droite : Largueur Bas : Longueur – 3 Lorsque qu’on a les axes cartésiens dessinés il faut tracer l’histogramme. Pour faire

ceci on utilise le bloc Tracer une donnée au format waveform, voir figure 4.51.

Figure 4.51. Tracer une donnée au format waveform. Donc les trois sorties du bloc Tracer des axes cartésiens, seront connectes aux entrées de cet bloc image, facteurs d’échelle x et facteurs d’échelle y. Voir figure 4.52 qui est la continuation du diagramme de la figure 4.50.

Félix García Torres 92

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.52. Diagramme d’Histoénergie. Génération de l’histogramme d’énergie. Les paramètres de l’entrée Données waveform sont composées par : Xo(0) : 0.5 ( Point de la première barre de l’histogramme) Delta X(1) : 1 (Intervalle entre barres de l’histogramme)

Données Y : Tableau de données de la production d’énergie par heures pendant la journée.

Pour l’entrée apparence de la signal on a les suivant paramètres : Couleur du tracé : Bleu Type de tracé : Bar plot Ligne de base : 0 Pour le style de barre on l’a défini de la suivante façon : Largueur de la barre : 60 Cadre : Faux Couleur du cadre : Noir

Finalement avec deux bloques Tracer un texte au point voir figure 4.42. on situe les étiquettes des axes cartésiens Énergie(Wh) et heures, voir figure 4.53.

Félix García Torres 93

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.53. Diagramme d’Histoénergie. Génération des étiquettes sur les axes cartésiens.

Maintenant on commente la partie du programme superviseur où on génère les entrées

au subprogramme Histoénergie. Les accumulateurs de mesure de l’énergie sont à niveau global mais on veut avoir seulement l’énergie produite sur la dernière heure. Donc on utilise deux accumulateurs pour chaque circuit du Pôle Thermique, ou bien, pour chaque composant du Pôle Électrique. Dans le premier accumulateur appelé Compteur Temps on a l’heure de la dernière itération. Sur le deuxième, on a l’énergie totale produite jusqu’à la dernière heure on l’a nominé Compteur Energie.

Figure 4.54. Génération des données pour le sous-VI Histoénergie Condition Vrai.

Félix García Torres 94

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.55. Génération des données pour le sous-VI Histoénergie Condition Faux.

Donc, si l’heure actuelle est supérieur que l’heure stockée, voir figure 4.55, on stocke l’heure actuelle sur le compteur de temps et l’énergie totale produite jusqu’à cet moment sur le compteur d’énergie. L’entrée au subprogramme énergie sera de zéro. Si l’heure actuelle n’est pas supérieur l’entrée au subprogramme sera l’énergie totale produite moins la stockée sur la compteur d’énergie. 4.5. Troisième étape.

On arrive cet étape aux 23h 59. Sur cet étape on fait un fichier d’historique de données avec les tableaux de données, de chaque circuit du Pôle Thermique et chaque composant du Pôle Électrique. Le diagramme de cette étape on peut le voir sur la figure 4.56

Félix García Torres 95

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

Figure 4.56. Diagramme de la troisième étape.

Comme on peut voir sur la figure on fait l’appelle au subprogramme Fichier de données, et on fait une appelle par circuit ou par composant. Cet subprogramme a deux entrées la première est le nom du composant ou du circuit, avec cette entrée on génère le nom de fichier suite de la date de génération. La deuxième entrée est la tableau de données qu’on veut insérer sur le fichier. Tout suite on explique le diagramme du subprogramme Fichier de données

Figure 4.57. Diagramme de Fichier de données.

On commence par générer une chaîne avec le jour, le mois et l’an, moyennant les bloques Secondes en Date/Heure et les bloques Formater en chaîne. Plus tard, on rencontre autre bloque Formater en chaîne. Le but de cet deuxième bloque sera créer le chemin du fichier où on enregistre la tableau avec l’historique de données de tout la journée. La première entrée de cet deuxième bloque est C:\Données Pôle EnR c’est le nom du dossier où on a tout la base de données du Pôle EnR. Sur le deuxième entrée on a le nom du circuit ou du

Félix García Torres 96

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

composant de l’installation. Sur la troisième entrée on a la chaîne avec la date du bloc antérieur. Sur la quatrième entrée on a l’extension .txt. Après cet bloc on a le bloc Supprimer les blancs avec cet bloc on quitte tous les espaces vides sur le chaîne antérieur. Plus tard, avec le bloque Chaîne en chemin on change le format de la chaîne antérieur en chemin. Avec ceci LabVIEW génère l’adresse pour le stockage de données. Finalement on arrive au subprogramme Enregistrer. Pour faire cet subprogramme on a utilisé l’exemple de LabVIEW Write to Text File. PSEUDOCODE DU PROGRAMME SUPERVISEUR. Boucle While infinité. Structure Séquence Empilée avec les étapes suivantes.

0. Première étape 1. Deuxième étape

Boucle While avec condition d’arrête aux 23h59 Structure Séquence Empilée avec les étapes suivantes.

1.0 Étape type A 1.1 Étape type B 1.2 Étape type C. Acquisition et affichage des mesures T90 et T91. Affichage de la

température du bassin sur la page principale du Superviseur Thermique. 1.3 Étape type A 1.4 Étape type B 1.5 Étape type C. Acquisition et affichage des mesures T10 et T11 1.6 Étape type A 1.7 Étape type B 1.8 Étape type C. Acquisition et affichage des mesures T20 et T21 1.9 Étape type A 1.10 Étape type B 1.11 Étape type C. Acquisition et affichage des mesures T00 et T01 1.12 Étape type A 1.13 Étape type B 1.14 Étape type C. Acquisition et affichage des mesures T50 et T51 1.15 Étape type A 1.16 Étape type B 1.17 Étape type C. Acquisition et affichage des mesures T40 et T41 1.18 Étape type A 1.19 Étape type B 1.20 Étape type C. Acquisition et affichage du calcul d’énergie E1. Génération de

l’histogramme d’énergie E1. 1.21 Étape type A 1.22 Étape type B 1.23 Étape type C. Acquisition et affichage du calcul de la puissance moyenne 1 1.24 Étape type A 1.25 Étape type B 1.26 Étape type C. Acquisition et affichage du calcul de la puissance moyenne 4 1.27 Étape type A 1.28 Étape type B 1.29 Étape type C. Acquisition et affichage du calcul d’énergie E4. Génération de

l’histogramme d’énergie E4. 1.30 Étape type A 1.31 Étape type B

Félix García Torres 97

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

1.32 Étape type C. Acquisition et affichage du calcul d’énergie E9. Génération de l’histogramme d’énergie E9.

1.33 Étape type A 1.34 Étape type B 1.35 Étape type C. Acquisition et affichage du calcul d’énergie E0. Génération de

l’histogramme d’énergie E0. 1.36 Étape type A 1.37 Étape type B 1.38 Étape type C. Acquisition et affichage du calcul d’énergie E2. Génération de

l’histogramme d’énergie E2. 1.39 Étape type A 1.40 Étape type B 1.41 Étape type C. Acquisition et affichage du calcul d’énergie E5. Génération de

l’histogramme d’énergie E5. 1.42 Étape type A 1.43 Étape type B 1.44 Étape type C. Acquisition et affichage du calcul d’énergie du panneau 1. Génération

de l’histogramme d’énergie du panneau 1. 1.45 Étape type A 1.46 Étape type B 1.47 Étape type C. Acquisition et affichage du calcul d’énergie du panneau 2. Génération

de l’histogramme d’énergie du panneau 2. 1.48 Étape type A 1.49 Étape type B 1.50 Étape type C. Acquisition et affichage du calcul d’énergie de l’éolienne. Génération

de l’histogramme d’énergie de l’éolienne. 1.51 Étape type A 1.52 Étape type B 1.53 Étape type C. Acquisition et affichage du calcul d’énergie du groupe électrogène.

Génération de l’histogramme d’énergie du groupe électrogène. 1.54 Étape type A 1.55 Étape type C. Acquisition et affichage du calcul d’énergie de l’onduleur autonome.

Génération de l’histogramme d’énergie de l’onduleur autonome. 1.56 Étape type A 1.57 Étape type C. Acquisition et affichage du calcul d’énergie de l’onduleur réseau.

Génération de l’histogramme d’énergie de l’onduleur réseau. 1.58 Étape type B 1.59 Étape type A 1.60 Étape type C. Acquisition et affichage de la mesure de la température extérieur. 1.61 Étape type B 1.62 Étape type A 1.63 Étape type C. Acquisition et affichage de la mesure du luxmètre. Calcul et affichage

de l’énergie totale produite par le pôle électrique comme la somme de la produite par le panneau 1, le panneau 2, l’éolienne et le groupe électrogène. Calcul et affichage de l’énergie totale consommée par le pôle électrique comme la somme de la consomme par le onduleur autonome et l’onduleur réseau.

1.64 Étape type B 1.65 Génération des cluster pour la transmission de l’information entre étapes.

Boucle While avec condition de arrête aux 23h59 ou à la dixième itération. Structure Séquence Empilée avec les étapes suivantes. 1.65.0 Étape type A 1.65.1 Étape type B 1.65.2 Étape type C. Acquisition et affichage de la mesure du débitmètre D1. 1.65.3 Étape type A

Félix García Torres 98

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

1.65.4 Étape type B 1.65.5 Étape type C. Acquisition et affichage de la mesure du débitmètre D2. 1.65.6 Étape type A 1.65.7 Étape type B 1.65.8 Étape type C. Acquisition et affichage de la mesure du débitmètre D5. 1.65.9 Étape type A 1.65.10 Étape type B 1.65.11 Étape type C. Acquisition et affichage de la mesure du débitmètre D4. 1.65.12 Étape type A 1.65.13 Étape type B 1.65.14 Étape type C. Acquisition et affichage de la mesure du débitmètre D0. 1.65.15 Étape type A 1.65.16 Étape type B 1.65.17 Étape type C. Acquisition et affichage de la mesure du débitmètre D9. 1.65.18 Étape type A 1.65.19 Étape type B 1.65.20 Étape pour créer la tableau de données et les graphes du circuit 4 du

pôle thermique. Calcul et affichage de la puissance P4 1.65.21 Étape type A 1.65.22 Étape type B 1.65.23 Étape pour créer la tableau de données et les graphes du circuit 1 du

pôle thermique. Calcul et affichage de la puissance P1 1.65.24 Étape type A 1.65.25 Étape type B 1.65.26 Étape pour créer la tableau de données et les graphes du circuit 9 du

pôle thermique. Calcul et affichage de la puissance P9 1.65.27 Étape type A 1.65.28 Étape type B 1.65.29 Étape pour créer la tableau de données et les graphes du circuit 0 du

pôle thermique. Calcule et affichage de la puissance P0 1.65.30 Étape type A 1.65.31 Étape type B 1.65.32 Étape pour créer la tableau de données et les graphes du circuit 2 du

pôle thermique. Calcule et affichage de la puissance P2 1.65.33 Étape type A 1.65.34 Étape type B 1.65.35 Étape pour créer la tableau de données et les graphes du circuit 5 du

pôle thermique. Calcul et affichage de la puissance P5 1.65.36 Étape type A 1.65.37 Étape type B 1.65.38 Étape type C. Acquisition et affichage de la mesure de la tension des

batteries. 1.65.39 Étape type A 1.65.40 Étape type B 1.65.41 Étape type C. Acquisition et affichage de la mesure du courant de

panneau 1 1.65.42 Étape type A 1.65.43 Étape type B 1.65.44 Étape type C. Acquisition et affichage de la mesure du courant de

panneau 2 1.65.45 Étape type A 1.65.46 Étape type B 1.65.47 Étape type C. Acquisition et affichage de la mesure du courant de

l’éolienne 1.65.48 Étape type A

Félix García Torres 99

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

1.65.49 Étape type B 1.65.50 Étape type C. Acquisition et affichage du mesure de la courant du

groupe électrogène 1.65.51 Étape type A 1.65.52 Étape type B 1.65.53 Étape type C. Acquisition et affichage du mesure de la courant de

l’onduleur autonome. 1.65.54 Étape type A 1.65.55 Étape type B 1.65.56 Étape type C. Acquisition et affichage du mesure de la puissance de

sortie de l’onduleur autonome. 1.65.57 Étape type A 1.65.58 Étape type B 1.65.59 Étape type C. Acquisition et affichage du mesure de la puissance

d’entrée de l’onduleur réseau et calcul et affichage de la puissance de sortie moyennant le rendement interne du même.

1.65.60 Étape type A 1.65.61 Étape type B 1.65.62 Étape type C. Acquisition et affichage de la mesure de vitesse et vitesse

moyenne du vent. 1.65.63 Étape type A 1.65.64 Étape type B 1.65.65 Étape type C. Acquisition et affichage de la mesure de la vitesse de

l’hélice et le vitesse de la génératrice. 1.65.66 Étape type A 1.65.67 Étape type B 1.65.68 Étape type C. Acquisition et affichage du mesure de la position de la

nacelle et de la position des pâles. Appelle au subprogramme Nacelle 1.65.69 Étape type A 1.65.70 Étape type B 1.65.71 Calcule et affichage de la puissance totale produite par le pôle

électrique moyennant la somme de la puissance du panneau 1, panneau 2, éolienne et groupe électrogène. Calcule et affichage de la puissance totale consommé en le pôle électrique moyennant la somme de la puissance de l’onduleur autonome et de l’onduleur réseau. Calcule et affichage de la différence de la puissance produite et consommée sur le pôle électrique.

1.65.72 Étape type A 1.65.73 Étape type B 1.65.74 Étape pour créer le tableau de données et les graphes du panneau 1.

Calcul et affichage de la puissance panneau 1 moyennant le produit du courant du panneau 1 par la tension des batteries.

1.65.75 Étape pour créer la tableau de données et les graphes du panneau 2. Calcul et affichage de la puissance panneau 2 moyennant le produit du courant du panneau 2 et la tension des batteries.

1.65.76 Étape type B 1.65.77 Étape pour créer le tableau de données et les graphes de l’éolienne.

Calcule et affichage de la puissance de la puissance de l’éolienne moyennant le produit du courant de l’éolienne par la tension des batteries.

1.65.78 Étape pour créer le tableau de données et les graphes du groupe électrogène. Calcul et affichage de la puissance de la puissance du groupe électrogène moyennant le produit du courant du groupe électrogène par la tension des batteries.

Félix García Torres 100

Superviseur Pôle EnR « La Baronnerie ». Programmation sous LabView.

1.65.79 Étape pour créer la tableau de données et les graphes de l’onduleur autonome.

1.65.80 Étape type A 1.65.81 Étape pour créer la tableau de données et les graphes de l’onduleur

réseau. 1.65.82 Étape type A 1.65.83 Étape pour créer la tableau de données et les graphes des batteries. 1.65.84 Étape pour faire les registres de tempo des batteries.

2. Troisième étape

Félix García Torres 101