Vous êtes sur la page 1sur 15

Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011

Exercices d'initiation LabVIEW

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.

Mise au point d'un programme, utilisation de l'aide


3. Corriger une erreur : Lorsqu'il y a une erreur (bug) dans un programme, LabVIEW offre diffrents outils permettant den trouver l'origine. Ouvrir nouveau le VI Operation simple.vi. Crez une erreur volontaire en coupant un fil par exemple. Le symbole flche du mode run change et devient une flche brise. Voici les tapes possibles pour corriger ce programme : Cliquer sur la flche brise : la liste des erreurs apparat. Double-cliquez sur l'une d'elles, LabVIEW vous renvoie vers le lieu de l'erreur (ici le fil cass). Rparez. 4. Suivre pas pas une excution : Parfois, votre programme vous renvoie un rsultat inattendu, mais ne signale pas d'erreur. Pour trouver d'o vient le problme, il faut suivre son excution pas pas et vrifier la valeur des diffrentes variables au fur et mesure de l'excution. Ouvrir nouveau Operation simple.vi. Pour mettre un point d'arrt : utiliser l'outil en forme de rond rouge Set/Clear Breakpoint accessible dans la palette doutils. Placer un point d'arrt dans le programme en cliquant ce rond rouge sur un objet du programme qui sentoure alors de rouge. Vrifier l'effet l'excution du programme. Utiliser galement l'outil Probe Data (rond jaune avec un P dedans sur la palette doutils) en le plaant sur des fils. Vrifier son effet l'excution. 5. Utiliser l'aide : Lorsqu'on hsite sur l'utilisation d'un VI propos par LabVIEW, enclencher l'aide automatique que lon obtient via les menus Help/Show Context Help ou par le raccourci clavier CTRL-H. Vrifier par exemple son effet quand vous vous placez le curseur sur les diffrents lments dun diagramme ou sur licne dun VI. On observe ainsi tout l'intrt, ds qu'on crit un VI, de bien dcrire de faon claire le rle de ce VI via les menus File/VI Properties/Documentation.

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 chanes de caractres


7. Manipuler des chanes de caractres : Afficher sur un indicateur chane de caractres (Controls, String & Path), une chane de caractres fournie par un Contrleur chane de caractres, et donner sa longueur correspondant au nombre de caractres quelle contient, sur un indicateur numrique. Utiliser pour cela loprateur String Length obtenu via les menus Functions,String. Sauver ce VI sous le nom Chaines de caractres.vi 8. Concatner des chanes de caractres : Afficher une unique chane de caractres rsultant de la concatnation (runion au sens des chanes de caractres) de 3 chanes de caractres entres au clavier sur le Panneau Avant dans 3 contrleurs chane de caractres diffrents. Utiliser pour cela loprateur Concatenate Strings obtenu via les menus Functions, String. Sauver ce VI sous le nom Concatenation de Chaines.vi. 9. Transformer un entier en hexadcimal : Sur le panneau avant dun nouveau VI, installer un contrleur numrique correspondant un entier positif infrieur 256. Afficher ce nombre en reprsentation hexadcimale, octale et binaire dans 3 indicateurs numriques diffrents et dans un indicateur chane de caractres. Utiliser pour cela loprateur Number To Hexadecimal String obtenu via les menus Functions, Programming, String, String/Number Conversion. Sauver ce VI sous le nom Entier a Chaine hexadecimale.vi.

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.

La structure de choix Case, les menus


Attention, pour la suite, ne surtout pas utiliser l'option run continuously 12. Utiliser la structure case pour une question/rponse : Raliser un programme qui pose lutilisateur une question et lui demande de rpondre par OUI ou NON, puis qui affiche un commentaire correspondant. Utiliser un contrleur boolen pour que l'utilisateur donne sa rponse, dont vous changerez le texte ON/OFF. Le relier la structure Case, accessible depuis Functions, Structure. Utiliser dans les deux fentres de case (false/true) un "One Button Dialog" dont vous choisirez le message correspondant (dans Functions/Dialog & User Interface). Sauver sous le nom Question Reponse.vi. 13. Utiliser la structure case pour un choix dans un menu : On veut raliser un programme qui propose plusieurs choix lutilisateur, et qui fasse une action prcise suivant le choix qui a t fait. a) Sur le panneau avant dun nouveau diagramme, crer un menu droulant qui propose plusieurs choix (questions, compositeurs, hommes clbres, etc) grce au contrleur numrique Ring & Enum/Menu Ring. Entrer les diffrents choix de ce menu (au minimum trois) dans ce contrleur. Pour cela, avec l'outil texte, entrer dans le Menu Ring un premier choix. Attention ne pas faire un retour chariot aprs avoir crit le texte du premier choix, cela correspondrait au premier choix avec un intitul de plusieurs lignes. Aprs criture du texte dun choix, il faut ressortir du menu, puis cliquer sur le bouton droit de la souris et choisir dans le menu Properties/Edit Item/Insert, et recommencer. LabVIEW considre le menu comme un nombre entier qui vaut 0 si c'est le premier choix, 1 si c'est le deuxime, etc. b) Relier dans le diagramme ce contrleur de type menu droulant une structure Case. c) Pour chaque choix, faire apparatre dans unebote de dialogue, la rponse la question, un titre correspondant un compositeur, etc. Sauver ce VI sous le nom Choix menu.vi.

7/15

Magistre et M1 de Physique Fondamentale et Applique Universit Paris XI Initiation LabVIEW 2010 2011

Les tableaux une dimension


14. Faire un tableau de rels et le tracer : a) Afficher un tableau sur le panneau avant dun nouveau VI via Array, Matrix & Cluster/Array et y placer lintrieur un contrleur numrique : cela permet de dfinir le type dlments constituant ce tableau, ici le tableau est constitus de rels. b) Entrer 4 valeurs dans le tableau. On peut dcaler la visualtion dun lement du tableau en agissant sur le curseur visible sur la gauche du tableau. On peut aussi visualis plusieurs lment du tableau en agrandissant celui-ci avec la souris. c) Multiplier ces 4 lments par 2. On remarquera que lon peut faire une opration arithmtique sur l'ensemble du tableau, d'un seul coup. Les fils sont alors plus pais, indiquant que lon travaille avec un tableau. d) Tracer le tableau dans un Waveform Chart et sauver ce VI sous le nom Tableau de rels.vi. 15. Faire un tableau de LEDS (boolens) reprsentant un entier en binaire : Afficher, laide dun tableau dindicateurs LED , ltat des bits (bit 0 diode teinte ; bit 1 diode allume) de loctet reprsentant un nombre entier positif infrieur 256. Prsenter les bits de poids faibles droite (comme en criture binaire). On utilisera pour cela loprateur Array,Reverse 1D Array.Functions,que lon trouvera via les menus Numeric, Conversion, Number To Boolean Array et Functions. Sauver ce VI sous le nomTableau de boolens.vi.

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 agrgats (Clusters)


21. Utilisation des agrgats (Clusters) : Un agrgat est un type de variable particulier, qui consiste en l'agrgation de plusieurs variables, pas ncessairement du mme type (donc ce n'est pas un tableau). Par exemple, une mesure physique peut fournir une tension, une temprature, et un code d'erreur (ON si pas de problme, OFF si la mesure est mauvaise). On peut avoir avantage agrger ces trois variables (2 rels et un boolen) en une seule pour simplifier la manipulation des donnes. a) Construire un agrgat des trois variables susnommes (2 numriques et une boolenne) en utilisant loprateur Bundle que lon trouve via les menus Functions, Cluster & Variant. Il faudra tirer loprateur bundle depuis sa base infrieure pour faire apparatre 3 entres, ou cliquer sur le bouton de droite de la souris lorsque le curseur de celle-ci est situ sur loprateur bundle et utiliser le menu Add Input. b) Extraire de cet agrgat la variable temprature et lenvoyer sur un indicateur numrique situ sur le panneau avant. Pour cela, utiliser l'oprateur unbundle qui dsagrge l'agrgat et que lon trouve via les mmes menus que loprateurbundle. Sauver ce VI sous le nom Agrgat Simple.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

Les Formula Node


26. Utilisation du Formula Node pour crire des formules mathmatiques : Ouvrir le VI Operation Simple.viet le sauver sous le nouveau nom Operation avec Formula Node.vi. On va remplacer les oprateurs arithmtiques par un Formula Node, accessible via les menus Functions, Structure. Placer une entre et une sortie en positionnant le curseur de la souris sur le cadre du Formula Node et en cliquant sur le bouton droit de la souris. Ecrivez dedans le nom des variables (par exemple X en entre et Y en sortie). Ecrire dans le cadre la formule effectuer suivie d'un point virgule comme sur lexemple Y=2*X+3; et tester son fonctionnement. Essayer ensuite une formule plusieurs variables d'entres et calculer par exemple z=cos(2*pi*sqrt(y^2+x^2)).

Les variables locales et globales


27. Utilisation des variables locales dans un programme : Ouvrir nouveau le VI Utilisation Sequence.vi. Le sauver sous le nouveau nom Utilisation variables locales.vi. On veut maintenant ne plus utiliser une Sequence Local pour transmettre une valeur dune squence une autre mais plutt une variable locale. En effet, quand un programme commence tre volumineux, il peut tre parfois utile de ne pas trop utiliser de fils. On va donc stocker une donne parcourant un fil dans une variable dite locale (en mode Write) qu'on pourra ensuite utiliser ailleurs, dans une autre partie du programme (en mode Read) sans utiliser un fil. Dans ce VI, commencer par placer sur le panneau avant, en plus du contrleur et de lindicateur dj prsents, un autre indicateur numrique que vous nommez X. Envoyer, dans la 1re tape de la squence, le rsultat de lopration (fois 2) dans le nouvel indicateur numrique X et lassocier une variable locale via Fonction, Structure, Local puis clic gauche dessus pour choisir la variable attribue). Un clic droit sur la variable locale permet de changer ses attributs Read et Write . Ainsi, dans la 3me tape, faire apparatre la variable locale associe cet indicateur X en mode Readvia les menus Fonction, Structure, Localpuis Select Item. Envoyer la valeur contenue dans cette variable locale dans lindicateur numrique dj prsent. Pour que ce VI soit totalement quivalent Utilisation Sequence.vi, il faut faire disparatre du panneau avant lindicateur numrique X, pour cela utiliser loption Hide/Show Indicator depuis le diagramme. 28. Utilisation des variables globales Parfois, on veut pouvoir appeler depuis diffrents programmes des variables dites "globales". Par exemple, quand on initialise une carte dacquisition, on entre ses paramtres depuis un programme qui l'initialise. On veut pouvoir rutiliser ces paramtres ensuite depuis un autre programme qui utilise la carte pour mesurer une tension. Pour cela, les variables sont mises dans un troisime programme spcial, qui ne contient qu'un panneau avant sans diagramme, et dans lequel on place les variables. Voici comment faire : a) Ouvrir un nouveau programme et le sauver sous Modifie Variables Globales.vi. Afficher une variable globale dans son diagramme via Functions, Structures, Global.

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.

Simulation dune mesure bruite et filtrage


30. Gnration dune mesure bruite : Ecrire un programme qui simule une mesure de tension fluctuant de manire alatoire entre 2 et +2 V, laquelle se rajoute un signal sinusodal de 50 Hz et damplitude variable. Chaque signaux (la tension et le signal 50 Hz) seront crits dans un fichier texte. Sauver ce programme sous le nom SimuleBruit.vi. 31. Utilisation dun filtre : Relire les donnes prcdentes et utiliser un filtre (Functions, Signal Processing, Filters) pour supprimer le 50 Hz. Comparer graphiquement le signal originel non bruit et le signal rel filtr. Sauver le programme sous le nom UtilisationFiltre.vi. 32. Traitement de donnes avec Kalidagraphe Vous allez maintenant simuler un signal exprimental bruyant et effectuer un traitement de celui-ci avec le logiciel Kalidagraphe qui vous est fourni pour les futurs projets. Vous trouverez une aide pour lutilisation du logiciel en annexe du poly. En vous inspirant des exercices prcdents, gnrez un signal qui comprend : un partie oscillante une frquence dtermine f0 damplitude A0 (signal physique) un bruit blanc un signal parasite de 50 Hz et damplitude variable Tracez ce signal en fonction du temps grce labview puis enregistrez le rsultat (signal et temps) dans un fichier texte. Utilisez Kalidagraphe et ses fonctions de fit pour extraire la frquence et lamplitude du signal physique. Comparez aux valeurs connues pour f0 et A0. Etudiez la prcision de ces rsultats en fonction de lamplitude du bruit et du 50 Hz qui se rajoute au signal physique. Vous pourrez galement essayer diffrents filtres et voir si cela amliore la dtermination de A0 et f0.

Mesure intervalles fixes ou contrls par lutilisateur


33. Simulation dune mesure : Ecrire un programme simulant une mesure de temprature fluctuant de manire sinusodale autour dune valeur moyenne qui augmente linairement de 300K 1500K. A chaque

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

Vous aimerez peut-être aussi