1 Présentation de Labview LabVIEW est un langage de programmation graphique destiné au développement d'applications d'instrumentation : acquisition par l'intermédiaire de cartes externes et restitution de données, analyse et traitement des données, présentation et stockage des données puis éventuellement exportation de celles-ci. Une application développée sous LabVIEW est appelée Instrument Virtuel (Virtual Instrument : VI) car on reconstruit la face avant d'un instrument réel. La création d'un VI se compose de deux éléments liés: La «face-avant» (= interface utilisateur) qui présente le panneau de contrôle de l'instrument virtuel. Le diagramme est le programme de l'application écrit sous la forme d'un diagramme de flux de données. Lancez LabVIEW puis choisissez «VI vide». Les icônes et palettes importantes sont les suivantes: : 1. Exécution du programme : boutons 2. Exécution en continu disponibles aussi bien sur la 3. Bouton d'arrêt face avant que le diagramme 4. Bouton Pause/Reprendre Palette «outils» (face avant ou diagramme) Palette «commandes» (uniquement sur la face avant) L'icône supérieure indique le mode automatique lorsqu'elle est verte : LabVIEW essaye de prendre le bon outil en fonction de vos actions. 1. Le doigt permet de changer la valeur d'une commande, 2. La flèche permet de positionner, de dimensionner et de sélectionner les objets, 3. L'outil Bobine permet de relier les objets par des fils, 4. La main permet de déplacer la zone de visualisation, 5. Le cercle rouge permet de poser un point d'arrêt dans un programme, 6. L'outil Sonde permet de visualiser les données sur les fils Dans cette palette vous avez accès à tous les éléments pour composer la face avant. Dans la capture ci-contre vous avez les éléments du style «Argent». Par exemple dans la rubrique «Booléen» vous trouverez les boutons poussoirs et les DELs : ce sont des booléens car ils ne fournissent que deux états : Vrai ou Faux. Olivier DARTOIS Page 1/8
Dans la rubriques «numérique», vous trouverez les boutons rotatifs, les thermomètres, les jauges,etc... Dans tous les cas, on appelle indicateurs des objets qui visualise des données (jauges, DELs,etc...) et commandes des objets qui fournissent des données (boutons poussoirs, rotatifs, etc...). Palette «Fonctions» (uniquement sur le diagramme) Cette palette permet d'accéder à l'ensemble des objets représentant les instructions ou fonctions du langage permettant de constituer un programme LabVIEW. Vous trouverez par exemple les boucles, les tests, le traitement de chaines de caractères ou encore les fonctions mathématiques. 2 Conversion d'une température donnée en C en F Vous souhaitez réaliser un programme qui réalise la conversion C vers F. La face avant doit se présenter comme ci-dessous et le diagramme doit être complété par vos soins : Pour modifier les propriétés des différents éléments graphiques, faites un clic droit dessus puis choisissez propriétés. Parcourez les différents onglets pour modifier les paramètres souhaités. Compléter le diagramme pour réaliser la conversion avec la formule suivante: F = ( (9 x C) / 5 ) + 32 Lancez l'exécution avec le bouton «Exécution en continu» puis faites varier le bouton de réglage pour vérifier que les deux thermomètres réagissent correctement. Remarques : les objets du diagramme avec un bord épais sont des «commandes», les objets avec un bord fin sont des «indicateurs». La couleur des objets est ici orange ce qui signifie que l'on travaille avec des nombres de type «double» (nombre à virgule double précision). 3 Afficher des graphiques Il existe trois grand type de graphiques utilisables dans LabVIEW: Olivier DARTOIS Page 2/8
1. Le «graphe» : cet indicateur permet de tracer des courbes à la manière d'un oscilloscope. 2. Le «graphe déroulant» : il permet de tracer des courbes comme sur un enregistreur papier en fonction du temps. 3. Le «graphe XY» : cet indicateur permet de tracer des courbes paramétriques à la manière d'un oscilloscope en mode X-Y. Ces indicateurs sont accessibles lorsque vous êtes sur la face avant par «argent» puis «graphe». 3.1 Utilisation du graphe déroulant Nous allons en profiter pour introduire des éléments nouveaux : une boucle de type «while» : cette boucle permet de faire fonctionner le programme jusqu'à ce qu'une condition soit satisfaite, le tirage aléatoire d'un nombre compris entre 0 et 1 : cette fonction permet d'obtenir un nombre compris entre 0 et 1 pour générer simplement une suite de nombre, un temps d'attente à chaque boucle : sinon l'exécution du programme est trop rapide, la création en 1 clic de commande ou de constante... Réalisez le diagramme suivant dans un nouveau VI: Ajout d'une constante de type entier (bleu) qui précise le temps d'attente en ms. Faites un clic droit sur le temps d'attente puis choisissez «Créer une constante» Temps d'attente en ms Programmation puis Infos temporelles Boucle while Programmation puis Structures Tirage aléatoire d'un nombre : Programmation puis numérique Fourni le nombre d'itérations de la boucle while Condition d'arrêt de la boucle While Ajout d'un bouton «Stop» dans la face avant pour arrêter le programme. Faites un clic droit sur la condition d'arrêt puis choisissez «Créer une commande» Passez sur la face avant, lancez l'exécution et observez l'évolution du graphe déroulant. Pour arrêter l'exécution du programme cliquez sur le bouton «STOP». Modifiez les propriétés du graphe déroulant, changez le temps d'attente, rajoutez une multiplication sur le tirage du nombre aléatoire, rajoutez une commande (par exemple un bouton rotatif) pour faire varier le temps d'attente...bref expérimentez! Pour afficher plusieurs traces sur le même graphe déroulant, il faut «assembler» les données avec un outil qui s'appelle «assembler» dans «programmes» puis «cluster, classe et variant». Rajoutez sur le diagramme précédent un autre tirage aléatoire, assemblez les deux tirages en un seul Olivier DARTOIS Page 3/8
puis diriger le flot de données vers le graphe déroulant. Revenez sur la face avant puis lancez l'exécution, si les courbes sont séparées, vous pouvez les superposées en cliquant avec le bouton droit sur l'une d'entre-elle et en choisissant «superposer les tracés». 3.2 Utilisation du graphe Contrairement au graphe déroulant qui affiche les données au fur et à mesure ou elles arrivent, le graphe affiche les données d'un seul coup. Il faut donc lui fournir l'ensemble de ces données en une seule fois. Dans l'exemple ci-dessous on génère 20 points à partir d'une boucle «for» puis on envoie ces points au graphe et ceci toutes les 500ms. Nombre d'itérations de la boucle for. Clic droit sur le 'N' de la boucle puis créer une constante Boucle 'for' Programmation puis Structures On passe d'un nombre flottant (trait fin) à un tableau de nombre flottant (trait épais) Saisissez cet exemple puis testez-le. Modifiez différents paramètres du diagramme. 3.3 Utilisation du graphe XY Saisissez le diagramme suivant, lancez-le puis expliquez son fonctionnement: Commentaires: Olivier DARTOIS Page 4/8
4 Acquisition de données Nous allons essentiellement travailler avec un matériel d'acquisition de chez National Instrument d'entrée de gamme : le USB6008/6009. La documentation technique de ce matériel est donnée en annexe. Branchez l'appareil sur un port USB. Si LabView est correctement le pilote va être automatiquement installé. Pour tester le matériel d'acquisition vous pouvez utiliser le logiciel MAX : Measurement & Automation explorer. Ce logiciel vous est présenté pendant la formation mais pas dans cette documentation. 4.1 Générer et acquérir une tension continue A l'aide d'un fil reliez la sortie AO0 (Analog Out zero) avec l'entrée AI0. Lancez LabVIEW. Dans la face avant rajoutez un bouton rotatif et un graphe déroulant. Basculez sur le diagramme, nous allons tout d'abord rajouter un sous-ensemble qui pilote la sortie analogique AO0. Pour cela cliquez sur «E/S de mesures» puis «DAQmx Acquisition de données» puis l'icône «Assistant DAQ». A partir du moment ou vous déposez l'icône sur le diagramme, un assistant vous guide. Vous choisissez tout d'abord si vous souhaitez «Acquérir des signaux» ou «Générer des signaux». Dans notre cas on veut générer une tension sur une sortie analogique». Vous remarquez que l'on peut aussi piloter un compteur ou des sorties «Tout Ou Rien» (TOR). Cliquez sur «Suivant». Vous choisissez ici sur quel matériel vous allez travailler. Nous n'avons qu'un seul matériel : le USB6008 qui s'appelle «Dev2». Vous avez automatiquement le nombre de voies analogiques en sortie dont dispose l'appareil. Choisissez «ao0» puis cliquez sur le bouton «terminer». Il faut maintenant configurer plus précisément la tension que peut générer l'appareil. Dans la capture ci-contre il faut régler la gamme du signal de sortie (possible de -10V à +10V, réglé ici de 0V à 5V), la configuration du terminal (la plupart du temps vous prendrez «Asymétrique référencée» et enfin dans «Paramètres de cadencement» on prendra «1 échantillon sur demande». Pour terminer et insérer ce composant dans le diagramme, cliquez sur le bouton «OK» Olivier DARTOIS Page 5/8
Nous allons rajouter un second assistant DAQ mais cette fois-ci pour faire l'acquisition d'une voie analogique. Reprenez les étapes précédentes en choisissant «Acquérir des signaux» puis «Entrée analogique» et «Tension». Choisissez ensuite la voie sur laquelle vous allez numériser cette tension (dans notre cas ai0) et enfin réglez ces paramètres comme dans la capture ci-dessous. Complétez votre diagramme pour que votre programme soit fonctionnel et configurez les éléments de la face avant. Vous pouvez obtenir par exemple : 4.2 Un exemple d'application Vous souhaitez commander la température d'un four. Pour cela vous disposez d'un élément chauffant (dans notre montage une ampoule halogène), d'un élément pour ventiler (un ventilateur) et d'un capteur de température. Olivier DARTOIS Page 6/8
La commande de chauffage se fait avec une tension analogique comprise entre 0V et 5V. La commande du ventilateur se fait avec une tension analogique comprise entre 0V et 5V. La température est fourni sous la forme d'une tension analogique : 0V à 0 C et +20mV/ C. Proposez une face avant et un diagramme qui permet de tester l'élément chauffant, le ventilateur et de visualiser la température. Proposez une face avant et un diagramme qui permet de chauffer jusqu'à atteindre une température de consigne. Une fois cette température atteinte vous activerez le ventilateur pour refroidir l'ensemble pendant 20s. La température sera disponible sur un graphe déroulant en C. Il faudra utiliser une structure «Séquence déroulée» et des variables locales... Prototype d'une carte: Alimentation 12V/2A Ventilateur 12V Dans l'ordre de haut en bas: 1. Masse 2. Analog In 0 3. Analog In 1 4. Analog Out 0 AO0=capteur de température Lampe halogène 12V/20W Capteur de température Olivier DARTOIS Page 7/8
5 Annexes Documentation technique d'un boitier NI USB-6008/6009: Olivier DARTOIS Page 8/8