Vous êtes sur la page 1sur 62

Introduction à

LabVIEW

Ces slides sont en grande partie tirées du cours de


1
Aldo Vaccari, Unité Power & Control / HES-SO Valais, Sion
Contenu du cours – 1ère partie

Chapitre 1
Introduction à LabVIEW

Chapitre 2
Création d’un programme

Chapitre 3
Les Boucles

Chapitre 4
Les tableaux

Chapitre 5
Les graphiques
2
National Instruments

http://www.ni.com
National Instruments Switzerland
Sonnenbergstrasse 53
CH-5408 Ennetbaden
Tél :056 200 51 51 National Instruments Suisse
Fondation : 1990
Fax:056 200 51 55 Directeur : Michael Dams
Fondé de pouvoir : Christian Moser
National Instruments Corporation Employés : 20
Fondation : 1976 à Austin, Texas/USA Siège : Ennetbaden/Zürich
Président/CEO : Dr James Truchard
Employés : environ 4600
Siège social : Siège principal / recherche à Austin.
Production : Debrecen (Hongrie)
Filiales : National Instruments a plus de 40 filiales dans le monde entier.

3
Historique de LabVIEW
„ 1986 - LabVIEW 1 pour Macintosh
„ 1990 - LabVIEW 2 devient un compilateur / version PC
„ 1994 - LabVIEW 3 avec des toolkits
„ 1996 - LabVIEW 4 avec menus configurables
„ 1998 - LabVIEW 5 connectivité, multithreading, undo
„ 2000 - LabVIEW 6i fonctionnalités internet
„ 2002 - LabVIEW 6.1 remote panels et prog événementielle
„ 2003 - LabVIEW 7.0 Express
„ 2004 – LabVIEW 7.1
„ 2005 - LabVIEW 8 orienté projet, shared variables
„ 2006 – LabVIEW 8.20 (20 ans de LabVIEW)
„ 2007 – LabVIEW 8.5
„ 2008 – LabVIEW 8.6
„ 2010 – LabVIEW 9.0 (32 & 64 bits) 4
Programmation graphique

Facile à programmer
„ Temps de développement réduit
„ Interface utilisateur graphique
„ Code source sous forme graphique
„ Programme facilement modulable
„ Application Builder pour créer des exécutables

5
Compatibilité Multi-Plateformes

„ Programmation indépendante
de la plateforme utilisée !

„ Migration possible des


applications entre plateformes

6
Cibles matérielles LabVIEW

7
Chapitre 1
Introduction à LabVIEW

Thèmes :
A. Ce qu’est un ‘Instrument Virtuel’ (VI)
B. L’environnement LabVIEW
C. Les options d’aide LabVIEW

8
Instruments Virtuels (VIs)
„ Front Panel (interface utilisateur)

… Controls = Entrées
… Indicators = Sorties

„ BlockDiagram (écran de
programmation)

… Programme correspondant au front


panel
… Composants “câblés” ensembles
9
Les types de données

Scalaire Tableau 1D Tableau 2D

Numérique(Numeric) Orange (real)


Bleu ( integer)

Booléen (Boolean) Vert

Chaîne de caractères Rose


(String)

Enregistrement (cluster) Brun

Nom de fichier (File Path) Vert foncé

10
Icône/Connecteur

• L’ icône represente un VI dans un


autre ‘block diagrams’
icon

terminals
• Le connecteur permet de passer et de
recevoir des données d’un “sous-VI” au
connector moyen de terminaux.

11
Raccourcis utiles

• Ctrl + e : switch FP / BD
• Ctrl + n : new
• Ctrl + o : open
• Ctrl + s : save
• Ctrl + p : print
• Ctrl + b : clean broken wire
• Ctrl + t : separate FP / BD
• Ctrl + c : copy
• Ctrl + v : paste
• Ctrl + h : context help
• Ctrl + z : undo
• Ctrl + shift + z : redo

12
Démarrage LabVIEW

13
Projet LabVIEW (*.LVproj)

Right Click on my computer and


NEW VI

14
Interface utilisateur (Front Panel)

Barre Icône du VI
d’état Label du
bouton
Contrôle
Digital
Contrôle
Bouton

Légende du
Graphique graphique

15
Ecran de programmation (Diagram)

Terminal
du FilFildedeliaison
liaison
contrôle
digital

Terminal
du bouton
Terminal du
graphique

Constante Fonction Fonction Boucle Sous-VI


Numérique Multiplication Timing FOR
16
Barre d’état

1. Bouton Run Menu déroulant polices de caractères


2. Bouton Run en continu Menu déroulant pour l’alignement
3. Bouton STOP Menu déroulant pour la distribution
4. Bouton Pause/Continue Menu pour ordre d’apparence

Boutons aditionnels dans le Diagram


1. Execution Highlighting button
Bouton Enter
2. Step Into button
3. Step Over button
4. Step Out button

17
Palette d’outils

„ Séléction automatique des outils


„ Outils de manipulation
„ Outils de positionnement,
redimensionnement
„ Outils d’écriture
„ Outils de câblage
„ Outils ‘pop-up’ menu
„ Outils de défilement
• Outils d’édition et de „ Outils ‘Breakpoint’
débogage „ Outils sonde de débuggage
• Palette flottante „ Outils de copie de la couleur
„ Outils de coloriage
18
Palette de Contrôle et de Fonctions
Palette de contrôle Palette de Fonctions
(Panel Window) (Diagram Window)
Rechercher

Remonter
D’un niveau

„ Palettes graphiques, flottantes


„ Les sous-palettes peuvent devenir
aussi
flottantes
19
Palette de Contrôle en détail

20
Palette de fonctions en détail

21
Help !

„ Afficher le menu d’aide contextuel (Help menu) <crl+h>


… Affiche d’aide Simple/Detaillé
… Blocage de l’aide sur un élément
… Aide online (manuels de référence)

22
Résumé du chapitre 1
„ Les instruments virtuels (VIs) sont composés de 3 parties principales :
- le front panel
- le block diagram
- l’icône/connecteur
„ Le front panel est l’interface utilisateur d’un programme LabVIEW.
„ Le block diagram est le code exécutable.
„ Click de droite et menu contextuel pour modifier les propriétés de
chaque objet.
„ Palettes flottantes :
… Palette des outils
… Palette des Contrôles (seulement dans le front panel)
… Palette de fonctions (seulement dans le Diagram)
„ Possibilité d’avoir de l’aide contextuelle en ligne…(ctrl+h)

23
Exemple 1

Création du premier petit programme qui va


additionner deux nombres et afficher le résultat

24
25
Chapitre 2
Création/édition et debugging d’un VI

Thèmes:
„ A. Comment créer des VIs
„ B. Comment éditer des VIs
„ C. Comment débugger des VIs

26
Creation de l’interface utilisateur
(Front Panel) d’un VI

• Contrôles et indicateurs numériques


• Contrôles et indicateurs booléens
• Configuration des contrôles et indicateurs
– Utilisation des menus raccourcis
– Les differents menus des Objets

Digital
Indicator
Labels
Increment Digital
Buttons Boolean Boolean
Control Control Indicator

27
Action mécanique des Booléens

• Switch action: Le
contrôle reste dans son
état jusqu’au prochain
changement à la main.

• Latch action: Le contrôle


revient à son état par
défaut dès lecture dans
le diagram

28
Acces aux menus contexctuels

Click de droite sur l’affichage


Click de droite sur le label
digital pour afficher son menu
pour afficher son menu
contextuel
contextuel

Windows & UNIX: touche-souris de droite


MacOS: Control-Click

29
Modifications des Contrôles & Indicateurs numériques

• Définition de la plage

• Définition des digits de précision

30
Creation du Block Diagram d’un VI
Interface utilisateur (Control Panel)

Code (Diagram Window)

Contrôles :
Terminaux
Indicateurs:
Terminaux

Aspect du Terminal pour la Fils Fonctions


Fonction Add et la fonction
Subtract (3 noeuds).

31
Programmation selon le flux de données(data flow)

• Les Block diagram ne s’executent PAS nécessairement de


gauche à droite !
• Une fonction s’exécute uniquement lorsque elle a reçu
TOUTES ses entrées !
• Une fonction fournit TOUTES ses sorties lors de son
exécution !

32
Recherche de Contrôles, VI, Fonctions

Appuyez sur le bouton search


pour faire une recherche de
texte dans la palette.
„ Utilisation des boutons se
trouvant au sommet de la
palette des Contrôles et des
fonctions pour naviguer et
chercher des contrôles et des
fonctions spécifiques.

33
Techniques de déboguage

• Trouver les erreurs


Click sur la flèche cassée Run et une fenêtre
Apparaît montrant les erreurs du programme
• Mode debugging
Click sur l’ampoule, le programme tourne au
ralenti et le déroulement du programme est
animé. Les valeurs des données sont écrites
sur les fils
• Sondes
Click de droite sur les fils pour poser une sonde
qui permet de visualiser online les données
passant dans le fil

Il est aussi possible de poser une sonde depuis


la palette des outils (symbole jaune)

34
Techniques de déboguage

• Points d’arrêts
Sélection de l’outil point d’arrêt depuis la palette des
outils et placez-le où le programme doit s’arrêter.

• Opérations pas-à-pas

Chaque click permet d’avancer d’un pas dans le


Programme, y compris dans les sous-programmes

Chaque click permet d’avancer d’un pas dans le


Programme, sans passer dans les sous-programmes

Permet de ressortir d’un sous-programme

35
Résumé du chapitre 2
„ Placement des contrôles (inputs) et des indicateurs (outputs) dans le
control panel

„ Utilisation des outils pour manipuler les objets du control panel.


Utilisation de la flèche pour sélectionner, bouger, et redimensionner.
Utilisation de la bobine pour connecter les objets dans le diagram.

„ Les contrôles ont un terminal à bord plus épais que les indicateurs.

„ Tous les objets LabVIEW ont un menu contextuel

„ Le programme est réalisé par câblage des objets et fonctions selon le


flux de données

„ Bouton Run avec la flèche brisée = VI non-exécutable

„ Quelques outils et options de débogage

36
Exercices : à vous de jouer !

1. Réalisez un programme qui permet de convertir une


température de degrés Celsius [°C] en degrés Farenheit
[°F] et inversément.

Deg [°F] = Deg [°C] * 1.8 + 32

37
Chapitre 3
Les boucles
Thèmes :

„ A. A propos de la boucle While


„ B. Utilisation des registres à décalage
„ C. La boucle For
„ D. Timing pour l’execution d’une boucle

39
La boucle While
1. Sélection boucle While 2. Sélection du code à répéter

3. Placement du code dans la boucle While

Do

(Execute diagram
inside Loop)

While Condition is TRUE

40
Choix de la condition de boucle

„ Click de droite sur le terminal de condition de la


boucle pour définir quand elle doit s’interrompre

Terminal d’itération Terminal de condition

41
Registres à décalage (shift register)

• Disponibles sur les bord droit et gauche des boucles


• Click de droite sur le bord de la boucle et sélectionner Add Shift
Register
• Le terminal de droit stocke la valeur après un passage dans la boucle
• Le terminal de gauche met à disposition la valeur stockée avant au
début de l’itération suivante

Valeur initiale Valeur 1 Valeur 2


Valeur
Valeur 3
initiale
Valeur 1 Valeur 2 Valeur 3

Avant Première Deuxième Dernière


début itération itération itération
boucle

42
La boucle For

• Exécute le diagramme qui se trouve à l’intérieur un nombre


prédéterminé de fois.

• Possibilité de créer des registres à décalage

Terminal du compteur
(Entrée numérique)
FOR N=0 TO 100
DO

(Execute diagram
inside Loop)

END

Terminal d’itération
43
Timing d’exécution d’une boucle
• On peut fixer le temps d’éxecution de boucle par une fonction Wait
(attendre).

• Attention, si le temps est plus petit que le temps nécessaire à


l’exécution du programme dans la boucle, c’est le multiple suivant du
temps qui sera pris.

1000

stop

• Cette boucle va se répéter chaque seconde

44
Timing d’exécution d’une boucle

• Il faut toujours insérer un timing pour cadencer une boucle afin


de préserver l’utilisation du processeur du PC

Sans Cadencement de boucle Avec cadencement de boucle (10 ms)

45
Résumé du chapitre 3

• Deux types de boucles dans LabVIEW : Boucle While et boucle FOR


• La boucle While : Boucle ‘Tant que’ : s’exécute tant que la condition de fin
n’est pas activée
• La boucle FOR : s’exécute un certain nombre de fois défini au départ
• Le diagramme devant être répété se place à l’intérieur de la boucle
• Utilisation d’un timer pour cadencer l’exécution de la boucle

46
Chapitre 4
Les tableaux

Thèmes :

A. A propos de tableaux
B. Comment générer un tableau avec une boucle
C. Fonctions de base sur des tableaux

47
Les tableaux
• Collection de données du même type
• Une ou plusieures dimensions
• Les éléments sont accessibles par leur index

• Le premier élément se trouve à l’index 0

index 0 1 2 3 4 5 6 7 8 9
Tableau 1D à 10 éléments 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7

0 1 2 3 4 5 6
Tableau 2D 0
1
2
3
4
5 lignes par 7 colonnes
Tableau de 35 éléments
48
Les contrôles et indicateurs de tableaux

1. Selection du contrôle
2. Placer un contrôle dans le
Tableau (Array)
tableau pour définir le
type de données du tableau
(ici numérique)

Redimensionner le contrôle pour


ajouter une
dimension

49
Creation de constantes tableaux

1. Choisir une
constante de
type tableau dans la
palette de foinctions
Array

2. Placer une constante dans la


constante tableau pour définir le
type.(Ici, constante Booléene)

50
Création et utilisation de tableaux

• Sur une boucle, l’option


‘Auto-Indexing ‘ permet de
construire
automatiquement un
tableau.

• Boucle For: auto indexing


par default; Boucle While
pas par défaut

51
Création de tableaux 2D

• La boucle interne crée les colonnes


• La boucle externe stocke les colonnes dans les lignes

52
Accès aux éléments du tableau

Extraction d’un élément

Ajouter un élément

53
Exercices : A vous de jouer !

3. Réaliser un programme sous forme de boucle qui permet de décompter de


100 à 0 chaque 100 ms et qui allume une lampe quand le compte à rebours
est atteint (valeur = 0).

4. Créer un programme de Loterie qui permet à chaque pression sur un bouton


de générer 6 chiffres aléatoires entre 0 et 100 et d’afficher ces 6 chiffres à
l’écran.

Travail personnel

• Réaliser un programme en boucle qui permet de comparer deux chiffres et qui


affiche à l’utilisateur avec trois lampes si:
• nombre 1 < nombre 2
• nombre 1 = nombre 2
• nombre 1 > nombre 2

54
Chapitre 6
Graphs et Charts
Thèmes :

A. Les graphiques (Graphs)


B. Utilisation des graphs
C. Les graphiques (Charts)
D. Utilisation des Charts

55
Chart
• Se trouve dans la sous-palette Controls Æ Graph

56
Utilisation des Charts

• Chart mono-trace

• Chart multi-traces

A chaque passage dans la boucle, le chart rajoute le dernier point


à la suite de la courbe. C’est lui qui contient l’historique des points
comme un enregistreur à papier déroulant

57
Graph
• Se trouve dans la sous-palette Graph
• Waveform Graph – Trace un tableau de points en
fonction de leur index en une fois (pas d’historique)
• XY Graph – Plot un tableau de point (y) en fonction d’un
second tableau (x)
Plot Legend
(point and
line styles)

Scale Legend Graph Palette

58
Graph mono-trace

Axe X : X initial = 0.0, delta X = 1.0 (par défaut)

Axe X : X initial= 3, delta X = 0.5 (défini par l’utilisateur)

59
Graph multi-traces

Chaque ligne est une trace séparée ( X0 = 0, delta X = 1 par défaut)

Chaque ligne est une trace séparée (Xo et ΔX spécifiés par l’utilisateur)

60
Utilisation de l’aide contextuelle pour les Charts & Graphs

61
Exercices : A vous de jouer !

• Réaliser un programme qui permet d’afficher une séquence de nombres


aléatoires entre 0 et 10 dans un graphique.

62

Vous aimerez peut-être aussi