Académique Documents
Professionnel Documents
Culture Documents
Initiation au langage de
programmation graphique LabVIEW
> Cours n°1
Février 2017
1
D’après cours et documents LabVIEW : N. Pousset, G. Ged et National Instruments
Exemple – Chaîne de mesures
Conditionnement Numérisation
Phénomène Physique Capteur Mesure / Acquisition (DAQ)
Ex : flux lumineux
Contrôle d’instruments*
Interfaçage Acquisition des données
Traitement du signal
Analyse Traitement statistique
Affichage de courbes
Présentation Stockage de données
2
* Multimètre, oscilloscope, générateur tension, moteur, caméra,…
Qu’est-ce que LabVIEW ?
photo BIPM
Laboratory Virtual Instrument Engineering Workbench
Langage Machine
Code assembleur
Langage C …
Langage Graphique
La programmation graphique
Graphique, c’est :
• Moins de syntaxe
• Plus compréhensible
• Parallèle de manière implicite
• Des algorithmes rapides à implémenter
4
Programmez en suivant votre pensées :-/
photo BIPM
5
Principales fonctionnalités de LabVIEW
photo BIPM
Programmation graphique
Programmation avec des blocs de fonctions graphiques
au lieu de lignes de commande.
7
Principales fonctionnalités de LabVIEW
E/S et communication
Communication à un instrument ou un capteur avec des bibliothèques
intégrées et des drivers d'instruments
8
Principales fonctionnalités de LabVIEW
Commandes personnalisées
Modification aisée de la position, la taille et la couleur des objets
de l’interface ou création personnalisée d’objets.
9
Principales fonctionnalités de LabVIEW
Support de multiples OS
Windows, Mac, Linux, « Temps Réel »
FPGA et microprocesseurs
Architectures embarquées, comme les microcontrôleurs ARM et FPGA
avec la même approche graphique
10
LabVIEW en quelques mots
photo BIPM
11
Le côté ludique de LabVIEW
> LEGO Mindstorms NXT 2.0 / EV3
> PS4 Controller
Moteurs
Palpeurs youtu.be/_TNH-nVCQf4
Emetteur/récepteur
Emetteur récepteur ultrasons
lumineux youtu.be/RHdiBvpq7Dg
youtu.be/5fAn5A0HbhU
tsxperts.com/labviewforraspberrypi/
youtu.be/2tm2VKjkNKc labviewmakerhub.com
Vidéothèque NI : france.ni.com/videotheque
Le site developpez.com : labview.developpez.com
LabVIEW MakerHub : labviewmakerhub.com
LAVA: Favorite Tips & Shortcuts : lavag.org
Darren’s LabVIEW Nuggets : decibel.ni.com/content/docs/DOC-4002
13
30 ans d’évolution de LabVIEW
14
La notion essentielle : Virtual Instruments (VI)
. VI = Programmes sous LabVIEW
On parle d’instruments virtuels car leur apparence et leur fonctionnement sont
semblables à ceux d’instruments réels, tels que les oscilloscopes et les multimètres
= Virtual Instrument
Icône / Connecteur
15
Face-avant d’un VI (Exemple)
Commandes = Entrées
Indicateurs = Sorties Barre de menu Barre d’outils Connecteur Icône
Graphique
(indicateur)
Indicateurs numériques
Contrôles numériques
Contrôle booléen
Zone de recherche
Aide contextuelle
Exécuter le VI (programme)
Exécuter en continu le VI
Arrêter le VI
Pause / Reprendre
Configurer le texte (taille, style, couleur,…)
Aligner les objets
Egaliser l’espacement entre les objets
17
Diagramme d’un VI (Exemple)
Barre de menu Barre d’outils Icône (personnalisable)
Constante numérique
Commentaires
Fils de données
Boucle While
Zone de recherche
Aide contextuelle
Animer l’exécution
anime le diagramme afin de voir l’évolution des données.
Terminer l’exécution
poursuit l’exécution du programme jusqu’à son terme.
Nettoyer le diagramme
réorganise automatiquement le code ou une portion du code.
19
Palettes de commandes et de fonctions
Palette Contrôle Palette Fonctions
(uniquement face avant (uniquement diagramme
par un clic droit) par un clic droit)
Palette Outils
Accessible en permanence
21
Les types de fils de liaison : Couleur, style et épaisseur
Un « fil de liaison brisé » est le résultat d’un conflit entre des types de données…
C’est à vous d’y remédier ou votre code ne fonctionnera pas !
22
* Sous LabVIEW 7.1, les fils d’erreurs sont mauves
Les types de données
photo BIPM
Caractère
Booléen
Nombre entier
Nombre complexe
Cluster d’erreur
Tableau 1D
Tableau 2D
Donnée dynamique
Matrice
23
Les fonctions de base
Etiquette
24
Complexité des fonctions en fonction des besoins
• Plus puissants
VIs
• Flexibles
Bas niveau • Difficiles d’utilisation
25
Bibliothèques intégrées de fonctions pour l’ingénierie
Algèbre Linéaire
Génération
de signaux
Filtrage
Ajustements
Booléen
Comparaison Tableau
CTRL R Lancer le VI
Et les classiques…
27
* Certains raccourcis clavier ne fonctionnent pas sous LabVIEW 7.1 !
*Quelques raccourcis clavier – La suite
Création, Sauvegarde
Palette Outils LabVIEW
CTRL N Ouvre un VI vide
TAB Change d’outil en mode manuel
CTRL O Ouvre un VI existant
CTRL S Sauvegarde le VI Et encore…
CTRL W Ferme le VI CTRL D
28
* Certains raccourcis clavier ne fonctionnent pas sous LabVIEW 7.1 !
Aide contextuelle
photo BIPM
CTRL H
Aide Contextuelle
• Aide détaillée
• Verrouillage de l’aide
• Choix du mode de l’aide
(simple ou détaillée)
29
Exercice 1 : Mon 1er VI - Opérations basiques
• Le programme (VI) doit calculer à partir de 2 nombres X1 et X2 fournis par l’utilisateur :
- la somme X1 + X2 ;
- la multiplication de X1 avec une constante ;
- le carré X2².
• A partir d’un VI vide, on utilisera des commandes numériques pour X1 et X2 et pour les
résultats de chaque calcul, des indicateurs numériques.
Face-avant
30
Exercice : Opérations basiques
La solution DEMO
Face-avant
Commandes Diagramme
Commandes
Indicateurs
Indicateurs
31
Exercice : Programmation par flux de données
1. Reproduire le VI suivant
32
Exercice : Programmation par flux de données Solutions
33
Notion de programmation par flux de données [1/2]
Terminaux Nœud
d’entrée Terminal de sortie
34
Notion de programmation par flux de données [2/2]
• Chaque nœud du diagramme s’exécute uniquement
lorsqu’il reçoit toutes les données en entrée.
• Chaque nœud produit des données en sortie après l’exécution.
• Les données circulent le long d’un chemin défini par les fils de liaison.
• La direction dans laquelle les données se déplacent détermine l’ordre
d’exécution.
35
www.ni.com/getting-started/labview-basics/f/dataflow
Débogage d’un VI
2. Animer l’exécution
Cliquer sur , les données dans des bulles sont animées.
Des valeurs sont indiquées sur les fils.
Cliquer au choix sur pour exécuter le VI étape par étape.
3. Outil « Sonde »
Clic droit sur un fil pour afficher une sonde.
Les données qui transitent sur ce fil seront affichées.
Il est également possible de choisir l’outil « Sonde »
que l’on trouve dans la palette d’outils.
36
Débogage d’un VI : DEMO / Exercice
37
Débogage d’un VI : DEMO / Exercice -> Solution
38
Les Boucles
• La boucle « WHILE » (Tant Que / Jusqu’à) Boucle « WHILE »
Boucle « FOR »
• La boucle « FOR » (Pour)
• S’exécute N fois grâce au terminal
• Possède un compteur d’itération
• commence toujours à 0
• Pour = 4, vaut successivement 0, 1, 2 et 3
39
Génère un nombre aléatoire entre 0 et 1.
Boucles en textuel et équivalence en LabVIEW
40
Exercice : Conversion °C K et °F
Le programme doit renvoyer continuellement en kelvins (K) et en degrés Fahrenheit (°F) une
valeur d’entrée unique en degrés Celsius (°C).
Le programme s’arrêtera lorsque l’utilisateur enclenchera un bouton en face-avant.
1. A partir d’une valeur d’entrée unique en °C, la convertir en K et en °F. On donne :
Equivalences
T(K) = T(°C) + 273,15
T(°F) = T(°C) × 1,8 + 32
4. Ajouter un afficheur LED qui s’allumera lorsque l’on appuie sur ce bouton « STOP ».
5. Modifier le VI pour qu’il s’arrête lorsqu’on appuie sur « STOP » OU si la valeur d’entrée est
supérieure ou égale à 50 °C.
Diagramme (Question 5)
Question 6