Introduction
à
LabVIEW
Edition 2003-2004
R. Decourt
P. Dordor
Chapitre 1 Introduction à LabVIEW 7
A. LabVIEW 7
B. Les Instruments Virtuels 7
C. Environnement LabVIEW 9
Les fenêtres de la face avant et du diagramme 9
Barre d’outils de la face avant 10
Barre d’outils du diagramme 10
Menus contextuels 11
Menus 11
Palettes 11
Palette d’outils 11
Palette de commandes 12
Palette de Fonctions 13
Chargement de VIs 13
Enregistrement des VIs 14
D. Aide et Manuels 15
Aide contextuelle 15
Aide LabVIEW 16
Chapitre 2 Création, Modification, mise au point d’un VI 17
A. Création d’un VI 17
Face Avant 17
Contrôles et indicateurs booléens 17
Configuration des contrôles et des indicateurs 17
Diagramme 18
Nœuds 18
Terminaux 18
Câblage automatique des données 19
Programmation par flots de données 19
Recherche de contrôles, de VIs et de fonctions 20
B. Techniques de modification 22
Création d’objets 22
Sélection d’objets 22
Effacement des objets 22
Annuler /Rétablir 22
Duplication des objets 22
Nommer les objets 23
Sélection ou suppression de fils 23
Fils cassés 23
Modification de la police, du style ou de la taille du texte 24
Modification de la taille des objets 24
Alignement et distribution des objets 24
Ordonner, Regrouper, Bloquer des objets 24
Changer la couleur des objets 24
Recherche des erreurs 25
Visualisation du flot de données 25
Pas à pas 25
Probes 26
Points d’arrêt 26
D. Résumé et astuces 26
Conseils et astuces 26
Raccourcis 26
Modifications 27
Câblage 27
Chapitre 3 Créer un sous VI 29
A. Sous VI 29
B. Icône et connecteur 29
Définir le connecteur 30
Sélectionner ou modifier le motif du connecteur 31
Affectation de terminaux aux commandes et aux indicateurs 31
C. Utilisation des sous VIs 33
Ouverture édition de sous VIs 33
D. Création d’un sous VI à partir d’une sélection. 34
Chapitre 4 Boucles et graphiques 35
A. Boucles de répétition conditionnelles (While) 35
B. Les graphes déroulants 36
Action mécanique des interrupteurs 38
Gamme des données. 40
C. Registres à décalage 41
Initialisation des registres 42
D. Boucles For 43
Chapitre 5 Tableau, Graphes et clusters 45
A. Les Tableaux 45
Créer des tableaux sur la face avant. 45
Tableaux de constantes 46
B. Auto Indexation 46
Boucles et tableaux 2D 46
C. Fonctions sur tableaux 47
Polymorphisme et tableaux 48
D. Graphes fonction du temps et graphes XY 49
Les Graphes 49
En mono courbe 49
Les graphes XY 50
En mono courbe 50
Multi courbes 50
Graphe multi courbes 51
E. Clusters 53
Créer des clusters sur la face avant 53
Ordonner les Cluster 53
F. Foncions sur Cluster 54
Assembler & Assembler par nom 54
Désassemblage des clusters 55
Chapitre 6 Structures de choix, séquences et nœuds de calcul 57
A. Structure de choix 57
Tunnels d’entrée/sortie 57
Structure de choix sur booléen 57
Structure de choix sur entier 58
Structure de choix sur chaîne 58
Sélection des choix 58
B. Les Séquences 60
Variable locale de séquence 60
C. Boîtes de calcul et nœuds d’expression 61
Nœuds d’expression 61
Boîtes de calcul 62
Chapitre 7 Chaînes et Entrées/Sortie fichier 65
A. Chaînes 65
Créer des commandes et des indicateurs de type chaîne 65
Tables 66
B. Fonctions sur chaîne 66
Chaînes et Nombres 66
C. Entrées/Sorties sur fichier 68
Fonctions de haut niveau 68
Fonctions de bas niveau 68
Fonctions de base 68
Gestion des erreurs 69
Chapitre 8 Acquisition de données 73
A. Aperçu 73
Configuration matérielle 73
Examen de la configuration 74
Tester les E/S de la carte. 74
B. VIs d’acquisition 74
VIs simples 75
VIs utilitaires 75
VIs avancés 75
C. Entrées analogiques 75
Nom de voies DAQ 75
D. Entrées analogiques type Waveform 77
Donnée type Waveform 77
E. Sorties analogiques 78
Génération de Waveform 78
Chapitre 9 Contrôle d’instruments 81
A. Généralités 81
B. Configuration et Communication GPIB 81
Architecture du logiciel 81
Configuration du logiciel 82
C. Communication avec les instruments 84
Caractéristiques propres d’un appareil 84
Etapes essentielles d’une communication PC <=> périphérique 85
Sources d’erreurs classiques 86
Vi’s spécifiques à l’interface GPIB ou RS 232C 87
Visa 87
Utilisation des VISA 88
E. Driver d’instrument 89
Exemple d’application simple 90
F. Communications et configuration série 93
Paramétrages possibles 93
Visa et liaison série 94
Ce chapitre présente les concepts de base de LabVIEW.
Objectifs:
A. Ce qu’est LabVIEW.
B. Ce qu’est un instrument virtuel (VI).
C. L’environnement LabVIEW.
D. L’aide en ligne et les manuels.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) est un langage de programmation dédié au contrôle d’instruments et l’analyse de données. Contrairement à la nature séquentielle des langages textuels, LabVIEW est basé sur un environnement de programmation graphique utilisant la notion de flot de données pour ordonnancer les opérations.
LabVIEW intègre l’acquisition, l’analyse, le traitement et la présentation de données.
• Pour l’acquisition de données et le contrôle d’instruments, LabVIEW supporte les standards RS-232/422, IEEE 488 (GPIB) et VXI, ainsi que les cartes d’acquisition de données.
• Pour l’analyse et le traitement des données, la bibliothèque d’analyse étendue contient les fonctions pour la génération et le traitement de signaux, les filtres, les fenêtres, les statistiques, la régression, l’algèbre linéaire et l’arithmétique matricielle.
• LabVIEW intègre un grand nombre d’éléments de présentation tels les graphes déroulants, des graphes XY, des abaques de Smith, jauges, cadrans à aiguille…
Les programmes LabVIEW s’appellent des Instruments Virtuels (VIs). Ces VIs ont trois parties principales : la Face Avant, le Diagramme et l’Icône/Connecteur.
Vous construisez la face avant en plaçant des éléments graphiques accessibles dans une palette. Vous disposez de boutons, d’indicateurs numériques et de chaînes, de graphes, de LEDs, de listes déroulantes, de menus…
Chaque objet déposé sur la face avant génère dans le diagramme un symbole appelé Terminal. Ce terminal contient la valeur de l’objet graphique correspondant. Le symbole représente le type de la donnée (par ex. DBL pour double), le sens du flot, (maigre avec une flèche à droite s’il s’agit d’un indicateur, gras avec une flèche à gauche s’il s’agit d’une commande)
Le diagramme contient les terminaux, les sous VIs, les fonctions, les constantes, les structures ainsi que les fils qui relient les différents objets pour leur transmettre les données.
L’exemple suivant montre une face avant et le diagramme correspondant :
Après avoir construit la face avant et le diagramme, vous pouvez créer son icône et son connecteur. Si ce VI est utilisé dans un autre VI, il devient un Sous VI, il correspond à une routine dans un langage classique, le connecteur représente alors les paramètres entrant et sortant de la routine. L’icône identifiera le VI comme le ferait le nom de la routine. La hiérarchisation des applications facilite grandement la réutilisation du code et le déboguage.
Au lancement de l’application, la boite de dialogue suivante apparaît.
Elle permet les actions suivantes:
• Nouveau VI permet d’ouvrir une face avant et un diagramme vierge. Le fait de cliquer sur la flèche de la liste déroulante permet de créer d’autres types d’objets LabVIEW (des contrôles personnalisés, des variables globales, des VIs polymorphes…).
• Ouvrir VI permet d’ouvrir un VI existant, la flèche de la liste déroulante donne accès aux VIs récemment ouverts.
• Exemples ouvre une boite de dialogue permettant de trouver des exemples classés par thème.
• Tutorial LabVIEW ouvre le guide d’apprentissage.
• Quitter ferme LabVIEW.
Lorsque l’on ouvre un nouveau VI, une fenêtre de face avant et une fenêtre de diagramme apparaissent. L’illustration suivante présente les principaux éléments de ces deux fenêtres.
La barre d’outils suivante est présente sur la face avant, elle donne accès aux outils d’exécution et de présentation.
Lance l’exécution du VI.
Indique que le VI est en cours d’exécution et qu’il s’agit d’un VI de niveau supérieur (il n’a pas été appelé par un autre VI).
Indique que le VI est en cours d’exécution et qu’il s’agit d’un sous VI (il a été appelé par un autre VI)
Le bouton d’exécution apparaît brisé : le VI n’est pas exécutable (il contient des erreurs).
Relance continuellement le VI après chaque fin d’exécution (équivalent à déposer le VI dans une boucle infinie). Les boutons stop ou pause arrêtent l’exécution.
Arrête l’exécution du VI.
Note Le bouton stop ne doit servir d’arrêt que lors des phases de mise au point, il faut prévoir une structure de programmation capable de finir correctement l’exécution du VI !
Suspend l’exécution du VI, l’icône devient rouge pour indiquer que le Vi est en pause, Appuyer de nouveau sur le bouton pour continuer l’exécution.
Permet de choisir la fonte, la graisse, la couleur…d’un champ contenant du texte.
Permet d’aligner des objets.
Permet d’égaliser l’espacement entre objets.
Change le plan d’un objet, pour permettre des superpositions.
La barre d’outils suivante est présente sur le diagramme, elle donne accès aux outils de mise au point et de présentation.
Entre dans une structure ou dans un sous VI, lors de l’exécution pas à pas. Chaque structure ou sous VI se met à clignoter lorsqu’il est prêt à être exécuté.
Saute l’exécution détaillée d’une structure ou un VI lors de l’exécution pas à pas.
Termine l’exécution détaillée d’un boucle ou d’un sous VI.
Dénote un problème d’exécution potentiel, mais n’empêchant pas le programme d’être exécuté. Cette option n’est pas naturellement active, on y accède par Outils»Options»Déboguage.
La plus part des objets présents dans les fenêtres de face avant et de diagramme possèdent des menus contextuels accessibles par un clic droit de souris.
Une partie des menus contient des fonctions classiques d’enregistrement, d’édition, de changement de fenêtres… . D’autres sont spécifiques à LabVIEW.
Note : les menus sont parfois inhibés lorsque le VI est en cours d’exécution.
• Fichier donne accès à l’ouverture, l’enregistrement ou l’impression de VIs.
• Edition permet les copier/coller, la recherche, la création de menus…
• Exécution exécute, arrête, accède aux options d’exécution d’un VI.
• Outils facilite par le biais d’outils spécifiques, la communication avec des instruments, l’édition de bibliothèques, la comparaison de VIs, la configuration du serveur WEB…
• Parcourir facilite la navigation dans un VI et dans sa hiérarchie.
• Fenêtre accède aux fenêtres de l’application et aux palettes d’outils.
• Aide affiche l’aide, donne accès aux exemples...
LabVIEW possède trois palettes flottantes respectivement nommées: Outils, Commandes, et Fonctions.
Note : Il est possible de faire apparaître temporairement la palette d’outils en appuyant sur la touche maj. et en faisant simultanément un clic droit.
Active la sélection automatique des outils. Dans ce mode, LabVIEW choisit l’outils adapté en fonction de l’emplacement du curseur (pas toujours très pratique). On peut lui préférer le raccourci clavier « touche espace », qui commute les deux outils des plus utilisés (sélection et doigt dans la face avant, sélection et bobine dans le diagramme) ou la « touche Tab » qui propose successivement les quatre outils les plus courants.
L’outil « doigt » change la valeur d’une commande, sélectionne un texte, Le curseur adopte la forme lorsqu’il est placé dans une zone contenant des caractères.
L’outil « flèche » sélectionne, déplace, redimensionne les objets. Il adopte l’une des formes suivantes lorsqu’il est sur l’angle d’un objet redimensionnable.
L’outil « édition de texte » permet de changer les étiquettes, d’éditer des objets de type caractère et de placer du texte libre dans une fenêtre.
L’outil « bobine » sert au câblage des VI’s.
Accède au menu contextuel par un clic à gauche (utilité douteuse !).
Pour se déplacer dans une fenêtre sans les ascenseurs.
L’outil « point d’arrêts » définit l’emplacement sur le diagramme où le programme passera en pause pour permettre le déboguage.
L’outil « sonde » visualise la valeur de connections particulières.
L’outil « pipette » mesure la couleur d’un point.
Le pinceau colorie un objet.
Elle est accessible dans le diagramme par les mêmes méthodes que celle de commandes. Elle contient l’ensemble des fonctions de LabVIEW.
Lors du chargement la boite de dialogue suivante apparaît (parfois très furtivement).
Le champ Chargement du panneau ci-dessusaffiche le VI en cours de chargement et comptabilise les VIs en mémoire.
Si LabVIEW ne trouve pas un sous VI, il le cherche dans les chemins spécifiés dans le menu Outils»Options»Item Chemin du menu déroulant.
Utilisez les commandes Enregistrer, Enregistrer sous, Enregistrer tout ou Enregistrer avec options du menu Fichier pour enregistrer vos VIs. Il est possible de créer des librairies d’extension .llb regroupant plusieurs VI. Cette fonctionnalité date de l’époque des noms limités à 8 caractères par MSDOS, National Instruments recommande actuellement d’enregistrer les VIs individuellement dans une architecture répertoire/sous répertoire.
LabVIEW utilise des boites de dialogues propres à NI pour les accès fichiers (pour une compatibilité avec d’autres plateformes), cette option peut être désactivée dans le menu Outils»Options»Item Divers du menu déroulant.
Exercice 1-1 : Simulation de réponse en fréquence Objectif: Ouvrir et exécuter un VI.
1. Démarrez l’application LabVIEW.
2. Cliquez sur le bouton Recherche d’exemples. Une boite de dialogue affiche l’ensemble des exemples disponibles.
3. Dans l’onglet Parcourir, chargez Frequency Response VI dans l’arborescence Apps, .
Note Vous accédez aussi aux exemples par le menu Fichier»Ouvrir puis en se déplaçant vers labview\examples\apps\\Frequency .
4. Exécutez le VI en cliquant sur le bouton Run. Ce VI simule un test de réponse en fréquence d’un filtre, et affiche la courbe de réponse sur l’écran.
6. Lorsque vous entrez une valeur numérique, celle-ci n’est prise en compte qu’après validation par le bouton Entrer, ou par la touche Entr du pavé numérique (pas la touche Entrée de la zone alpha qui introduit un retour chariot s’il s’agit d’une zone texte).
7. Relancez le VI de nouveau pour constater les changements effectués.
8. Visualisez la diagramme par le biais du menu Fenêtre» Diagramme ou par le raccourci <Ctrl-E>
Vous y voyez la plupart des éléments disponibles sur un diagramme, des fonctions, des sous VIs, des structures, des notions seront détaillées dans ce cours.
9. En double-cliquant avec l’outil de sélection sur le sous VI suivant. Vous ouvrez la face avant du sous VI nommé Demo Fluke 8840A
La face avant est conçue pour ressembler l’appareil réel c’est pourquoi les applications LabVIEW sont nommées instruments virtuels. La hiérarchisation des applications en sous VIs permet d’améliorer la réutilisation du code.
10. Fermez le sous-VI Demo Fluke 8840A, et gardez le VI Frequency Response en mémoire.
Fin de l’exercice 1-1
LabVIEW possède une aide classique, et une aide contextuelle.
Elle s’affiche soit par le menu Aide»Aide contextuelle soit par le raccourci <Ctrl-H>.
La fenêtre d’aide affiche continûment une information sur l’objet situé sous le curseur. Ce peut être une information sur la nature d’une liaison, le type de données à fournir à un indicateur, le fonctionnement d’un sous VI ou d’une fonction.
Ci-dessous un exemple de contenu d’une aide contextuelle.
Ce bouton affiche ou non les connections optionnelles d’un VI.
Ce bouton fige le contenu de la fenêtre (le déplacement de la souris ne met plus à jours la fenêtre).
Affiche l’aide classique (plus détaillée), a