Cours Labview

Notes d’information LabVIEW cours pdf


Télécharger Notes d’information LabVIEW cours pdf

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


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 :

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 :

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

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.

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é.

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 »

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 : 

θ°( K)=θ°( C)+273,15 , 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.  

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.

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.

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.

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

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.

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.

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. 

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.

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.

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

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 !

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.

Equation de récurrence :

+ 2.Xn-2

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

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.

Bon, mais mis à part les filtres numériques, vous vous dites que ce registre à décalage ne doit pas servir à grandchose… 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.  

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.

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 »

Nous allons changer la couleur d’un thermomètre pour mettre en

Créez un nouveau VI vide, avec un thermomètre en face avant, et

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.

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

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 

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.

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.

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 ?

Voici les graphes correspondants :

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

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 , 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          

Annexe : Types de données.

Terminal

Type de données numérique

Nb

Bits

Nbre

chiffres décimaux

Gamme

  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

  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


271