PROJETS DE PHYSIQUE STATISTIQUE



Documents pareils
Initiation à LabView : Les exemples d applications :

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Introduction à la présentation graphique avec xmgrace

COMMENCER AVEC VUE. Chapitre 1

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Introduction : Cadkey

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

L espace de travail de Photoshop

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Sélection du contrôleur

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Utilisation du logiciel GALAAD

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Utilisation du client de messagerie Thunderbird

Note de cours. Introduction à Excel 2007

Traitement de texte : Quelques rappels de quelques notions de base

Prise en main du logiciel Smart BOARD

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Manuel utilisateur Netviewer one2one

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Prise en main du logiciel. Smart BOARD Notebook 10

Styler un document sous OpenOffice 4.0

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Mon aide mémoire traitement de texte (Microsoft Word)

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Dragon Naturally Speaking 13

TP Blender n 2 : Importation d un modèle SketchUp et animation

MEGA ITSM Accelerator. Guide de Démarrage

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

SpeechiTablet Notice d utilisation

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Silhouette Studio Leçon N 2

l'ordinateur les bases

MANUEL D UTILISATION PRO-FACE

Open-Sankoré. Mise en route. Guide utilisateur Février 2013 NTICE (E. S.)

LibreOffice Calc : introduction aux tableaux croisés dynamiques

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

YAPBA M. Logiciel libre de suivi de vos comptes

Utiliser Freemind à l'école

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

MEGA ITSM Accelerator. Guide de démarrage

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Comment accéder à d Internet Explorer

Un exemple avec WORKSPACE d'interwrite

TABLEAU CROISE DYNAMIQUE

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Introduction au logiciel de gestion bibliographique Zotero

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

Utilisation de la clé USB et autres supports de stockages amovibles

Comment sauvegarder ses documents

TBI-DIRECT. Bridgit. Pour le partage de votre bureau. Écrit par : TBI Direct.

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

Utilisation du logiciel Epson Easy Interactive Tools

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Le langage C. Séance n 4

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Création d'un questionnaire (sondage)

Choisir entre le détourage plume et le détourage par les couches.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Guide de démarrage rapide. (pour la version 5.0.)

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

Formation. Module WEB 4.1. Support de cours

Les calques : techniques avancées

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Assistant d e tablissement de Tableaux

Interface PC Vivago Ultra. Pro. Guide d'utilisation

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Installation et utilisation du client FirstClass 11

LES TOUT PREMIERS PAS

BIRT (Business Intelligence and Reporting Tools)

VOS PREMIERS PAS AVEC TRACENPOCHE

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklz mqwertyuiopasdfghjklzxcvbnmqwert

GUIDE D UTILISATION DU TABLEAU BLANC INTERACTIF EBEAM EDGE

«Petit guide d utilisation Prezi» par Marc Nolet

Table des matières. Télécharger MetaTrader 4. Première connexion à MetaTrader 4. Se connecter à MetaTrader 4. Modifier la langue

Transcription:

Université Paris-Sud Master et magistère de physique fondamentale PROJETS DE PHYSIQUE STATISTIQUE Exercices d initiation à LabView http://hebergement.u-psud.fr/projetsdephysiquestatistique

Exercices d'initiation à LabVIEW Initiation... 3 1. Utiliser un VI existant :... 3 2. Faire une opération 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 exécution :... 4 5. Utiliser l'aide :... 4 Les graphes... 5 6. Tracer une courbe au cours du temps (Waveform Chart) :... 5 Les chaînes de caractères... 5 7. Manipuler des chaînes de caractères :... 5 8. Concaténer des chaînes de caractères :... 6 9. Transformer un entier en hexadécimal :... 6 Les booléens... 6 10. Utiliser des indicateurs et contrôleurs booléens :... 6 11. Les "Mechanical Actions" associés aux boutons booléens :... 6 La structure de choix Case, les menus... 7 12. Utiliser la structure case pour une question/réponse :... 7 13. Utiliser la structure case pour un choix dans un menu :... 7 Les tableaux à une dimension... 7 14. Faire un tableau de réels et le tracer :... 7 15. Faire un tableau de LEDS (booléens) représentant 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 incrémenté :... 8 18. Générer 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 séquence :... 9 Les agrégats (Clusters)... Erreur! Signet non défini. 21. Utilisation des agrégats (Clusters) :... Erreur! Signet non défini. Les graphes XY... 10 22. Tracé de Y fonction de X : graphes XY :... 10 23. Tracé de deux courbes (X, Y) :... 10 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»... 11 26. Utilisation du Formula Node pour écrire des formules mathématiques :... 11 Les variables locales et globales... 12 1/14

27. Utilisation des variables locales dans un programme :... 12 28. Utilisation des variables globales... Erreur! Signet non défini. Les fichiers... 12 29. Les fichiers «texte» :... 12 Simulation d une mesure bruitée et filtrage... 13 30. Génération d une mesure bruitée :... 13 31. Utilisation d un filtre :... 13 32. Traitement de données avec Kaléidagraphe... 13 Mesure à intervalles fixes ou contrôlés par l utilisateur... 13 33. Simulation d une mesure :... 13 34. Prise d une mesure à intervalles réguliers :... 13 35. Prise d une mesure à la demande :... 14 Flux et Nœuds... 14 36. Gestion du flux d informations :... 14 2/14

Initiation REMARQUE IMPORTANTE : Lors du déroulement des séances d exercices, vous trouverez une série de fichiers en partage sur le serveur. Afin de ne pas saturer ce serveur, il est important de télécharger les fichiers sur votre ordinateur avant de commencer le travail. 1. Utiliser un VI existant : a) Sur le serveur Samba, vous trouverez une bibliothèque d exemples 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 éléments. 2. Faire une opération 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 contrôleur numérique Knob et un indicateur numérique 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 donnée 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 l échelle de l indicateur jusqu à 35 par exemple. g) Changer le bouton Knob par un bouton Slide : vérifier l'effet. Modifier les noms de Knob et de Meter (par exemple : Entrée/Sortie). h) Dans le panneau avant, cliquer en haut à droite, avec le bouton droit de la souris, sur le petit schéma situé dans le coin du panneau avant,. Choisir Edit Icon, puis dessiner un rectangle blanc et écrire Mult à l intérieur puis presser OK. Choisir ensuite Show Connector dans le menu apparaissant au même endroit que précédemment en cliquant sur le bouton de droite de la souris, puis Pattern. Choisir la proposition offrant deux rectangles verticaux correspondant à une entrée et une sortie. Cliquer avec l'outil fil dans le rectangle de gauche, puis sur le contrôleur apparaissant dans le front panel. La couleur du rectangle de gauche change alors. Faites de même avec le 3/14

rectangle de droite et l'indicateur : vous venez de définir les entrées et sorties de l'icône qui représentera 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 contrôleur "X" et un indicateur "RESULTAT", et mettre dans "RESULTAT" : 2X+3 en utilisant l'icône 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 qu en approchant la bobine de l icône, on voit apparaître les noms des entrées/sorties de ce VI. Vérifier que le programme fonctionne. 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 différents outils permettant d en trouver l'origine. Ouvrir à nouveau le VI Operation simple.vi. Créez une erreur volontaire en coupant un fil par exemple. Le symbole flèche du mode run change et devient une flèche brisée. Voici les étapes possibles pour corriger ce programme : Cliquez sur la flèche brisée : la liste des erreurs apparaît. Double-cliquez sur l'une d'elles, LabVIEW vous renvoie vers le lieu de l'erreur (ici le fil cassé). Réparez. 4. Suivre pas à pas une exécution : Parfois, votre programme vous renvoie un résultat inattendu, mais ne signale pas d'erreur. Pour trouver d'où vient le problème, il faut suivre son exécution pas à pas et vérifier la valeur des différentes variables au fur et à mesure de l'exécution. Ouvrir à nouveau Operation simple.vi. Pour mettre un point d'arrêt : utiliser l'outil en forme de rond rouge Set/Clear Breakpoint accessible dans la palette d outils. Placer un point d'arrêt dans le programme en cliquant ce rond rouge sur un objet du programme qui s entoure alors de rouge. Vérifier l'effet à l'exécution du programme. Utiliser également l'outil Probe Data (rond jaune avec un P dedans sur la palette d outils) en le plaçant sur des fils. Vérifier son effet à l'exécution. 5. Utiliser l'aide : Lorsqu'on hésite sur l'utilisation d'un VI proposé par LabVIEW, enclencher l'aide automatique que l on obtient via les menus Help/Show Context Help ou par le raccourci clavier CTRL-H. Vérifier par exemple son effet quand vous placez le curseur sur les différents éléments d un diagramme ou sur l icône d un VI. On observe ainsi tout l'intérêt, dès qu'on écrit un VI, de décrire de façon claire le rôle de ce VI via les menus File/VI Properties/Documentation. Parfois, on souhaite une aide plus complète, pour voir en détail le fonctionnement, les options et des exemples associés à une fonctionnalité. Dans ce cas, aller dans les menus Search the LabVIEW Help. A titre d exemple, chercher l'aide sur les Waveform Charts. 4/14

Les graphes 6. Tracer une courbe au cours du temps (Waveform Chart) : a) Placer dans le diagramme d un nouveau VI un générateur de nombres aléatoires compris entre 0 et 1 (Functions, Numeric, Random Number) qui va simuler une mesure physique. Lui appliquer à nouveau l'opération 2X+3 et envoyer le résultat dans un indicateur. Sauver sous Simulation manip.vi. Editer l icône de ce VI et écrire Simul Manip, puis choisir un seul rectangle dans pattern et la connecter à la sortie correspondant au nombre aléatoire 2X+3. Sauvegarder. b) Afficher sur le panneau avant d un nouveau VI, un Waveform chart (obtenu depuis le panneau avant, via Control, Graph, et WaveformChar,) ainsi qu un autre indicateur numérique. Mettre Simulation Manip.vi en entrée de ces 2 indicateurs. Exécuter en mode Run continuously et observer le résultat. 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 différentes options et visualiser les changements. b. Changer l'échelle du chart en ordonnée en remplaçant un nombre par un autre, via l'outil Texte et en cliquant sur le nombre. c. Essayer l'option Autoscale X et Y. Les chaînes de caractères 7. Manipuler des chaînes de caractères : Afficher sur un indicateur chaîne de caractères (Controls, String & Path), une chaîne de caractères fournie par un Contrôleur chaîne de caractères et donner sa longueur correspondant au nombre de caractères qu elle contient, sur un indicateur numérique. Utiliser pour cela 5/14

l opérateur String Length obtenu via les menus Functions,String. Sauver ce VI sous le nom Chaines de caractères.vi 8. Concaténer des chaînes de caractères : Afficher une unique chaîne de caractères résultant de la concaténation (réunion au sens des chaînes de caractères) de 3 chaînes de caractères entrées au clavier sur le Panneau Avant dans 3 contrôleurs chaîne de caractères différents. Utiliser pour cela l opérateur Concatenate Strings obtenu via les menus Functions, String. Sauver ce VI sous le nom Concatenation de Chaines.vi. 9. Changer la base de représentation d un entier : Sur le panneau avant d un nouveau VI, installer un contrôleur numérique correspondant à un entier positif inférieur à 256 (représentation U8). Relier ce contrôleur à 3 indicateurs numériques différents, affichant respectivement l entier en représentation hexadécimale, octale ou binaire. Relier également le contrôleur à un indicateur chaîne de caractères affichant l entier en représentation hexadécimale. Utiliser pour cela l opérateur 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 booléens 10. Utiliser des indicateurs et contrôleurs booléens : Afficher un contrôleur (Slide Switch) et un indicateur (Round LED) booléens. Changer leurs labels (en général, par défaut, ON/OFF) de telle sorte que le contrôleur donne le choix STOP/MARCHE et l'indicateur ROUGE/VERT. Les relier ensemble afin que lorsqu'on clique sur STOP, l'indicateur affiche ROUGE sur fond rouge et que lorsque l on clique sur MARCHE, l'indicateur affiche VERT sur fond vert. Utiliser pour cela les menus Controls, Boolean et cliquer sur les booleens avec l'outil en forme de main pour changer l état des boutons. Sauver ce VI sous le nom Booleens.vi 11. Les "Mechanical Actions" associés aux boutons booléens : On associe à tout bouton booléen une mechanical action qui est accessible en cliquant sur le booléen dans le panneau avant avec le bouton droit de la souris. Cet action mécanique définit le type d'interrupteur que l'on utilise. Par exemple, certains interrupteurs reviennent à leur position initiale quand on les a pressés, d'autres restent dans la position dans laquelle on les a placés. Reprendre le VI précédent et tester les différentes mechanical action possibles en observant attentivement en mode run continuously ce qui se passe pendant que vous appuyez sur le bouton, puis quand vous relâchez la pression. 6/14

La structure de choix Case, les menus Attention, pour la suite, ne surtout plus utiliser l'option run continuously 12. Utiliser la structure case pour une question/réponse : Réaliser un programme qui pose une question à l utilisateur dans une zone de texte du front panel. L utilisateur doit avoir le choix de répondre OUI ou NON. En fonction de sa réponse, le programme lui renvoie un commentaire différent. Utiliser pour cela un contrôleur booléen dont vous changerez le texte ON/OFF en OUI/NON pour que l'utilisateur donne sa réponse. Le relier à la structure Case, accessible depuis Functions, Structure. Utiliser dans les deux fenêtres de case (false/true) un "One Button Dialog" accessible dans Functions/Dialog & User Interface dont vous choisirez le message à faire apparaître à l utilisateur. Sauver sous le nom Question Reponse.vi. 13. Utiliser la structure case pour un choix dans un menu : On veut réaliser un programme qui propose plusieurs choix à l utilisateur, et qui fasse une action précise suivant le choix qui a été fait. a) Sur le panneau avant d un nouveau diagramme, créer un menu déroulant qui propose plusieurs choix (questions, compositeurs, hommes célèbres, etc ) grâce au contrôleur numérique Ring & Enum/Menu Ring. Entrer les différents choix de ce menu (au minimum trois) dans ce contrôleur. Pour cela, cliquer sur le bouton droit de la souris et choisir dans le menu Properties/Edit Item/Insert, et insérer vos différents choix. LabVIEW considère le menu comme un nombre entier qui vaut 0 si c'est le premier choix, 1 si c'est le deuxième, etc. b) Relier dans le diagramme ce contrôleur de type menu déroulant à une structure Case. c) Pour chaque choix, faire apparaître dans une boîte de dialogue, la réponse à la question, un titre correspondant à un compositeur, etc. Sauver ce VI sous le nom Choix menu.vi. Les tableaux à une dimension 14. Faire un tableau de réels et le tracer : a) Afficher un tableau sur le panneau avant d un nouveau VI via Array, Matrix & Cluster/Array et placer à l intérieur de celui-ci un contrôleur numérique : cela permet de définir le type d éléments constituant ce tableau, ici le tableau sera un tableau de réels. b) Entrer 4 valeurs dans le tableau. On peut décaler la visualisation d un élément du tableau en agissant sur le curseur visible sur la gauche du tableau. On peut aussi visualiser plusieurs éléments du tableau en agrandissant celui-ci avec la souris. 7/14

c) Multiplier ces 4 éléments par 2. On remarquera que l on peut faire une opération arithmétique sur l'ensemble du tableau, d'un seul coup. Les fils sont alors plus épais, indiquant que l on travaille avec un tableau. d) Tracer le tableau dans un Waveform Chart et sauver ce VI sous le nom Tableau de réels.vi. 15. Faire un tableau de LEDS (booléens) représentant un entier en binaire : On veut qu un programme affiche sur un indicateur numérique, la valeur en binaire d un nombre entier compris entre 0 à 255 (U8) entrée dans un contrôleur numérique dont l affichage est lui, en base décimale. On veut également que ce programme affiche, à l aide d un tableau d indicateurs booléens «LED», l état 0 ou 1 des bits (bit à 0 diode éteinte ; bit à 1 diode allumée en vert) du nombre entier positif inférieur à 255 entré sur le contrôleur. On utilisera pour cela l opérateur Number To Boolean Array que l on trouvera via les menus Numeric, Conversion. On présentera les bits de poids faibles à droite (comme en écriture binaire). On utilisera pour cela l opérateur Reverse 1D Array. Sauver ce VI sous le nom Tableau de booléens.vi. 16. Utilisation d'une boucle For : La structure For a) Réaliser un programme qui affiche sur deux indicateurs différents dans le panneau avant d un nouveau VI, l indice d une boucle For. Sur le diagramme, l un de ces 2 indicateurs sera placé, à l intérieur de la boucle For, l autre à l extérieur de cette même boucle. Pour pouvoir connecter l indice de la boucle à l indicateur situé à l extérieur de la boucle, il faudra utiliser l option 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 dernière valeur ayant circulé sur ce même fil (fil fin). Ajouter une fonction Wait que l on trouve via les menus Functions, Timing, dans la boucle, pour ralentir le fonctionnement du programme, en reliant un contrôleur numérique à la fonction Wait, le nombre de millisecondes souhaitées 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 l indice à l extérieur à la boucle For à un indicateur tableau d entier situé sur le panneau avant. Observer le changement de l épaisseur 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. 17. Utilisation d'une boucle For pour un calcul incrémenté : Réaliser un programme utilisant une boucle for pour calculer la somme des N premiers entiers, l'utilisateur choisissant la valeur de N dans un contrôleur numérique situé en panneau avant et relié au nombre de tour de boucle. Pour cela, on doit utiliser ce que l on appelle un Shift Register qui permet de faire des calculs incrémentés. Ce Shift Register utilise, pour le tour de boucle i+1 et dans une case située sur le flan gauche de la boucle, la valeur d un calcul obtenue au tour de boucle précédent i et placée dans la case située sur le flanc droit de la boucle. Pour faire apparaître un Shift Register, on se place sur un flan 8/14

vertical de la boucle, on clique sur le bouton droit de la souris et on sélectionne add Shift Register. Sauver ce VI sous le nom Boucle For et Shift Register.vi. Exécuter ce VI et vérifier que la somme des N premiers entiers est correcte. 18. Générer un tableau de mesures et calculer la moyenne et l'écart type : Dans une boucle For, générer N mesures aléatoires via l'icône du VI Simulation manip.vi que vous insérez dans le diagramme d un nouveau VI. Placer un contrôleur numérique 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 générées dans un Waveform Chart. Calculer et afficher la moyenne et l'écart type de ce tableau de mesures en utilisant l opérateur 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) Réaliser un programme qui affiche dans deux indicateurs différents situés sur le panneau avant d un nouveau VI, l indice d une boucle While. Dans le diagramme, l un de ces 2 indicateurs sera placé, à l intérieur de la boucle While, l autre à l extérieur de cette même boucle. L'arrêt de la boucle While est commandé par un bouton booléen mis en panneau avant. Ajouter dans la boucle, une fonction Wait que l on trouve via les menus Functions, Timing, pour ralentir l exécution du programme. Entrer dans un contrôleur numérique relié à la fonction Wait, le nombre de millisecondes souhaitées entre chaque tour de boucle. Sauver ce VI sous le nom Boucle While simple.vi. b) Tester l effet de différents choix de Mechanical Actions sur le bouton booléen commandant l arrêt de la boucle (voir l exercice 8). La structure Sequence 20. Utilisation d'une séquence : Créer un programme qui multiplie dans un premier temps par 2, la valeur d un nombre entré sur le panneau avant dans un contrôleur numérique, puis qui attend dans un deuxième temps 2 secondes et finalement qui affiche dans un troisième temps la valeur du résultat obtenu dans un indicateur numérique mis sur le panneau avant. Ce programme se fait en utilisant la structure séquence que l on trouve via les menus Functions, Structure, Stacked Sequence. Comme au cinéma, une séquence permet de faire une succession d'actions dans un ordre bien défini. Pour ajouter la deuxième et troisième étape à la première, 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 généré par la première étape à la troisième étape, cliquer sur le bouton droit de la souris lorsque que le curseur de la souris est placé sur le cadre de la séquence et choisissez dans le menu proposé "Add sequence local" : cela crée une petite boîte dans laquelle on peut 9/14

stocker une valeur via un fil. Cette valeur peut être récupérée ensuite lors des étapes suivantes de la séquence via la boîte. Sauver ce VI sous le nom Utilisation Sequence.vi. Les graphes XY 21. Tracé de Y fonction de X : graphes XY : On a déjà 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 générer un tableau des N premiers entiers, et un tableau des N premiers entiers au carré. b) Envoyer ces deux tableaux vers un XY Graph. N oublier pas d insérer l opérateur bundle que l on obtient via les menus Functions, Cluster & Variant pour générer un agrégat de tableau de X et de Y, comme le montre l aide (Ctrl H) lorsque l on place la souris sur l icône du XY Graph dans le diagramme. Sauver ce VI sous le nom Tracé d'une courbe XY.vi. c) On veut pouvoir utiliser les différents outils graphiques : zoom, curseur Pour cela, avec le bouton droit de la souris sur le Graph, faire Graph Palette : 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 différentes 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 apparaître un deuxième curseur, ) 22. Tracé de deux courbes (X, Y) : Pour tracer plusieurs graphes XY sur un même graphe, il faut cette fois-ci faire un tableau des différents agrégats XY. a) Utiliser une boucle For pour générer un tableau des N premiers entiers, un tableau des carrés des N premiers entiers, et un tableau des cubes des N premiers entiers. Utiliser deux opérateurs Bundle pour agréger ces N premiers entiers (X) avec leur valeur au carré et au cube (Y1 et Y2 respectivement). b) Utiliser ensuite l opérateur Build Array via le menu Functions, Array, pour faire un tableau à partir des deux agrégats précédents (quand l'outil Build Array apparaît, il n'a qu'une entrée, et il faut donc l'étirer avec la souris pour faire apparaître les deux entrées nécessaires). 10/14

c) Envoyer le tableau d'agrégats ainsi construit vers le graphe XY. d) Sur le graphe XY en panneau avant, étirer la légende en haut à droite du graphe, pour voir les deux légendes, puis choisir une autre couleur et un autre tracé pour la deuxième courbe (bouton droit de la souris sur sa légende). e) Sauver ce VI sous le nom Tracé de 2 courbes XY.vi. 23. Tracé d'une courbe avec barre d'erreur : X, Y ± Y : Reprendre l'exercice précédent, le sauver sous le nom Tracé avec barres d'erreur.vi. Pour le deuxième 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 aléatoire). On veut tracer (X, Y), et (X, Y+erreur), et (X, Y-erreur). Reprendre la même construction que précédemment pour générer 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. 24. Graphes XY au cours du temps et pas à la fin de la boucle : On veut maintenant afficher un XY Graph à chaque tour de boucle. Pour cela, reprendre le programme Tracé d'une courbe XY.vi et ajouter un XY Graph sur le panneau avant. Puis grâce à l utilisation d un shift register et de l opérateur build array, construire un tableau X des N premiers entiers et un tableau Y des N premiers entiers au carré, dont le nombre d éléments augmente d une unité à chaque tour de boucle. L opérateur bundle sera ensuite utilisé pour agréger les 2 tableaux à chaque tour de boucle. L agrégat ainsi formé sera relié au XY Graph récemment importé et mis à l intérieur de la boucle For sur le diagramme. On n oubliera pas d initialiser le tableau en reliant le shift register à l opérateur Initialize Array et d ajouter une fonction Wait pour ralentir le fonctionnement du programme. Exécuter le programme et observer le XY Graph situé à l intérieur de la boucle se construire point par point, et celui situé à l extérieur de la boucle s afficher à la fin du programme. Sauver ce VI sous le nom Tracé d'une courbe XY point par point.vi. Les «Formula Node» 25. Utilisation du Formula Node pour écrire des formules mathématiques : Ouvrir le VI Operation Simple.vi et le sauver sous le nouveau nom Operation avec Formula Node.vi. On va remplacer les opérateurs arithmétiques par un Formula Node, accessible via les menus Functions, Structure. Placer une entrée 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 entrée et Y en sortie). Ecrire dans le cadre la formule à effectuer suivie d'un point virgule comme sur l exemple Y=2*X+3; et tester son fonctionnement. Essayer ensuite une formule à plusieurs variables d'entrées et calculer par exemple z=cos(2*pi*sqrt(y*y+x*x)). 11/14

Les variables locales 26. 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 d une séquence à une autre, mais plutôt 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 donnée 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 contrôleur et de l indicateur déjà présents, un autre indicateur numérique que vous nommez X. Envoyer, dans la 1 ère étape de la séquence, le résultat de l opération (fois 2) dans le nouvel indicateur numérique X et l associer à une variable locale via Fonction, Structure, Local puis «clic gauche» dessus pour choisir la variable attribuée. Un clic droit sur la variable locale permet de changer ses attributs «Read» et «Write». Ainsi, dans la 3 ème étape, faire apparaître la variable locale associée à cet indicateur X en mode Read via les menus Fonction, Structure, Local puis Select Item. Envoyer la valeur contenue dans cette variable locale dans l indicateur numérique déjà présent. Pour que ce VI soit totalement équivalent à Utilisation Sequence.vi, il faut faire disparaître du panneau avant l indicateur numérique X, pour cela utiliser l option Hide/Show Indicator depuis le diagramme. Les fichiers 27. Les fichiers «texte» : a) Ouvrir Fichier_Texte_Write.vi dans Demo.llb. Rajouter une constante Path pour que le chemin d accès soit dirigé sur votre répertoire (voir le paragraphe du manuel correspondant à ce sujet). Comprendre comment fonctionne le programme et l utiliser pour créer le fichier MonPremierEssai.txt constitué d enregistrements de deux nombres réels (attention, le suffixe «.txt» est important). b) Ouvrir Fichier_Texte_Read.vi dans Demo.llb. Comprendre comment fonctionne le programme et l utiliser pour relire le fichier MonPremierEssai.txt créé précédemment. c) Ouvrir Fichier_Texte_Write_Seq.vi dans Demo.llb. Modifier la constante Path pour que le chemin d accès soit dirigé sur votre répertoire. Comprendre le programme. Quelle est la différence par rapport à Fichier_Texte_Write.vi? Modifier-le, après l avoir sauvegardé sous le nouveau nom Mon_Fichier_Texte_Write_Seq.vi pour qu il enregistre en plus, en première colonne, l indice i de la boucle. Utiliser ce VI pour créer MonDeuxièmeEssai.txt. d) Tout l intérêt du format d enregistrement «texte» est de pouvoir relire simplement les fichiers avec n importe quel autre logiciel. Essayer de relire MonDeuxièmeEssai.txt avec le Notepad de Windows. Utiliser maintenant le logiciel 12/14

d analyse de données Kaleidagraph pour tracer la troisième colonne de MonDeuxièmeEssai.txt en fonction de la seconde. Simulation d une mesure bruitée et filtrage 28. Génération d une mesure bruitée : Ecrire un programme qui simule un signal de 5 V, sinusoïdal à 350 Hz, auquel se rajoute un bruit fluctuant de manière aléatoire entre -2 et +2 V, et un signal sinusoïdal de 50 Hz et d amplitude contrôlable. Enregistrez votre signal dans un fichier texte. Sauver ce programme sous le nom SimuleBruit.vi. 29. Utilisation d un filtre : Utilisez un filtre (Functions, Signal Processing, Filters) pour supprimer le 50 Hz et le bruit aléatoire. Comparer graphiquement le signal originel non bruité et le signal réel filtré. Enregistrez votre signal filtré dans un fichier texte. Sauver le programme sous le nom UtilisationFiltre.vi. 30. Traitement de données avec Kaléidagraph Vous allez maintenant simuler un signal expérimental «bruyant» et effectuer un traitement de celui-ci avec le logiciel Kaléïdagraph qui vous est fourni pour les futurs projets. Vous trouverez une aide pour l utilisation du logiciel en annexe du poly. Utilisez Kaléidagraph et ses fonctions de fit pour extraire la fréquence et l amplitude du signal physique simulé dans l exercice précédant, pour le signal brut et le signal filtré. Etudiez la précision de ces résultats en fonction de l amplitude du bruit et du 50 Hz qui se rajoute au signal physique. Vous pourrez également essayer différents filtres et voir si cela améliore la détermination des paramètres. Mesure à intervalles fixes ou contrôlés par l utilisateur 31. Simulation d une mesure : Ecrire un programme simulant une mesure de température fluctuant de manière sinusoïdale autour d une valeur moyenne qui augmente linéairement de 300K à 1500K. A chaque température, on associe une mesure de tension fictive V = 4*T+5. Sauver ce programme sous le nom TempeCroiss.vi.. 32. Prise d une mesure à intervalles réguliers : Ecrire un programme qui simule une mesure de température (à l aide de TempeCroiss.vi) et qui sauvegarde régulièrement les mesures de température (1 mesure sur 5 par exemple) dans un fichier. Sauver ce programme sous le nom Acquisition Reguliere.vi. 13/14

33. Prise d une mesure à la demande : Ecrire un programme qui simule une mesure de température (à l aide de TempeCroiss.vi) lorsque l utilisateur appuie sur un bouton «MESURE». Prévoir également un bouton «ARRET» pour quitter le programme. Sauver ce programme sous le nom Acquisition à la demande.vi. Flux et Nœuds 34. Gestion du flux d informations : Écrire un programme qui incrémente une valeur initiale (choisie en face avant par l utilisateur) toutes les secondes. Le résultat de l incrément devra apparaître en face avant, en utilisant le numeric qui contenait la valeur initiale. Utilisez une boucle while et un bouton stop pour arrêter le programme. Puis créer une deuxième boucle while, parallèle à la première, pour faire un affichage asynchrone : un indicateur placé dans cette boucle devra afficher la valeur du résultat toutes les deux secondes. Le bouton stop devra arrêter les deux boucles en même temps. Remarque : pour pouvoir utiliser un booléen en variable locale, il faut paramétrer sa «Mechanical Action» sur «Switch». 14/14