initiation a labview gop

23
Introduction à labVIEW- BTS GOP 1 - Informatique 1 Initiation à LabVIEW 1. Introduction LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est initialement un logiciel de développement d'applications destiné à l’instrumentation, mais qui dépasse ce cadre aujourd’hui. En fait, LabVIEW a été créé au départ pour permettre aux expérimentateurs de pouvoir mettre en oeuvre une carte d’acquisition et d’effectuer un traitement des données sans connaissance de programmation. Pour cela, on utilise un langage graphique, le G, et une interface identique aux appareils de mesures classiques. Le programme obtenu s’appelle alors un instrument virtuel ou VI (virtual instrument) Cela permet à l’aide d’une carte d’acquisition de transformer votre ordinateur en oscilloscope, fréquencemètre, voltmètre, analyseur de spectre… Ou de piloter des caméras, des automates, des moteurs avec du matériel spécialisé piloté par un programme sous LabVIEW. Voici les deux fenêtres permettant la programmation d’un VI : Face avant de l’application : Diagramme associé (en G) : L’icône des fenêtres permet d’utiliser le diagramme ainsi créé comme sous programme

Upload: bobyys990

Post on 22-Oct-2015

39 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 1

Initiation à LabVIEW

1. Introduction LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est initialement un logiciel de développement d'applications destiné à l’instrumentation, mais qui dépasse ce cadre aujourd’hui. En fait, LabVIEW a été créé au départ pour permettre aux expérimentateurs de pouvoir mettre en œuvre une carte d’acquisition et d’effectuer un traitement des données sans connaissance de programmation. Pour cela, on utilise un langage graphique, le G, et une interface identique aux appareils de mesures classiques. Le programme obtenu s’appelle alors un instrument virtuel ou VI (virtual instrument) Cela permet à l’aide d’une carte d’acquisition de transformer votre ordinateur en oscilloscope, fréquencemètre, voltmètre, analyseur de spectre… Ou de piloter des caméras, des automates, des moteurs avec du matériel spécialisé piloté par un programme sous LabVIEW. Voici les deux fenêtres permettant la programmation d’un VI : Face avant de l’application : Diagramme associé (en G) : L’icône des fenêtres permet d’utiliser le diagramme ainsi créé comme sous programme

Page 2: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 2

2. Principe du langage G Sur une face avant, vous pouvez créer des commandes (entrées) et des indicateurs (sorties).

A chaque fois que vous créez un élément sur la face avant, un terminal associé apparaît sur le diagramme. Les terminaux encadrés en gras correspondent aux commandes (entrées), les terminaux encadrés en fin correspondent aux indicateurs (sorties).

Pour passer d’un terminal de contrôle à un indicateur, un programme utilise des fonctions associées à une icône. Pour cela, on relie les terminaux aux fonctions à l’aide de liaisons orientées. Vous n’avez bien sur pas le droit de relier ensemble deux terminaux de contrôles. L’une des particularités du G est l’utilisation du contrôle par flux de données. Lorsque vous lancez votre programme, chaque terminal de contrôle lance sa donnée sur les liaisons qui le concerne. Par contre, une fonction ne donne une sortie qu’à partir du moment ou toutes ses entrées sont présentes. Voyons cela graphiquement :

Indicateur = Sortie

Commande = Entrée

Page 3: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 3

3. Création d’un VI 3.1. Face avant

Lancez LabVIEW et choisissez de créer un nouveau VI avec . Vous obtenez deux fenêtres : La face avant (fond gris), qui est l’interface utilisateur, et le diagramme (fond blanc). Pour passer de l’une à l’autre, utilisez Ctrl-E . Sélectionnez la fenêtre face avant et cliquez avec le bouton droit pour faire apparaître un menu. Vous pouvez le « punaiser » en cliquant sur la

punaise . Observez et placez différents indicateurs et commandes. Essayez de les déplacer, de les renommer, de les changer de tailles… Pour cela, commencez par déplacer la souris sans cliquer par-dessus vos éléments. Selon l’environnement proche, le curseur change d’aspect, vous permettant l’opération la plus appropriée sans avoir à changer d’outils. C’est très intuitif.

� pour faire des cadres de sélection (Marquise). Si vous maintenez Ctrl en traçant votre marquise, vous ferez de la place.

� pour sélectionner, deplacer un élément (Shift-clic pour en ajouter ou en enlever, Ctrl-clic+Drag and drop pour copier l’élément sélectionné)

� pour entrer une valeur numérique ou un texte au clavier

� pour déplacer un curseur, une aiguille

� pour redimensionner un objet. Approchez vous des carrés bleus le délimitant.

Essayez maintenant les alignements : Tracez un cadre autour de plusieurs éléments, puis . Pour les

répartitions, c’est et pour uniformiser des tailles ou entrer directement une dimension au clavier, c’est

.

Vous pouvez aussi grouper des éléments, les verrouiller ou choisir l’ordre d’affichage avec . Bien sur, il est possible de choisir la police, la taille la couleur et le style désiré pour tout élément de texte avec

.

Page 4: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 4

Parfois, on aimerait un outil particulier plutôt qu’une sélection automatique. Dans ce cas, affichez la palette d’outils avec le menu Affichage -> Palette d’outils.

Sélection automatique d’outils (activez-la en général)

Avec le doigt, vous pouvez changer la valeur des curseurs : Faites monter le mercure pour le tester Avec la flèche, vous sélectionnez, redimensionnez, déplacez… c’est l’outil le plus important. Le symbole texte vous permet d’agir sur les nombres ou de rajouter du texte. Servez-vous en pour faire passer les échelles de 0 à 30 : Modifiez simplement le 10 en 30 ! La bobine de fil permet de créer des liaisons ou de relier contrôles et indicateurs aux connecteurs lors de la création d’un sous programme Ce symbole permet de faire apparaître les menus contextuels. Préférez la flèche et un clic droit… La main permet de se déplacer, utilisez plutôt la flèche et les ascenseurs… Cette icône permet d’insérer un point d’arrêt dans la phase de mise au point. Cette icône (sonde) permet d’observer les données sur les liaisons lors de la mise au point. La pipette permet de prélever une couleur qui vous plaît, et de l’envoyer pour le pinceau.

Le pinceau vous permet de retoucher les couleurs de premier plan et d’arrière plan de vos contrôles et indicateurs. Cliquez sur l’un des plans pour en faire changer la couleur (T signifie transparent)

Si vous êtes en sélection d’outil manuel, utiliser Tab pour passer d’un outil à l’autre, ou la barre d’espace pour passer de la flèche à la bobine. Shift-Tab repasse en mode automatique. Profitons-en pour mettre un peu de couleur. Passer en mode manuel de sélection d’outil, choisissez le pinceau et changez la couleur de premier plan et d’arrière plan. Validez et jouez au peintre sur vos objets. Essayez maintenant la pipette pour prélever la couleur d’un objet. Remarquez que les couleurs du pinceau change.

Essayez de changer les couleurs d’un culbuteur : il vous faudra changer la couleur sur les deux positions. Prenez l’outil texte et cliquez dans un espace vide. Vous pouvez ajouter des commentaires. « Enter » pour passer à la ligne, cliquez ailleurs pour valider. Remarquez que la taille d’un indicateur ou d’un contrôle numérique ou texte dépend de la taille choisie pour la police. Maintenant, vous pouvez modifier les propriétés d’un objet. Faites un clic droit dessus et cochez les différents éléments pouvant être affichés dans éléments visibles. Etiquette correspond au nom de la variable dans le diagramme, Sous-titre sert si vous ne voulez pas que le nom de votre variable corresponde à son commentaire. Dans ce cas, on masque l’étiquette. Observez que vous pouvez déplacer ces éléments indépendamment de l’objet (réciproque non vraie). Profitez en pour vérifiez que l’on peut déplacer un objet précisément avec les flèches du clavier. Shift+Fleche déplace plus vite.

Page 5: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 5

Il est possible de modifier individuellement chaque caractéristique avec le menu contextuel, mais c’est très lourd. On préférera faire un clic droit et choisir Propriété pour accéder à tous les réglages à la fois. Prenons l’exemple d’un simple vumètre. Essayez de le faire ressembler au mien. Remarquez l’échelle : elle est non uniforme et logarithmique. Observez que j’ai deux aiguilles de deux couleurs différentes. Chaque objet a ainsi des propriétés particulières attachées.

Vous pensez qu’un simple bouton ne doit pas avoir beaucoup de propriétés ? Regardez les différents modes de déclenchement de votre simple bouton, et essayez de voir les différences.

Et ce n’est qu’un bouton… Ne regardez pas tout de suite les options pour un graphe… Une dernière chose importante avant d’attaquer la programmation : si vous voulez que lorsque vous ouvrez votre VI vos contrôles aient des valeurs déterminées, le plus simple c’est de leur donner les valeurs désirées, puis de choisir dans le menu : Edition -> Designer les valeurs sélectionnées comme défaut. Maintenant, on attaque la programmation. Effacez tous vos objets et dessinez cette face avant qui ne comprend qu’une glissière et un thermomètre allant tous les deux de 0 à 100: Faites Ctrl-S pour sauvegarder votre VI avec un joli nom et Ctrl-E pour basculer sur la fenêtre de diagramme. 3.2. Diagramme Si l’on s’intéresse maintenant au diagramme, vous verrez que les terminaux sont déjà présents :

Approchez votre souris de la glissière, votre curseur devient une bobine de fil. Vous pouvez alors les relier ensemble.

Félicitation, vous venez de faire votre premier programme en G ! Vérifiez que tout est correct en lançant l’exécution du programme : cliquez sur Déception, il ne s’est rien passé ! Mais si vous regardez plus attentivement votre face avant, vous verrez que la commande et le thermomètre sont à la même valeur. C’est ce que vous demandiez à votre programme, c’est ce qu’il a fait, et il s’est ensuite arrêté avec la bonne conscience du travail bien fait. Rendons les choses plus intéressantes : cliquez sur ce qui relancera le programme chaque fois qu’il sera terminé.

Page 6: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 6

Jouez maintenant sur le contrôle de la face avant : ouf, tout marche. Essayez de changer directement la valeur du thermomètre. Vous n’y arrivez pas, puisqu’il s’agit d’un indicateur. Tout est logique. Revenez dans la fenêtre diagramme par Ctrl-E et appuyez sur l’ampoule pour quelle s’allume Vous voyez maintenant le flux de donnée, ainsi que la valeur qui transite. Cet outil sera très appréciable lors de la mise au point. Recliquez sur l’ampoule pour l’éteindre, puis sur pour arrêter le programme. Mais qui décide si le thermomètre est plutôt un indicateur ou un contrôle ? C’est assez subjectif… Eh bien c’est

vous ! Sélectionnez le terminal puis faites un clic droit. Choisissez « Changer en commande » Maintenant, la ligne devient brisée et LabVIEW signale qu’il ne peut

lancer l’exécution par une icône brisée : Si vous cliquez dessus, vous aurez l’explication de l’origine de l’erreur.

Double cliquez sur l’erreur pour en voir la localisation. L’encadrement gras des terminaux montre le problème : vous avez relié deux contrôles entre eux. Changez alors la commande en indicateur : sélectionnez le, bouton droit et « Changer en indicateur »

Le diagramme redevient correct, mais vous avez inversé contrôle et indicateurs : lancez le programme en continu, et vérifiez maintenant que c’est le thermomètre qui contrôle le processus. Observez que le flux de donnée va maintenant de la droite vers la gauche.

Essayez de déplacer les objets, observez que la liaison suit. Cliquez sur une branche du fil et déplacez-le avec la souris ou avec les flèches du clavier. Vous pouvez ainsi faire des schémas plus clairs.

Rendons les choses plus intéressantes en modifiant le diagramme. Nous allons créer une conversion °C en °K. le passage de l’un à l’autre se fait par la formule :

( ) ( ) 15,273CK +°θ=°θ , ce qui correspond au diagramme :

Commencez par redonner aux terminaux leurs vocations initiales : le contrôle en contrôle, le thermomètre en indicateur. Cliquez sur la liaison puis sur la touche Suppr pour l’effacer. Rajoutez les commentaires « en °C » et « en °K » sur le diagramme en double cliquant dans un espace vide. Il nous faut rajouter maintenant l’icône de l’additionneur.

Page 7: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 7

Faites un clic droit pour faire apparaître la palette de fonctions. Cliquez pour la voir intégralement. Choisissez la palette programmation et punaisez-la.

On trouve plusieurs types d’icones pour la programmation. Les structures (boucles For, While ; Case…) qui sont des cadres contenants des vi s’exécutant en boucle ou de manière conditionnelle.

Les fonctions, qui n’ont pas de face avant associée et qui font des opérations simples et non paramétrables. Par exemple les opérations élémentaires, les comparaisons, les opérations sur les matrices, les fonctions booléennes… Les constantes repérées par un simple cadre contenant la valeur de la constante : Les VI standards, qui proposent des opérations plus évoluées et qui sont paramétrables. Si vous double cliquez dessus, vous verrez une face avant. Les VI Express, repérés par un cadre bleu, qui proposent un assistant pour leur paramétrage. Ils permettent de développer très rapidement des programmes complexes en écrivant le moins de code possible.

Boucle For

Séquence

Boucle While

Case

Page 8: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 8

Revenons à notre diagramme initial. Placez l’additionneur situé dans Programmation -> Numérique

Profitons-en pour afficher l’aide : Ctrl-H ou . Cette aide est souvent indispensable pour comprendre ce que fait un VI, et connaître

ses entrées et sorties. Si vous cliquez sur Aide détaillée, vous aurez davantage d’explications.

Le VI additionner est polymorphe. Cela veut dire qu’il est capable d’additionner des types d’entrées différents. Par exemple 2 nombres, un nombre et une matrice, 2 matrices… Cela évite d’avoir une fonction additionneur par type d’entrée. Maintenant, ajoutons la constante. Approchez vous de l’entrée basse de l’additionneur, faites un clic droit, et choisissez Créer -> Constante. Entrez la valeur de la constante Il ne vous reste plus qu’à relier les autres éléments.

Changez l’échelle du thermomètre de 0 à 400, et lancez le programme en continu.

4. Création d’un sous programme 4.1. Creation du vi Notre petit programme est suffisamment utile pour en faire un sous programme. En langage G, un sous programme est simplement représenté par une icône possédant entrées et sorties. Dessinez un cadre autour de l’additionneur et de la constante, et choisissez dans le menu Edition -> Créer un sous VI. Votre schéma se transforme.

Page 9: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 9

Votre programme est caché dans le sous VI. Double cliquez le pour le modifier.

4.2. Création de l’icône Nous allons modifier l’icône standard. Dans la face avant, placez le curseur sur l’icône en haut à droite, faites bouton droit et choisissez « Editer l’icône » Une fenêtre s’ouvre : Cliquez sur le carré blanc « 16 Couleurs » qui correspond à l’icône affichée en mode 16 couleurs. Choisissez l’outil et tracez un rectangle de bordure verte pour encadrer l’icône. Prenez l’outil texte et tapez « °C/°K ». Essayez de dessiner un thermomètre. Le crayon fonctionne comme un interrupteur. Si vous cliquez un pixel de la couleur d’arrière plan, il devient couleur d’avant plan et réciproquement. Cliquez dans un cadre de couleur pour la changer.

Votre icône doit ressembler à : . Nous allons la recopier dans les affichages noir et blanc et 256 couleurs. Pour cela, cliquez sur l’icône en 256 couleurs, puis sur Copier à partir

de . Faites de même pour l’icône noir et blanc. Il reste à valider par OK. Rq : si vous ne vous sentez pas une âme de graphiste, prenez une image et faites la glisser sur votre icône directement, LabView la réduira pour qu’elle rentre dans le petit cadre.

Page 10: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 10

4.3. Création du connecteur Maintenant que l’icône est créée, nous allons indiquer les entrées et sorties. Placez-vous sur votre belle icône en haut à gauche, cliquez bouton droit et choisissez « Visualiser le connecteur ». Votre icône se transforme en : Il s’agit du connecteur qui permet d’assigner les entrées et les sorties. Remarquez que votre curseur se transforme en bobine. Comme vous avez créé votre VI à partir d’un diagramme, tout est déjà connecté. Cliquez le cadre orange de gauche, vous verrez qu’il est déjà assigné à une entrée.

Faites un clic droit et choisissez « Ajouter un terminal». Vous obtenez une entrée supplémentaire Faites un clic droit et choisissez Modèles. Il y a du choix. Nous allons reconnecter les terminaux pour bien comprendre le principe. Choisissez le modèle une entrée une sortie Faites un clic droit, puis « Déconnecter tous les terminaux» Cliquez sur le cadre gauche du connecteur puis sur l’entrée numérique Glissière. Le connecteur change de couleur pour indiquer que cette entrée est assignée (remarquez que vous ne tracez pas de liaison avec la bobine). Cliquez maintenant sur le cadre blanc et assignez-le à l’indicateur numérique. Pour finir, faites un clic droit sur l’icône et choisissez « Visualiser l’icone » pour retrouver votre icône. 4.4. Création de l’aide Il est indispensable d’indiquer ce que réalise votre sous programme. Si la fenêtre d’aide n’est pas visible, faites Ctrl-H. Placez votre curseur au-dessus de l’icône Les noms « Glissière » et « Numérique » ne sont pas adaptés. Changez-les respectivement dans la fenêtre face avant en « °C » et « °K ». Choisissez ensuite le menu « Fichier -> Propriétés du VI » ou faites Ctrl-I. Sélectionnez « Documentation»

Tapez « Conversion de degrés Celsius en degrés Kelvin », puis cliquez « OK » Enregistrez votre travail sous le titre « Conversion ºC-ºK». Observez que la fenêtre d’aide est maintenant utilisable.

Page 11: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 11

4.5. Utilisation d’un sous programme Fermez toutes les fenêtres actuelles et créez un nouveau VI vide. Dessinez une face avant similaire à celle-ci.

Pour retrouver votre VI précédemment créé, La fonction NOT se trouve dans la palette « Booléen » La fonction SELECT se trouve dans la palette « Comparaison » Elle réalise un aiguillage en fonction du booléen en entrée pour sélectionner l’une des entrées t ou f vers la sortie Testez la fonction ainsi réalisée, appuyez sur l’ampoule pour bien voir le rôle de SELECT. Important : si vous double cliquez sur un sous-vi, vous ne pourrez pas le modifier, mais uniquement le voir fonctionner (il y aura ecrit « Copie» dans son titre). Pour pouvoir l’éditer, faites alors Ctrl-M .

5. Types de données en G Si vous observez le diagramme précédent, vous pouvez noter la différence de couleur entre les deux fils de liaisons. En G, la couleur de la liaison ainsi que son épaisseur indique la nature des données présentes.

Pour des tableaux, les fils sont plus épais, et de la couleur associée au type de données.

Lorsque vous créez une commande numérique, vous pouvez choisir le type de données produites (entier, flottants…). Pour cela, sélectionnez votre contrôle, puis faites un clic droit et choisissez représentation…. Plus de détails en annexe ! Il existe un type de donnée un peu particulier, le cluster. Il s’agit de la réunion de différentes variables. Comme si vous preniez des fils de liaison différents, avec différentes couleurs, et que vous les entouriez par du scotch. Par exemple, on pourrait représenter un point par sa couleur et ses coordonnées x et y. Dans ce cas, plutôt que d’avoir 3 fils, on peut les rassembler en un seul.

Page 12: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 12

Vous pouvez également définir une commande Cluster. Pour cela, on commence par tracer un cadre, puis on y met les commandes désirées.

Prenez l’élément cluster, et placez-le sur la face avant. Prenez alors des commandes, et placez-les dans le cadre du cluster. Vous pouvez étirer facilement ce cadre si nécessaire.

Voici le résultat sur le schéma : Ce principe se retrouve pour les tableaux. Un tableau peut être de dimensions multiple et contenir tous type de données. Par exemple, si vous voulez créer un tableau 2D d’entier, placez un cadre de tableau, tirez à gauche pour rajouter une dimension, puis faites y glisser une commande numérique. Vous pouvez cacher les boutons d’incrémentation par un clic droit, et donner des valeurs à vos éléments.

6. Structure en G 6.1. Structure While Loop Relancer systématiquement le programme à la fin de son exécution n’est pas une solution très élégante. Nous allons rajouter un bouton d’arrêt et utiliser une structure de type « while loop ». Sur la fenêtre diagramme, faites un clic droit et choisissez dans la palette « structure » la fonction « Boucle While ». Encadrez votre diagramme existant :

Tout ce qui est contenu dans le cadre sera exécuté jusqu’à ce que la condition représentée par soit vraie. Le symbole indique le compteur de boucle. Il s’incrémente à chaque répétition de la boucle. Faites un clic droit sur la condition d’arrêt, et choisissez de créer une commande. Un bouton STOP se rajoute en face avant et sa variable associée sur le diagramme.

Page 13: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 13

Lancez votre VI en cliquant sur à la place de . Arrêtez-le en cliquant STOP. Vous pouvez aussi changer le type de conditions d’arrêt. Faites un clic droit sur la condition, et choisissez « Continuer sur condition Vrai». Le symbole

devient . Cette fois-ci, la boucle s’exécutera tant que la condition sera vraie. Dans notre cas, si l’on choisit ce type de condition, il faut rajouter un inverseur après la variable STOP : Vérifiez que votre programme tourne encore avec ce nouveau type de condition d’arrêt. 6.2. Structure For Loop Sauvegardez votre travail et créez un nouveau VI par Ctrl-N. Dans la fenêtre face avant, créez une commande graphe. Dans la fenêtre diagramme, mettez une structure « For Loop » (palette structures => « For Loop »)

On retrouve notre index ainsi que le nombre de fois que la boucle s’exécute : Attention, l’index i varie de 0 à N-1, la boucle s’exécute N fois. Complétez votre VI pour avoir le schéma : Les constantes se créent en approchant le pointeur de l’icône où vous voulez créer la constante, en faisant un clic droit et en choisissant « Créer -> constante ». Sinus et division se trouvent dans la palette mathématique. Observez que sur ce diagramme : • Un « Triangle rouge » indique sur le diviseur qu’il y a eu transformation de type (entier => flottant) • Le fil de sortie de la boucle est plus épais : il s’agit d’un tableau de 100 éléments

Page 14: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 14

C’est important : la boucle for est dite « auto indexée », c’est pour cela qu’elle sort un tableau. Si vous ne voulez que le dernier élément de la boucle, placez-vous sur le « tunnel » (le petit carré entre ce qui est dans la boucle et ce qui ne l’est pas), faites un clic droit et choisissez « Désactiver l’indexation ». Le tunnel devient un carré plein . Vous pouvez également auto indexer une structure while, mais c’est dangereux : vous risquez de créer une saturation mémoire en ne contrôlant pas le nombre d’indice créés.

Lancez votre VI et admirez le résultat ! 6.3. Registres à décalage Poursuivons avec la boucle. Supprimez la liaison avec le terminal du graphe, éloignez-le et rajoutez une seconde boucle à coté de la première. Approchez-vous du bord gauche de votre nouvelle boucle, faites alors un clic droit et choisissez « Ajouter un registre à décalage ». Vous ajoutez alors deux éléments à gauche et à droite, qui correspondent à un registre à décalage : ce qui sort à droite sera présent à gauche au prochain passage dans la boucle. Prenons un exemple simple pour bien comprendre.

Observez la largeur des fils dans la deuxième boucle : on traite les éléments un par un grâce à l’auto indexation. Il est alors inutile de relier N, sa valeur sera celle du nombre d’éléments du tableau d’entrée.

Page 15: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 15

Bref, un registre à décalage décale la sortie de droite à gauche à chaque itération de boucle. Pour des électroniciens, cela s’appelle un retard d’un échantillon, ou une multiplication par z-1 de l’entrée… Profitons-en pour faire un filtre ! Revenons à notre schéma précédent, et ajoutons encore un autre étage à notre registre à décalage. Cliquez avec le bouton droit sur l’élément de gauche et choisissez « Ajouter un élément ». Complétez alors le schéma comme ci-dessous.

Par défaut, un registre à décalage est initialisé à 0 Le dernier élément sert à construire à partir des tableaux [Sinus] et [Sinus filtré], le tableau

[[Sinus],[Sinus filtré],]

Le bloc se trouve dans la palette tableau . Il se nomme construire un tableau, et vous pouvez « l’allonger» pour y rajouter des entrées. Rq : le bloc permet de créer un tableau à partir de ses éléments, ou de concaténer les entrées, c’est à dire obtenir le tableau [sinus, sinus filtré]. Pour cela, faites un clic droit sur une des entrées et choisissez « Concatener les entrées ». Regardez alors la différence sur le graphique : vos deux graphes sont à la queue leu leu.

Equation de récurrence : Yn=-2.Xn+ 2.Xn-2

Donc Y(z)=(-2+2.z-2).X(z)

Page 16: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 16

Bon, mais mis à part les filtres numériques, vous vous dites que ce registre à décalage ne doit pas servir à grand-chose… Détrompez-vous ! Voici un exemple simple d’utilisation :

La montre permet d’attendre 30 ms avant de continuer, pour que vous compreniez bien le processus. Cela simule un long calcul. Le graphe du haut ne pourra se tracer qu’une fois la boucle terminée. Le graphe du bas, lui, se trace point par point. Pour cela, on ajoute à chaque itération le nouveau point calculé et on trace les points déjà calculés.

Vous pouvez utiliser une autre représentation du registre à décalage, qui s’appelle nœud de rétroaction.

Sur votre registre à décalage, faites un clic droit et choisissez « Remplacer par un nœud de rétroaction». Votre diagramme devient :

C’est exactement la même chose, seul l’aspect graphique change, mais cela donne souvent des schémas plus clairs. Autre exemple typique : un asservissement. Le schéma classique implique une rétroaction, autrement dit un retour de la sortie Vs sur un soustracteur. Mais il est impossible pour LabVIEW de calculer la sortie du soustracteur, vue que Vs n’est pas encore déterminée… Solution : prendre un nœud de rétroaction, vous aurez alors un échantillon de retard, mais votre asservissement pourra fonctionner. A vous de choisir une fréquence d’échantillonnage suffisamment élevée pour que cela ne soit pas gênant (un retard est source d’instabilité) Voici un exemple d’asservissement avec correcteur proportionnel. Remarquez le nœud de rétroaction. L’entrée est un échelon, créée avec l’initialisation d’un tableau de 100 éléments à 1.

Page 17: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 17

6.4. Structure condition La structure condition permet d’effectuer un traitement différent selon le choix d’une entrée de sélection :

On ne voit qu’une seule possibilité de traitement à la fois, cliquez sur les flèches de défilement pour voir les autres possibilités. C’est mieux que l’aiguillage car avec une structure condition un seul traitement est effectué, au lieu de deux. Surtout, vous n’êtes pas limités à une sélection à l’aide de booléen. Par contre, n’oubliez pas que : • Toute sortie d’une structure condition doit être reliée dans tous les cas • Tous les cas possibles doivent pouvoir être traités (un cas « default » est souvent nécessaire) Voici des exemples de structures case : ..0 toute valeur inférieure ou égale à 0 1,3,8 les valeurs 1, 3 ou 8 10..20 toutes valeurs comprises entre 10 et 20 2.. toute valeur supérieure ou égale à 2 « rouge », « vert » une entrée chaîne de caractère valant « rouge » ou « vert »

Comme d’habitude, un clic droit sur l’indication du choix permet de faire apparaître les options possibles : Rajouter des cas « Ajouter une condition après» Définir le cas par défaut « Designer cette condition par défaut » Sont les plus importants. Nous allons changer la couleur d’un thermomètre pour mettre en évidence cette fonction Créez un nouveau VI vide, avec un thermomètre en face avant, et une commande énumération.

Vous la trouverez dans la palette moderne, ,

Editez ses propriétés par un clic droit, allez dans l’onglet « Editer les éléments», et insérez les valeurs « Rouge», « Vert», « Bleu ». Validez par OK, puis double cliquez sur Enum pour passer dans le diagramme.

Page 18: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 18

Rajoutez une structure condition et câblez l’entrée de condition à votre énumération.

Observez que seul deux cas sont présents dans votre structure condition. Faites un clic droit dessus et choisissez

Pour avoir 3 cas. Maintenant, occupons nous du thermomètre. Pour en changer la couleur, nous allons utiliser un nœud de propriété qui répertorie toutes les propriétés de votre commande et permet de les changer. Faites un clic droit sur le thermomètre, et choisir Observez toutes les propriétés d’un simple thermomètre ! Par défaut, le nœud de propriété est en lecture. Faites un clic droit dessus pour le changer en écriture. Maintenant, il nous faut une boite à couleur. Comme je ne me rappelle jamais ou elle est rangée, voila l’occasion d’utiliser la fonction rechercher.

Dans votre palette de fonction, cliquez et tapez « couleur» dans le champ de recherche.

Double cliquez sur la première entrée, et placez la boite à couleur près de votre nœud de propriété. Reliez-les.

Maintenant, cliquez la boite à couleur et choisissez du vert. Sélectionnez le cas « Vert » sur la structure

condition, tracez un cadre autour de la boite à couleur et du nœud de propriété, et faites glisser l’ensemble vers votre structure condition, en maintenant Ctrl appuyé pour faire une copie. Faire de même avec les 2 autres couleurs, et testez votre VI en exécution continu.

Page 19: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 19

6.5. Structure séquence Cette structure permet d’obtenir un ordre dans l’exécution des fonctions. Cela permet de contrôler des processus ordonnés. Par exemple, avant de lire le contenu d’un fichier, il vaut mieux l’ouvrir… Voici un VI permettant de calculer votre rapidité à cliquer :

Dans cet exemple : - on attend que le bouton soit enfoncé une première fois - on lance un chronomètre (attention, il décompte) et on attend un deuxième clic - on calcule le temps mis pour cliquer - on affiche ce temps en ms Pour que cet exemple fonctionne, il faut que votre bouton soit du type commutation à l’appui. Sinon, s’il est à armement, la lecture par LabVIEW de la valeur du bouton change cette valeur et invalide le test. J’en ai profité pour placer une variable locale. Cela permet de communiquer facilement des variables d’un bout à l’autre d’un schéma sans avoir des liaisons qui traversent tout l’écran et rendent le schéma difficilement lisible. Cela permet d’écrire dans une commande également. Par contre, cette variable ne peut être vue entre 2 VI tournant simultanément. Dans ce cas, il vous faut une variable globale. Pour créer une variable locale, faites un clic droit sur votre variable, choisissez créer -> Variable locale.

Par défaut, elle est en écriture . Pour la placer en lecture, faites un clic droit et choisissez

Testez votre structure, et voyez si vous cliquez plus vite que moi (67 ms sans tricher)

Vous pouvez afficher votre structure de manière empilée, mais c’est moins lisible car vous ne pouvez voir qu’une étape à la fois. Une autre méthode pour assurer un séquencement, c’est de faire transiter une information d’un VI à l’autre. Par exemple, la gestion des erreurs.

Page 20: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 20

Voici un exemple de programme utilisant un GBF externe et générant un signal sinusoïdal.

Observez le chainage des blocs qui oblige l’exécution à s’effectuer de gauche à droite. Non seulement on chaîne la référence de l’appareil, mais également le flux d’erreur. Lorsqu’une erreur non nulle entre dans un bloc, le bloc en question se contente de faire suivre l’erreur sur sa sortie et n’accomplit aucune action. 6.6. Structure boite de calcul La structure « Boite de calcul » vous permet de rentrer directement des formules mathématiques. Vous avez le droit à énormément de fonctions (algébriques, booléennes…). L’ajout d’entrée ou de sortie se fait avec le menu contextuel (clic droit). Pensez à finir une expression par un point virgule « ; ».

7. VI Express Maintenant que vous connaissez les bases de LabVIEW, vous pouvez utiliser les VI express. Ce sont de puissants outils pour créer un programme complexe très rapidement… mais ils ne font pas tout ! Souvent vous ferez une grande partie de votre programme avec, mais vous aurez besoin des structures de bases pour la partie restante. C’est pour cela qu’il faut commencer par les structures de base, sinon vous serez frustré de ne pas pouvoir achever votre VI. Le principe est simple, vous placez un VI express générique, et vous l’adaptez à votre projet en le paramétrant. Par exemple, je veux afficher l’aspect temporel et spectral d’un signal carré et du même signal filtré. Vous pensez devoir vous préparer de l’aspirine ? Voici le code…

Est-il possible de faire plus simple ?

Référence de mon appareil pour le piloter

Transmission de la référence

Transmission de l’erreur

Page 21: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 21

Voici les graphes correspondants :

Commencer par placer le VI Express Simuler. Complétez les champs comme ci-dessous, et validez.

C’est tellement simple que je vous laisse vous débrouiller pour la suite. Lorsque vous aurez finit, profitez-en pour jouer avec les graphes. Faites un clic droit sur le graphe temporel, et dans « Eléments visible», cochez tout. Essayez les zooms, créez des curseurs, changez les couleurs de vos tracés…

Page 22: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 22

8. Mise au point des programmes Pour éliminer les erreurs de programmations, vous disposez de nombreux outils. Lorsqu’une erreur empêche le programme de s’exécuter, la flèche de mise en route est brisée : et les fils de liaisons apparaissent en pointillés en cas de liaison interdite. Un double clic sur cette flèche vous ouvrira une fenêtre avec la localisation du problème ainsi qu’un explicatif. Lorsque le VI se lance mais ne fait pas ce que vous désirez, vous pouvez imposer un point d’arrêt avec l’outil Le programme s’interrompt alors lorsqu’une donnée circule sur le fil marqué d’un point rouge. Pour l’enlever, cliquez sur le point rouge avec le même outil. L’outil sonde vous permet d’observer les valeurs présentes sur un fils. Une fenêtre s’ouvre qui comporte la valeur. Fermez-la pour éliminer la sonde.

En cliquant sur l’ampoule, vous verrez les flux de données circuler sur les fils, ainsi que leurs valeurs. Le bouton pause permet d’avancer pas à pas ; Pour avancer, vous avez le choix entre :

Pas à pas détaillé: vous entrez dans la structure ou le sous VI à exécuter. Pas à pas rapide: vous ne rentrer pas dans la strucure ou le sous VI, il s’éxécutent et la pause reprend Sortir: vous continuez l’éxécution de la structure ou du sous VI jusqu’au retour au programme principal

Cette introduction à LabVIEW est maintenant terminée. Mais il vous reste encore énormément à découvrir. Pour progresser, vous avez intérêt à regarder les très nombreux et excellents exemples fournis avec le programme. Analyser le code d’un exemple vous permettra d’apprendre rapidement et efficacement, et vous donnera une foultitude d’idées. Allez sur le site de National Instrument ni.com/france, et cherchez : c’est une mine d’or avec des démonstrations vidéos, des « White paper», des milliers d’articles… il faut allez voir ! Surtout, vous trouverez une zone développeurs ou de nombreuses personnes partagent leurs ressources. Par exemple, j’ai besoin d’un programme de PWM (Pulse Width Modulation), c'est-à-dire un signal carré dont le rapport cyclique est paramétrable de manière à en changer la valeur moyenne. Voici le résultat : j’ai 34 codes d’exemples que je peux télécharger, et de nombreuses ressources sur mon sujet. Bonne programmation

Page 23: Initiation a LabVIEW GOP

Introduction à labVIEW- BTS GOP 1 - Informatique 23

Annexe : Types de données.

Terminal Type de données numérique

Nb Bits

Nbre chiffres

décimaux

Gamme

Nb

re à

vir

gule

flo

ttan

te

orange simple précision 32 6 De ± 1,40e–45 à ± 3,40e+38

orange double précision 64 15 De ± 4,94e–324 à ± 1,79e+308

orange précision étendue 128 15 à 20 De ± 6,48e–4966 à 1,19e+4932

orange Complexe précision simple 64 6 Identique simple précision

orange Complexe double précision 128 15 Identique double précision

orange Complexe précision étendue 256 15 à 20 Identique précision étendue

gris Virgule fixe 64 selon config

utilisateur selon config utilisateur

En

tier

bleu Octet 8 2 de –128 à 127

bleu Mot 16 4 –32 768 à 32 767

bleu Mot long 32 9 de –2 147 483 648 à 2 147 483 647

bleu Entier quad signé 64 18 de –1e19 à 1e19

bleu Octet non signé 8 2 de 0 à 255

bleu Mot non signé 16 4 de 0 à 65 535

bleu Mot long non signé 32 9 de 0 à 4 294 967 295

bleu Entier quad non signé 64 19 de 0 à 2e19

Marron Horodatage 128 bits 128 19 de 01/01/1600 00:00:00 à 01/01/3001 00:00:00