Académique Documents
Professionnel Documents
Culture Documents
Labview Cours
Labview Cours
Initiation .................................................................................................................................... 3 1. Utiliser un VI existant : .................................................................................................. 3 2. Faire une opration simple sur un nombre entr par l'utilisateur ; faire de ce programme un VI ; l'utiliser depuis un autre programme : .................................................... 3 Mise au point d'un programme, utilisation de l'aide ............................................................ 4 3. Corriger une erreur : ....................................................................................................... 4 4. Suivre pas pas une excution :..................................................................................... 4 5. Utiliser l'aide : ................................................................................................................ 4 Les graphes ............................................................................................................................... 5 6. Tracer une courbe au cours du temps (Waveform Chart) : ............................................ 5 Les chanes de caractres ......................................................................................................... 6 7. Manipuler des chanes de caractres : ............................................................................ 6 8. Concatner des chanes de caractres : .......................................................................... 6 9. Transformer un entier en hexadcimal : ......................................................................... 6 Les boolens .............................................................................................................................. 6 10. Utiliser des indicateurs et contrleurs boolens : ....................................................... 6 11. Les "Mechanical Actions" associs aux boutons boolens : ...................................... 6 La structure de choix Case, les menus .................................................................................... 7 12. Utiliser la structure case pour une question/rponse : ................................................ 7 13. Utiliser la structure case pour un choix dans un menu :............................................. 7 Les tableaux une dimension ................................................................................................. 8 14. Faire un tableau de rels et le tracer : ......................................................................... 8 15. Faire un tableau de LEDS (boolens) reprsentant un entier en binaire : .................. 8 La structure For ....................................................................................................................... 8 16. Utilisation d'une boucle For : ..................................................................................... 8 17. Utilisation d'une boucle For pour un calcul incrment :........................................... 9 18. Gnrer un tableau de mesures et calculer la moyenne et l'cart type : .................... 9 La structure While .................................................................................................................... 9 19. Utilisation d'une boucle de type While : .................................................................... 9 La structure Sequence .............................................................................................................. 9 20. Utilisation d'une squence : ........................................................................................ 9 Les agrgats (Clusters) ........................................................................................................... 10 21. Utilisation des agrgats (Clusters) : ......................................................................... 10 Les graphes XY....................................................................................................................... 10 22. Trac de Y fonction de X : graphes XY : ................................................................. 10 23. Trac de deux courbes (X, Y) : ................................................................................ 11 24. Trac d'une courbe avec barre d'erreur : X, Y Y : .............................................. 11 25. Graphes XY au cours du temps et pas la fin de la boucle : ................................... 11 Les Formula Node ............................................................................................................. 12 26. Utilisation du Formula Node pour crire des formules mathmatiques : ................ 12 Les variables locales et globales ............................................................................................ 12 1/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
27. Utilisation des variables locales dans un programme : ............................................ 12 28. Utilisation des variables globales ............................................................................. 12 Les fichiers .............................................................................................................................. 13 29. Les fichiers texte : .............................................................................................. 13 Simulation dune mesure bruite et filtrage ........................................................................ 14 30. Gnration dune mesure bruite : ........................................................................... 14 31. Utilisation dun filtre : ............................................................................................. 14 32. Traitement de donnes avec Kalidagraphe ............................................................. 14 Mesure intervalles fixes ou contrls par lutilisateur..................................................... 14 33. Simulation dune mesure :........................................................................................ 14 34. Prise dune mesure intervalles rguliers : .............................................................. 15 35. Prise dune mesure la demande : ........................................................................... 15 Flux et Nuds ......................................................................................................................... 15 36. Gestion du flux dinformations : .............................................................................. 15
2/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
Initiation
REMARQUE IMPORTANTE : Lors du droulement des prochaines sances dexercices, vous trouverez une srie de fichiers en partage sur le serveur. Afin de ne pas saturer ce serveur, il est important de tlcharger les fichiers sur vos ordinateurs respectifs avant de commencer travailler avec. 1. Utiliser un VI existant : a) Sur le serveur Samba vous trouverez une bibliothque dexemples fournie (DEMO.LLB).Ouvrez le programme VI_Simple.vi et essayez les divers boutons de commande b) Ouvrez le diagramme de ce VI ( Show Block Diagram ou ctrl E) et comprenez ses divers lments. 2. Faire une opration simple sur un nombre entr par l'utilisateur ; faire de ce programme un VI ; l'utiliser depuis un autre programme :
a) Ouvrir un nouveau VI b) Afficher un contrleur numrique Knob et un indicateur numrique Meter en panneau avant (menu Numeric de la palette Controls) c) Dans le diagramme, crire un programme tel que Meter affiche 2X+3 o X est la valeur donne de Knob (menu Numeric de Functions et des fils) d) Sauver le programme (Save ou Save as) sous le nom Operation simple.vi e) Tester le fonctionnement en mode Run puis Run Continuously f) Modifier lchelle de lindicateur jusqu 35 g) Changer le bouton Knob par un bouton Slide : vrifier l'effet. Modifier les noms de Knob et de Meter(par exemple : Entre/Sortie) h) Dans le panneau avant, cliquer, avec le bouton droit de la souris, sur le petit schma situ dans le coin du panneau avant, en haut droite. Choisir Edit Icon, puis dessiner un rectangle blanc et crire Mult lintrieur puis presser OK. Choisir ensuite Show Connector dans le menu apparaissant au mme endroit que prcdemment en cliquant sur le bouton de droite de la souris, puis Pattern. Choisir la proposition offrant deux rectangles verticaux correspondant une entre et une sortie. Cliquer avec l'outil fil dans le rectangle de gauche, puis sur le contrleur apparaissant dans le 3/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
diagramme, puis finalement cliquer n importe o pour confirmer laffectation du rectangle de gauche au contrleur. La couleur du rectangle de gauche change alors. Faites de mme avec le rectangle de droite et l'indicateur : vous venez de dfinir les entres et sorties de l'icne qui reprsentera le programme Mult dans un autre programme. Aller dans File/VI Properties/Documentation et entrer un texte clair qui explique ce que fait ce VI. Sauver, et fermer. i) Ouvrir un nouveau programme, introduire un contrleur "X" et un indicateur "RESULTAT", et mettre dans "RESULTAT" : 2X+3 en utilisant l'icne Mult correspondant au VI Operation simple.vi Pour cela, dans le diagramme, faire appel au VI Operation simple.vi via Functions et Select a VI.Remarquer quen approchant la bobine de licne, on voit apparatre les noms des entres/sorties de ce VI. Vrifier que cela marche. Sauver sous le nom : Utiliser une icone.vi.
4/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
Parfois, on souhaite une aide plus complte, pour voir en dtail le fonctionnement, les options et des exemples associs une fonctionnalit. Dans ce cas, aller dans les menus Search the LabVIEW Help. A titre dexemple, chercher l'aide sur les Waveform Charts.
Les graphes
6. Tracer une courbe au cours du temps (Waveform Chart) : a) Placer dans le diagramme dun nouveau VI un gnrateur de nombres alatoires (Functions, Numeric, Random Number) qui va simuler une mesure physique. Lui appliquer nouveau l'opration 2X+3 et envoyer le rsultat dans un indicateur. Sauver sous Simulation manip.vi. Editer licne de ce VI et crire Simul Manip, puis choisir un seul rectangle dans pattern et la connecter le sortie correspondant au une nombre alatoire 2X+3. Sauvegarder.
b)
Afficher sur le panneau avant dun nouveau VI, un Waveform chart(obtenu depuis le panneau avant, via Control, Graph, et WaveformChar,) et le relier en parallle un autre indicateur. Mettre Simulation Manip.vi en entre de ces 2 indicateurs. Excuter en mode Run continuously et observer le rsultat.Sauver ce VI sous le nom Exemple waveform.vi.
c) Tester les options du Chart : a. Cliquer sur le bouton droit de la souris sur le Chart, choisir Visible Items, essayer les diffrentes options et visualiser les changements. b. Changer l'chelle du chart en ordonne en remplaant un nombre par un autre, via l'outil Texte et en cliquant sur le nombre. c. Essayer l'option Autoscale X et Y.
5/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
Les boolens
10. Utiliser des indicateurs et contrleurs boolens :
Afficher un contrleur (Slide Switch) et un indicateur (Round LED) boolens. Changer leurs labels (en gnral, par dfaut, ON/OFF) de telle sorte que le contrleur donne le choix STOP/MARCHE et l'indicateur ROUGE/VERT. Les relier correctement afin que lorsqu'on clique sur STOP, l'indicateur affiche ROUGE sur fond rouge et que lorsque lon clique sur MARCHE, l'indicateur affiche VERT sur fond vert). Utiliser pour cela les menus Controls, Boolean etcliquer sur les booleens avec l'outil en forme de main pour chnager ltat des boutons. Sauver ce VI sous le nom Booleens.vi 11. Les "Mechanical Actions" associs aux boutons boolens : On associe tout bouton boolen une mechanical action qui est accessible en cliquant sur le boolen dans le panneau avant avec le bouton droit de la souris. Cet actionmcanique dfinit le type d'interrupteur qu'on utilise. Par exemple, certains interrupteurs reviennent leur 6/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
position initiale quand on les a presss, d'autres restent dans la position dans laquelle on les a placs. Reprendre le VI prcdent et tester les diffrents mechanical action possibles en observant attentivement en mode run continuously ce qui se passe pendant que vous appuyez sur le bouton, puis quand vous relchez la pression.
7/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
La structure For
16. Utilisation d'une boucle For : a) Raliser un programme qui affiche sur deux indicateurs diffrents dans le panneau avant dun nouveau VI, lindice dune boucle For. Sur le diagramme, lun de ces 2 indicateurs sera plac, lintrieur de la boucle For, lautre lextrieur de cette mme boucle. Pour pouvoir connecter lindice de la boucle lindicateur situ lextrieur de la boucle, il faudra utiliser loption Enable/Disable indexing du fil en cliquant sur le bouton droit de la souris sur le petit carr apparaissant au passage du fil au travers de la boucle.Cette option permet soit de faire sortir de la boucle un tableau (fil pais) de tous les indices ayant circul sur le fil, soit de faire sortir de la boucle la dernire valeur (fil fin). Ajouter une fonction Wait que lon trouve via les menus Functions, Timing, dans la boucle, pour ralentir le processus en indiquant sur un contrleur numrique reli la fonction Wait, le nombre de millisecondes souhaites entre chaque tour de boucle. Sauver ce VI sous le nom Boucle For simple.vi. b) Changer ensuite l'option Enable/Disable indexing et relier lindice de la boucle un tableau dentier situ lextrieur la boucle For. Observer le changement de lpaisseur du fil de sortie : un tableau (fil pais) sort cette fois-ci de la boucle. Sauver ce VI sous le nom Boucle For et tableau.vi.
8/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
17. Utilisation d'une boucle For pour un calcul incrment : Raliser un programme utilisant une boucle for pour calculer la somme des N premiers nombres entiers, l'utilisateur choisissant la valeur de N dans un contrleur numrique situ en panneau avant. Pour cela, on doit utiliser ce que lon appelle un Shift Register qui permet de faire des calculs incrments. Ce Shift Register utilise, dans une case situe sur le flan gauche de la boucle et pour le tour de boucle i+1, la valeur dun calcul obtenue au tour de boucle prcdent i et place dans la case situe sur le flanc droit de la boucle. Pour faire apparatre un Shift Register, on se place sur un flan vertical de la boucle, on clique sur le bouton droit de la souris et on slectionne add Shift Register. Sauver ce VI sous le nom Boucle For et Shift Register.vi. Excuter ce VI et vrifier que la somme des n premiers entiers est correcte. 18. Gnrer un tableau de mesures et calculer la moyenne et l'cart type : Dans une boucle For, gnrer N mesures alatoires via l'icne du VI Simulation manip.vi que vous insrez dans le diagramme dun nouveau VI. Placer un contrleur numrique sur le panneau avant permettant l'utilisateur de choisir le nombre N de mesures effectuer. Ce programme revient simuler un chantillonnage de N mesures. Tracer le tableau de ces N mesures ainsi gnres dans un Waveform Chart. Calculer et afficher la moyenne et l'cart type de ce tableau de mesures en utilisant loprateur Standard Deviation que vous trouverez via les menus Functions, Mathematics, Probability & Statistic. Sauver ce VI sous le nom Simulation echantillonnage.vi. Que se passe-t-il si N = 0 ?
La structure While
19. Utilisation d'une boucle de type While : a) Raliser un programme qui affiche dans deux indicateurs diffrents situs sur le panneau avant dun nouveau VI, lindice dune boucle While. Dans le diagramme, lun de ces 2 indicateurs sera plac, lintrieur de la boucle While, lautre lextrieur de cette mme boucle. Insrer une boucle While dans le diagramme de ce VI, dont l'arrt est command par un bouton boolen mis en panneau avant.Ajouter une fonction Wait que lon trouve via les menus Functions, Timing, dans la boucle, pour ralentir le processus en indiquant sur un contrleur numrique reli la fonction Wait, le nombre de millisecondes souhaites entre chaque tour de boucle. Sauver ce VI sous le nom Boucle While simple.vi. b) Tester leffet de diffrents choix de Mechanical Actions sur le bouton boolen commandant larrt de la boucle (voir lexercice 8).
La structure Sequence
20. Utilisation d'une squence : Crer un programme qui multiplie dans un premier temps par 2, la valeur dun nombre entr sur le panneau avant dans un contrleur numrique, puis qui attend dans un deuxime temps 2 secondes et finalement qui affiche dans un troisime temps la valeur du rsultat obtenu dans un indicateur numrique mis sur le panneau avant. Ce programme se fait en utilisant la 9/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
structure squence que lon trouve via les menus Functions, Structure, Stacked Sequence. Comme au cinma, une squence permet de faire une succession d'actions dans un ordre bien dfini. Pour ajouter la deuxime et troisime tape la premire, cliquer sur le bouton droit de la souris lorsque le curseur de la souris est plac sur le cadre de la Sequence, choisir dans le menu propos Add frame after (frame en anglais signifie cadre ). Pour faire passer le nombre gnr par la premire tape la troisime tape, cliquer sur le bouton droit de la souris lorsque que le curseur de la souris est plac sur le cadre de la squence et choisissez dans le menu propos "Add sequence local" : cela cre une petite bote dans laquelle on peut stocker une valeur via un fil. Cette valeur peut tre rcupre ensuite lors des tapes suivantes de la squence via la bote. Sauver ce VI sous le nom Utilisation Sequence.vi.
Les graphes XY
22. Trac de Y fonction de X : graphes XY : On a dj vu l'utilisation des Waveform Charts qui tracent des valeurs en fonction du temps. On veut maintenant tracer un tableau Y en fonction d'un tableau X. a) Utiliser une boucle For pour gnrer un tableau des N premiers entiers, et un tableau des N premiers entiers au carr. b) Envoyer ces deux tableaux vers un Express XY Graph. Sauver ce VI sous le nom Trac d'une courbe XY.vi. c) On veut pouvoir utiliser les diffrents outils graphiques : zoom, curseur Pour cela, avec le bouton droit de la souris sur le Graph, faire Cursor Legend et Graph Palette :
10/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
a. Sur la palette, essayer de faire des zooms en jouant aussi sur l'Autoscale X et Y. b. Les curseurs : avec l'outil main, cliquer sur le curseur display pour l'activer. Essayer avec la souris les diffrentes options (cliquer sur le cadenas pour accrocher ou non le curseur au graphe, essayer de le centrer dans l'image avec l'option bring to center, essayer de faire apparatre un deuxime curseur, )
23. Trac de deux courbes (X, Y) : Pour tracer plusieurs graphes XY sur un mme graphe, il faut cette fois-ci faire un tableau des diffrents agrgats XY. a) Utiliser une boucle For pour gnrer un tableau des N premiers entiers, un tableau des carrs des N premiers entiers, et un tableau des cubes des N premiers entiers. Utiliser deux oprateurs Bundle que lon obtient via les menus Functions, Cluster & Variant pour agrger les N premiers entiers (X) aux carrs et aux cubes des N premiers entiers (Y1 et Y2). b) Utiliser ensuite loprateur Build Array via le menu Functions, Array, pour faire un tableau partir des deux agrgats prcdents (quand l'outil Build Array apparat, il n'a qu'une entre, et il faut donc l'tirer avec la souris pour faire apparatre les deux entres ncessaires). c) Envoyer le tableau d'agrgats ainsi construit vers le graphe XY. d) Sur le graphe XY en panneau avant, tirer la lgende en haut droite du graphe, pour voir les deux lgendes, puis choisir une autre couleur et un autre trac pour la deuxime courbe (bouton droit de la souris sur sa lgende). e) Sauver ce VI sous le nom Trac de 2 courbes XY.vi. 24. Trac d'une courbe avec barre d'erreur : X, Y Y : Reprendre l'exercice prcdent, le sauver sous le nom Trac avec barres d'erreur.vi. Pour le deuxime tableau, remplacer le calcul du cube d'un entier par un tableau donnant une barre d'erreur (choisir une erreur constante pour commencer, ou bien un nombre alatoire). On veut tracer (X, Y), et (X, Y+erreur), et (X, Y-erreur). Reprendre la mme construction que prcdemment pour gnrer et tracer ces 3 courbes. Choisir astucieusement leur apparence (le graphe XY en points et les enveloppes en trait fin par exemple). Sauver de nouveau ce VI. 25. Graphes XY au cours du temps et pas la fin de la boucle : Ouvrir le VI XY_Online.vi de la bibliothque Demo.llb. Ce VI permet de tracer un graphe XY non pas la sortie de la boucle mais chaque tour de boucle. L'utiliser, comprendre son fonctionnement et son intrt (cest trs important pour la suite).
11/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
12/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
Double cliquer dessus. Vous tes envoys vers un nouveau VI (ne contenant pas de diagramme) nomm Global 1. b) Sauvez Global 1 sous un autre nom : Mes variables globales.vi. Placer dedans deux contrleurs numriques X et Y. Sauver. c) Revenir sur Modifie Variables Globales.vi. Dans le diagramme, faire les oprations X = X*X+3, et Y=Y+1 (en C, ces deux instructions seraient X=X*X+3 ;Y=Y+1 ; ). Pour appeler X et Y sur le diagramme, il faut utiliser Functions/Select a VI et appeler Mes variables globales.vi. Avec le bouton droit de la souris sur la variable globale, choisissez Select Item et choisissez la variable manipuler (X ou Y) ainsi que son tat (contrleur ou indicateur). Une fois que ceci est termin, supprimer du diagramme la variable globale non affecte. d) Crer un nouveau VI appel Utilisation Variables Globales.vi. Y mettre une squence 3 tapes. Dans la premire tape, faire afficher le contenu des variables globales X et Y. Dans la 2me tape, appeler Modifie Variables Globales.vi. e) Dans la 3me tape, afficher nouveau le contenu des variables globales X et Y sur deux autres indicateurs. Les rsultats affichs dans Utilisation Variables globales.vi prennent en compte les modifications effectues dans Modifie Variables Globales.vi : cest la raison dtre des variables globales.
Les fichiers
29. Les fichiers texte : a) Ouvrir Fichier_Texte_Write.vi dans Demo.llb. Modifier MonBinome dans la constante Path pour que le chemin daccs soit dirig sur votre rpertoire (voir le paragraphe du manuel correspondant ce sujet). Comprendre le programme et lutiliser pour crer le fichier MonPremierEssai.txt constitu denregistrements de deux nombres rels (attention, le suffixe .txt est important). b) Ouvrir Fichier_Texte_Read.vi dans Demo.llb. Comprendre le programme et lutiliser pour relire le fichier MonPremierEssai.txt cr prcdemment. c) Ouvrir Fichier_Texte_Write_Seq.vi dans Demo.llb. Modifier MonBinome dans la constante Path pour que le chemin daccs soit dirig sur votre rpertoire. Comprendre le programme. Quelle est la diffrence par rapport Fichier_Texte_Write.vi ? Modifier-le, aprs lavoir sauvegard sous le nouveau nom Mon_Fichier_Texte_Write_Seq.vi pour quil enregistre en plus, en premire colonne, lindice i de la boucle. Utiliser ce VI pour crer MonDeuximeEssai.txt. d) Tout lintrt du format denregistrement texte est de pouvoir relire simplement les fichiers avec nimporte quel autre logiciel. Essayer de relire MonDeuximeEssai.txt avec le Notepad de Windows. Utiliser maintenant le logiciel 13/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
danalyse de donnes Kaleidagraph pour tracer la troisime colonne de MonDeuximeEssai.txt en fonction de la seconde.
14/15
Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011
temprature, on associe une mesure de tension fictive V = 4*T+5. Sauver ce programme sous le nom TempeCroiss.vi.. 34. Prise dune mesure intervalles rguliers : Ecrire un programme qui simule une mesure de temprature ( laide de TempeCroiss.vi) et qui sauvegarde rgulirement les mesures de temprature (1 mesure sur 5 par exemple) dans un fichier.Sauver ce programme sous le nom Acquisition Reguliere.vi. 35. Prise dune mesure la demande : Ecrire un programme qui simule une mesure de temprature ( laide de TempeCroiss.vi) lorsque lutilisateur appuie sur un bouton MESURE . Prvoir galement un bouton ARRET pour quitter le programme.Sauver ce programme sous le nom Acquisition a la demande.vi.
Flux et Nuds
36. Gestion du flux dinformations : crire un programme qui incrmente une valeur initiale (choisie en face avant par lutilisateur) toute les secondes. Le rsultat de lincrment devra apparatre en face avant, en utilisant le "numeric" qui contenait la valeur initiale. Utilisez une boucle "while" et un bouton stop pour arrter le programme. Puis crer une deuxime boucle while, parallle la premire, pour faire un affichage asynchrone : un indicateur plac dans cette boucle devra afficher la valeur du rsultat toutes les deux secondes. Le bouton stop devra arrter les deux boucles en mme temps. Rem : pour pouvoir utiliser un boolen en variable locale, il faut paramtrer sa Mechanical Action sur Switch .
15/15