Vous êtes sur la page 1sur 191

Introduction LabVIEW

Introduction
Il est la fois souple, puissant et rapide.
Atouts:
programmation intuitive
dveloppement rapide
interface utilisateur
nombreuses bibliothques disponibles
drivers existants pour la plupart des instruments
LabVIEWest un langage de programmation graphique,
particulirement adapt aux montages exprimentaux.
Introduction
Prsentation et stockage
de donnes
Affichage courbes
Stockage donnes
Analyse et traitement
de donnes
traitement du signal
traitement statistique
I nterfaage dexpriences
Contrle dinstruments
acquisition des donnes
LabVIEW
Vue densemble
Cours sur 2 jours
prsentation de LabVIEW.
Les exercices et les exemples sont
disponibles sur notre site, rubrique
enseignement :
http://lasim.univ-lyon1.fr/recherche/onlisno/Labview.html
LabView
Langage de programmation graphique
Dvelopp par National Instruments
Site web www.ni.com/labview
fond sur le principe du flot de donnes
programmation par cblage
Trs puissant
Pour commencer
LabView6i disponible sur vos machines
(version actuelle : 7.1)
lancer LabVIEW:
dmarrer programmes National
Instruments LabVIEW6 LabVIEW
Bote de dialogue au lancement
Ecrans louverture
Face avant
Diagramme
Face avant - commandes
[ Clic droit ]
Diagramme - Fonctions
Outils
Position / Taille / Selection
Changement valeur
Cblage
Point d'arrt
Choix couleur
Texte
Raccourci menu
objet
Dplacement
fentre
Sonde
Prendre couleur
Exemple
Cration dun VI simple :
fonctions mathmatiques de base
But: crer un VI permettant de raliser une
opration mathmatique simple (addition) et
dafficher le rsultat.
Exemple: 1 + 3 -> 4
Cration dun VI
Slectionner : Nouveau VI (Virtual Instrument)
Slectionner la fentre face avant (grise)
clic droit Commandes
Dplacer la souris sur Numrique
Une sous-fentre apparat avec les
commandes numriques
Indicateur numriques
Slectionner indicateur numrique (en haut gauche) :
dplacer la souris dessus puis clic gauche
Lindicateur numrique permettra laffichage
du rsultat.
Le curseur change main
Dplacer le curseur sur la face avant (grise) double bote en
pointills
Amener cette bote la position souhaite (clic gauche)
Indicateurs numriques - suite
Une tiquette par dfaut ( Numrique )
est automatiquement cre et surligne
On peut changer le texte aussitt
(par exemple : rsultat )
On pourra aussi modifier ltiquette plus tard
Exemple de VI de base
Diagramme
(la partie oprationnelle)
Visualiser le diagramme
<ctrl+E> pour passer de face avant diagramme
LabVIEWa plac un terminal sur le diagramme
qui est li lindicateur plac sur la face avant
On peut dplacer ce terminal o lon veut
sur le diagramme, cela ne change rien en face avant
En double cliquant
sur un objet de face avant terminal du diagramme
sur terminal du diagramme objet de face avant
Diagramme
(la partie oprationnelle)
DBL est le type de
sortie
(rel double)
On pourra changer
ce type plus tard
Ajouter une fonction
Toujours sur diagramme, <clic droit>
la palette de fonction apparat
Dplacer la souris sur numrique
la palette numrique apparat avec les
fonctions mathmatiques
Cliquer sur la fonction additionner
Dplacer la souris vers le diagramme
on voit la fonction
sous le curseur en forme de main
Placer le curseur gauche du terminal indicateur
rsultat
<clic gauche> pour poser la fonction
Nous allons maintenant ajouter la fonction mathmatique daddition.
Ajouter les constantes
Toujours sur diagramme, <clic droit>
la palette de fonction apparat
Dplacer la souris sur numrique
la palette numrique apparat avec les
fonctions mathmatiques
Cliquer sur la fonction constante numrique
Dplacer la souris vers le diagramme on voit la fonction
sous le curseur en forme de main
Placer le curseur gauche loprateur somme
<clic gauche> pour poser la fonction
changer la valeur de la constante 1
ajouter une deuxime constante = 3
Cblage
Dans la palette doutils <shift+clic droit>, slectionner
loutil de cblage (comme une bobine de fil)
le curseur change de forme (bobine)
positionner le curseur sur la premire constante
il clignote
<clic gauche>, dplacer la souris ligne en pointills
Amener le curseur sur la fonction additionner (+)
...
Cblage - suite
Lorsque le curseur arrive sur la fonction,
elle se met clignoter sous le curseur
au niveau des terminaux de connexion
De courtes lignes de connexion apparaissent aussi
Convention standard :
terminaux dentre gauche
terminaux de sortie droite
Cliquer sur le connecteur en haut gauche
Le cble passe en trait continu orange : cblage valide
Cblage - directions
Les cbles vont toujours horizontalement ou verticalement,
jamais en diagonale
Par dfaut, il y a un changement de direction par cble, mais
On peut changer la direction initiale
(horizontale ou verticale) en appuyant sur
<barre despace>
On peut imposer des points intermdiaires par
<clic gauche>
Terminer le cblage de
la fonction
Cbler la deuxime constante la fonction (+)
Cbler le terminal de sortie de cette fonction lindicateur
rsultat
Le diagramme termin
Remarquer la
couleur bleue des
constantes et des
fils
Cette couleur
indique le type
des donnes
(entier)
Remarquer le
points gris
indiquant le
conflit entre les
deux types
(ce conflit
nimplique
cependant pas la
non-execution
du programme)
Changer la reprsentation dun
indicateur
Nous allons donc changer le type de lindicateur : rel double entier
Pour cela, faire un <clic droit> sur
lindicateur Rsultat
Slectionner le menu
Reprsentation
Choisir le type I32
Lindicateur devient bleu
Changer les textes dtiquettes
Faire apparatre le menu outils :
<shift + clic droit>
faire glisser la souris sur loutil texte (lettre A)
clic gauche
positionner le curseur dans ltiquette modifier,
diter le texte (les raccourcis habituels sont disponibles)
Texte libre
On peut aussi ajouter du texte o lon veut,
en face avant ou sur le diagramme commentaires
Ajouter en face avant du texte :
Addition de deux constantes
Changer la police de caractres :
menu droulant dans la barre de menu, au milieu
La face avant termine
Excution
Changer les valeurs
( outil main puis taper valeurs ou
utiliser les flches dincrmentation )
<clic gauche> sur la flche blanche dans la barre de menu
(bulle daide : excuter )
Les rsultats des oprations apparaissent
dans les indicateurs
Excution en continu
<clic gauche> sur la double flche :
Pour arrter, <clic gauche> sur le bouton stop :
Cration dun VI
Slectionner : Nouveau VI (Virtual Instrument)
Slectionner la fentre face avant (grise)
clic droit Commandes
Dplacer la souris sur Numrique
Une sous-fentre apparat avec les commandes numriques
Nous allons maintenant compliquer un peu
Nous allons crer un VI permettant de raliser plusieurs
oprations (+;-;/;x) sur des nombres rels qui peuvent tre
changs volont.
Indicateurs numriques
Crer quatre indicateurs numriques
que vous pourrez nommer
somme
soustraction
multiplication
division
Commandes numriques
Crer deux commandes numriques
que vous pourrez nommer
premire valeur
deuxime valeur
La face avant termine
Terminaux
Deux types de terminaux
Terminal de commande : cadre en gras
Terminal dindicateur : cadre fin
Reste rajouter les fonctions et cbler...
Diagramme
(la partie oprationnelle)
Visualiser le diagramme
<ctrl+E> pour passer de face avant diagramme
LabVIEWa plac des terminaux sur le diagramme
qui sont lis aux objets de la face avant
( part le texte libre)
chaque objet a son terminal
On peut dplacer ces terminaux o lon veut
sur le diagramme, cela ne change rien en face avant
En double cliquant
sur un objet de face avant terminal du diagramme
sur terminal du diagramme objet de face avant
Ajouter les fonctions
Toujours sur diagramme, <clic droit>
la palette de fonction apparat
Dplacer la souris sur numrique
la palette numrique apparat avec les
fonctions mathmatiques
Cliquer sur la fonction additionner
Dplacer la souris vers le diagramme on voit la fonction
sous le curseur en forme de main
Placer le curseur gauche du terminal indicateur
somme
<clic gauche> pour poser la fonction
Cblage
Dans la palette doutils <shift+clic droit>, slectionner
loutil de cblage (comme une bobine de fil)
le curseur change de forme (bobine)
positionner le curseur sur le terminal de commande
premiere valeur il clignote
<clic gauche>, dplacer la souris ligne en pointills
Amener le curseur sur la fonction additionner (+)
...
Cblage - suite
Lorsque le curseur arrive sur la fonction,
elle se met clignoter sous le curseur
au niveau des terminaux de connexion
De courtes lignes de connexion apparaissent aussi
Convention standard :
terminaux dentre gauche
terminaux de sortie droite
Cliquer sur le connecteur en haut gauche
Le cble passe en trait continu orange : cblage valide
Terminer le cblage de
la fonction
Cbler la commande deuxieme valeur lautre terminal
dentre de la fonction (+)
Cbler le terminal de sortie de cette fonction lindicateur
somme
Ajouter trois fonctions supplmentaires : (-), (*) et (/),
en face des indicateurs correspondants
Cblage - directions
Les cbles vont toujours horizontalement ou verticalement,
jamais en diagonale
Par dfaut, il y a un changement de direction par cble, mais
On peut changer la direction initiale
(horizontale ou verticale) en appuyant sur
<barre despace>
On peut imposer des points intermdiaires par
<clic gauche>
Raccordement
aux cbles existants
Avec loutil de cblage, cliquer (gauche) sur le cble
reliant la commande premiere valeur la fonction (+)
(il clignote lorsquon est dessus)
Descendre jusquau terminal dentre du haut
de la fonction (/)
Recommencer avec la commande seconde valeur
Les cbles qui se croisent se voient au blanc
qui est laiss de part et dautre
Terminer les cblages
Le diagramme termin
Slectionner les cbles
Dans le diagramme
outil : slectionner (flche)
Rq: on peut aussi utiliser <barre espace> pour passer
de loutil bobine loutil slection
Essayer simple, double et triple clic gauche sur un fil (cble)
Une fois slectionn on peut le dplacer en utilisant
souris
flches du clavier ou <shift + flche> (plus rapide)
Utiliser loutil bobine pour modifier les cblages
Clarifier le diagramme
Excution en continu
<clic gauche> sur la double flche :
Pour arrter, <clic gauche> sur le bouton stop :
flot de donnes
<ctrl-E> diagramme, puis
cliquer sur animer lexcution , puis excuter en continu
Oprations boolennes
Raliser la face avant et le diagramme dun VI montrant
quelques oprations boolennes :
ET
OU
OU exclusif (XOR)
opration compose (plusieurs entres)
Boolens - face avant
Boolens - diagramme
Changements dchelle
crer un nouveau VI
Ajouter une commande numrique bouton rotatif
Ajouter un indicateur numrique rservoir
<clic droit> sur le rservoir ; slectionner
afficheur numrique dans le menu lments visibles
relier le bouton rotatif au rservoir
Changer les chelles (outil main ou texte )
diter les valeurs min ou max affiches lchelle change
Explorer les menus <clic droit>
Face avant
Diagramme
Ajouter une jauge de temprature
Ajouter un thermomtre (indicateur numrique)
Ajouter
un gnrateur de nombres alatoires,
une fonction multiplier
une constante numrique
Changer la valeur de la constante 100
Ajouter une jauge de temprature
Relier les lments de faon multiplier par 100
la sortie du gnrateur alatoire (entre 0 et 1) :
Noter les diffrentes couleurs
<clic droit> sur la constante, reprsentation DBL
changement couleur
Types de donnes
Comme dans des langages de programmation classiques,
diffrents types de donnes, par exemple :
Entiers (bleu)
mot long (32), mot (16), octet (8)
Rels (orange)
prcision tendue (64), double (32), simple (16)
Boolens (vert)
Chanes (magenta)
Sous VIs
quivalent des fonctions avec
entres multiples
sorties multiples
Aident allger les diagrammes, les rendre plus lisibles
Peuvent tre utiliss plusieurs fois dans le mme VI
Exemple de sousVIs
Crer un nouveau VI : calcul de pente entre deux points
On peut le documenter :
Fichier proprits du VI catgorie: documentation
diter l'icne : <clic droit> sur l icne en haut droite
diter l'icne
utiliser les outils pour dessiner l icne
on peut utiliser la couleur
dessiner en 256 couleurs puis faire copier
partir de 256 couleurs pour noir et blanc et 16 couleurs
Calcul de pente
crer la face avant et le diagramme :
Ajouter les terminaux au connecteur
terminaux dentre ( gauche) paramtres dentre
terminaux de sortie ( droite) valeurs de sortie
<clic droit> sur carr icne face avant
visualiser le connecteur
choisir un modle avec assez dentres et de sorties
outil bobine cliquer sur un terminal face avant, puis
sur le terminal connecteur souhait (ou inversement)
sauvegarder le VI (par exemple: calc_pente.vi )
Utilisation de sousVis
pour utiliser un sousVi, dans le diagramme, choisir dans la
palette de fonctions slectionner un VI
choisir le sousVI, ouvrir
le dposer sur le diagramme
on peut le relier aux autres lments
on peut avoir une vue densemble du
sousVI avec laide en ligne <ctrl-H>
r-utilisation de sousVIs
Fonction slectionner
cest lquivalent de cond ? vrai : faux en C/C++
Crer un nouveau VI
Dans le diagramme, importer capteur_pression.vi
qui fournit une pression lue en hPa
Ajouter un vumtre sur la face avant, le nommer pression
Relier la sortie du capteur au vumtre
Observer lexcution en continu
fonction slectionner
Remarquer que le curseur est bloqu au maximum
Adapter lchelle (pour se guider on peut utiliser
lafficheur numrique)
On pourrait vouloir choisir entre un affichage
en hPa ou en mmHg
fonction slectionner
?
T
F
entre pour Vrai
entre pour Faux
Sortie condition
Chemin des donnes si Vrai
?
T
F
entre pour Vrai
Sortie Vrai
Chemin des donnes si Faux
Sortie Faux ?
T
F
entre pour Faux
Slectionner - face avant
Ajouter un interrupteur horizontal ( unite ) de la palette
boolens
Ajouter deux textes libres hPa et mmHg
Agrandir le vumtre et linterrupteur
Changer la taille de caractres des textes
agrandir : < ctrl+ =>
diminuer : < ctrl+ - >
Slectionner - face avant
Slectionner - diagramme
Ajouter une fonction slectionner
(palette comparaison )
Relier la commande boolenne unite
lentre selecteur
Relier la sortie pression lentre cas faux
diviser 732 par 1013 et multiplier la pression par le
rsultat, relier la sortie lentre cas vrai
excuter en continu et changer dunit
Slectionner - diagramme
slectionner : affichage units
LabVIEW- debugage
animer lexcution
indicateurs intermdiaires (<clic droit> crer indicateu
outil sonde
outil point darrt
mode pas pas (en entrant dans les sousVIs ou non)
Trace pression
objectif: tracer au cours du temps la pression
crer un nouveau VI trace_pression.vi
sur la face avant, poser
un bouton STOP
un graphe droulant (palette graphe )
LabVIEW- boucle while
Placer sur le diagramme une boucle while
(palette structures )
Ltirer de faon contenir les lments ncessaires
La boucle while continuera jusqu ce que son
terminal conditionnel reoive faux
Elle sexcute au moins une fois (cest plutt une
boucle repeat until )
Elle contient un compteur ditration
LabVIEW- boucle while
Compteur ditration
Terminal conditionnel
choix (<clic droit>) :
arrter si VRAI
arrter si FAUX
Trace pression
Dans la boucle while, poser le sousVI capteur_pression.vi
Relier sa sortie au graphe droulant
Relier le bouton STOP au terminal conditionnel de la boucle
Configurer arrter sur condition vraie
Crer un indicateur numrique nombre de valeurs ,
relier au compteur ditrations
(essayer <clic droit> sur le compteur crer un indicateur
Observer lexcution (une fois)
trs rapide !
ajuster lchelle
Trace pression -face avant
Trace pression -diagramme
boucle while -temporisation
On peut ralentir l excution de faon contrle :
Ajouter dans la boucle attendre un multiple de ms
(mtronome dans la palette temps et dialogue )
Crer une molette numrique delai (ms) ,
la relier lentre du mtronome
excuter, changer la valeur du dlai
(ajuster lchelle du dlai au besoin)
examiner les diffrents modes de mise jour du graphe
Trace pression 2 - face avant
Trace pression 2 - diagramme
LabVIEW- registres dcalage
Le signal prcdent est assez bruit ; on pourrait
vouloir afficher une moyenne continue des 4 prcdentes
valeur, par exemple
Ceci peut tre ralis en ajoutant un registre dcalage
la boucle
LabVIEW- registres dcalage
Un registre dcalage prend des donnes du ct droit
et les reporte du ct gauche litration suivante
Cration: <clic droit> sur un des bords de la boucle
ajouter un registre dcalage
<clic droit> sur le registre pour rajouter un lment
On peut le dplacer en hauteur (les deux cts restent aligns)
LabVIEW- registres dcalage
On peut placer plusieurs registres dcalage sur une boucle
Chaque registre naccepte quune valeur dentre ( droite)
Le type de cette valeur fixe le type du registre (ex: DBL)
ce sera aussi le type des valeurs restitues ( gauche)
Un registre peut restituer la valeur fournie v
i
, mais aussi
v
i-1
, v
i-2
, ... en rajoutant des lments
Trace pression - moyenne
sauvegarder le VI prcdent sous
trace_pression_average.vi
Ajouter un registre dcalage
Ltendre 4 lments
Ajouter une fonction Oprateur arithmtique
(palette numrique)
ltendre 4 lments
Sassurer que son mode est bien addition (<clic droit>)
Relier les 4 sorties de registre (gauche) aux entres de
l oprateur
Trace pression - moyenne
Diviser la sortie de loprateur arithmtique par 4
Relier la sortie au graphe
Relier la sortie du capteur de pression lentre du registre
( droite)
Crer une constante numrique lextrieur de la boucle,
La relier aux sorties (gauche) du registre :
Ceci assure linitialisation des valeurs restitues
par le registre
Excuter
Trace pression - moyenne
Trace pression - moyenne
Plan
Nous allons voir maintenant :
boucle FOR
structure condition
structure squence
boucles FOR
Nouveau VI
diagramme : ajouter une boucle for (structures Boucle For)
nombre ditrations
raliser
indice de litration
en cours
(commence 0)
pour N = 4 i=0,1,2,3
Boucles FOR - exemple
Illustration : cration dun VI pour dterminer le plus petit
de 100 nombres alatoires
face avant :
2 indicateurs numriques : nombre et minimum
Boucles FOR - exemple
Diagramme
ajouter une structure boucle FOR
imposer 100 itrations en connectant une constante numrique
au terminal N
remarque: la constante doit tre lextrieur de la boucle
placer un gnrateur de nombre alatoire dans la boucle
(fonction numrique)
placer une fonction/comparaison/max&min
Boucles FOR - exemple
diagramme :
ajouter un registre dcalage la boucle FOR
relier la sortie du gnrateur alatoire lindicateur nombre
( nombre doit tre dans la boucle)
relier aussi cette sortie lentre x de la fonction max&min
Boucles FOR - exemple
diagramme :
relier la sortie min(x,y)
lentre du registre dcalage (droite)
connecter une constante numrique de valeur 1
au registre dcalage (gauche) pour linitialisation
Boucles FOR - exemple
diagramme :
relier la valeur de sortie externe du registre dcalage
lindicateur minimum
(droite, lextrieur de la boucle)
relier la sortie interne du registre dcalage lentre
y de la fonction max&min
(gauche, lintrieur de la boucle)
excuter (1 fois, pas en continu) :
la valeur minimum parmi 100 nombres alatoires
est affiche
Boucles FOR - exemple
Quelles modifications apporter pour calculer aussi le max ?
Structure Condition
Permet dexcuter diffrentes actions en fonction de la valeur
dune entre.
(cf. switch/case en C)
Par dfaut, entre boolenne, mais on peut relier aussi
une entre numrique, chane, numration...
la structure sadapte au type dentre
Structure Condition
valeur dentre
pour visualiser les
diffrentes valeurs possibles,
utiliser les flches
Structure Condition
On peut ajouter/supprimer des cas possibles (<clic droit>)
Un cas par dfaut doit tre spcifipour grer les valeurs
non prcises
Structure Condition - exemple
Crer un nouveau VI - on veut calculer le racine carre
dun nombre, en grant les nombres ngatifs
Face avant :
Une commande nombre
Un indicateur racine carree
Structure Condition - exemple
diagramme :
Ajouter une structure condition
ajouter une fonction de comparaison >= 0
nombre et >= 0 doivent tre l extrieur, gauche
de la structure condition
relier nombre lentre de >= 0 ;
la sortie est un boolen, relier lentre de la structure
condition [?] pour la contrler.
Structure Condition - exemple
diagramme :
slectionner loption Vrai dans la structure condition
Ajouter une fonction numrique racine carre dans
la structure condition
Placer lindicateur racine carree lextrieur, droite
de la structure condition
Structure Condition - exemple
diagramme :
Relier nombre lentre de la fonction racine carre
remarquer le tunnel (carrorange) dans la paroi gauche de
la structure
Relier la sortie de la fonction racine carre lindicateur
racine carree
remarquer le tunnel dont lintrieur est blanc car
aucune valeur nest encore fournie dans le cas Faux
dailleurs le VI nest pas encore excutable
(flche brise)
Structure Condition - exemple
diagramme :
Slectionner le cas Faux dans la structure condition
Placer dedans une constante numrique -999
relier au tunnel de sortie
Remarquer quil se remplit et que le VI est excutable
Placer une fonction
Temps et dialogue/Bote de dialogue 1 bouton
Relier une chane Erreur, nombre ngatif la 1re entre
Relier une chane Ok, mea culpa la 2e entre
Structure Condition - exemple
Sauver
Changer nombre (positif puis ngatif )
et excuter (1 fois, pas en continu cause de la boite de dialogue)
vrifier que tout va bien.
Structure Condition - exemple
Structure Squence
Permet de programmer diffrents sous-diagrammes
excuter squentiellement
A utiliser seulement bon escient
Squence - exemple
A titre dexemple, mesurer le temps entre deux
pressions de boutons
Face avant :
Deux boutons start et stop
Action mcanique : commutation jusquau relchement
Trois indicateurs numriques :
temps initial (ms), temps final (ms), dureeecoulee(ms)
reprsentations : U32
Squence - exemple
Squence - exemple
Diagramme :
ajouter une structure Squence
<clic droit> sur la structure, ajouter une tape aprs
la squence doit alors comprendre deux tapes 0..1
Recommencer jusquce quil y ait 4 tapes (0..3)
Slectionner la premire tape (0) en utilisant les flches
Squence - tape 0
Crer les diagrammes des diffrentes tapes, comme indiqu:
arrter sur
condition vraie
boucle while
start
Squence - tape 1
Crer les diagrammes des diffrentes tapes, comme indiqu:
Squence - tape 2
start
Squence - tape 3
Incomplet pour
linstant
Il faut le temps
initial...
Variable locale de Squence
Pour disposer de la valeur du temps initial, on va utiliser
une variable locale de squence
slectionner la 2e tape (1)
<clic droit> sur le bord infrieur de la structure,
ajouter une variable locale de squence
un carrjaune apparat.
relier ce carrau fil existant (voir transparent suivant)
Variable locale de Squence
Une variable locale
de squence permet de
transmettre une valeur
aux tapes suivantes
(pas aux prcdentes)
Rq. la flche pointe
vers l extrieur
Variable locale de Squence
Slectionner la dernire tape
relier la variable la fonction -
Rq: la flche pointe vers lintrieur, indiquant que
la valeur est disponible
Variable locale de Squence
Excuter (1 fois)
Cliquer sur le bouton start , puis stop
La sortie indique le temps (en ms) entre les deux clics
Voir si la valeur est disponible aussi aux tapes 0 et 2
Il est possible davoir plusieurs variables locales de sequences
La bote de calcul
La fonction bote de calcul est disponible dans le
sous-menu Structures
Permet dintgrer des formules dans un diagramme
sans utiliser un cblage compliqu
Un nombre limit de fonctionnalits est disponible
(voir laide Labviewpour plus de dtails)
Bote de calcul - exemple
Dmarrer un nouveau VI
Crer sur la face avant:
Une commande numrique X
(gamme 1-100 , Incrment 1 , entier)
Un indicateur numrique
Bote de calcul - exemple
Crer sur le diagramme:
Une bote de calcul
Ecrire dans la bote la formule mathmatique :
Y=X**2 + 2*X +7;
Remarques:
- Noter que ** est la fonction puissance
(ne pas confondre avec ^ qui est la fonction OU exclusif )
- Ne pas oublier le point-virgule la fin de chaque ligne de commande!
Bote de calcul - exemple
Sur le diagramme:
Faire un clic droit sur le ct gauche de la bote de
calcul et slectionner ajouter une entre que lon
renommera X
Faire un clic droit sur le ct droit de la bote de
calcul et slectionner ajouter une sortie que lon
renommera Y
Bote de calcul - exemple
Sur le diagramme:
Connecter la commande numrique X lentre X
de la bote de calcul
Connecter lindicateur numrique Y la sortie Y
de la bote de calcul
Bote de calcul - exemple
On obtient alors:
Face-avant
Diagramme
Faire tourner plusieurs fois la programme avec plusieurs valeurs
de X et vrifier le bon fonctionnement
Bote de calcul - exemple
Une bote de calcul peut contenir plusieurs lignes de
commande (chaque ligne tant termine par ; )
Des choix peuvent tre inclus (par exemple une
fonction if else )
Mme sil est possible de placer des entres et des
sorties nimporte quelle position sur la bote de calcul,
il est conseill dappliquer la convention suivante:
entres sur le ct gauche et sorties sur le ct droit
Bote de calcul - exemple
Les tableaux sous Labview
Dmarrer un nouveau VI
Sur la face avant:
Crer un tableau, fonction dans le sous-menu Tableau et Cluster
Noter lapparence du tableau sur la face-avant: il apparat vide
lorsque aucun type de donne lui a t assign:
Faire glisser un indicateur numrique dans le tableau. Noter alors la
modification daspect du tableau:
Les tableaux sous Labview
Sur le diagramme:
Noter comment le symbole tableau a t modifi en
orange ce qui indique quon lui a assign un type de
donne (ici double prcision)
Il est galement possible de modifier le type et la
reprsentation par un clic-droit (cf. indicateurs numriques)
Les tableaux sous Labview
Sur la face-avant:
Le tableau par dfaut a une seule dimension. Il est
possible dajouter des dimensions supplmentaires par les
deux mthodes suivantes:
- clic-droit et slectionner ajouter une dimension
- tendre la souris la bote dindice
Des dimensions peuvent tre galement supprimes
Remarquer que les valeurs dans le tableau sont grises
indiquant quelles nont pas t initialises
Exemple : un tableau 3 dimensions
Les tableaux sous Labview
Sur la face-avant:
Dans un tableau une dimension, slectionner lindice 10
et initialiser le la valeur 5 (noter le changement daffichage)
Slectionner un indice en dessous de 10 : la valeur est
toujours 0.00 mais son apparence nest plus grise indiquant
que les valeurs des cellules ont t initialises
Observer les cellules dindice suprieur 10
Les tableaux sous Labview
Sur la face-avant:
Retourner lindice 10, positionner le curseur au dessus de
la valeur de la cellule, puis faire un clic-droit et slectionner
la fonction oprations sur les donnes/rinitialiser la valeur
par dfaut
Toutes les cellules indexes de 0 10 sont maintenant
initialises 0.00 (les cellules dindices suprieurs 10
apparaissent encore grises, donc non initialises)
Les tableaux sous Labview
Sur la face-avant:
Faire un clic-droit sur la bote dindice et slectionner
nouveau la fonction oprations sur les donnes/rinitialiser
la valeur par dfaut
Cette fois-ci, toutes les cellules du tableau sont grises
signifiant que le tableau est vide
Les tableaux peuvent avoir une ou plusieurs dimensions,
chaque dimension pouvant contenir jusqu 2147483647
lments (2
31
1)
Tableaux auto-indexation
Si un tableau est connect une boucle FOR ou WHILE,
on peut initialiser les lments du tableau, lindice du tableau
tant li au compteur de la boucle
Cette facilit est active par dfaut dans une boucle FOR
Elle est dsactive par dfaut dans une boucle WHILE
Le prochain exemple illustre cette mthode
Auto-indexation exemple
Crer un nouveau VI
Sur la face avant, crer un tableau et ajouter dans ce
tableau un indicateur numrique
Sur le diagramme:
ajouter une boucle FOR et dfinir la valeur darrt N 100
(le tableau devant se trouver lextrieur de la boucle)
lintrieur de la boucle, ajouter un gnrateur de nombre
alatoire (0-1)
Connecter le gnrateur de nombre alatoire au tableau
Auto-indexation exemple
On obtient alors:
Diagramme:
Face-avant:
Aprs excution, vrifier que le tableau soit rempli jusqu
lindice 100
Auto-indexation exemple
On peut galement remplir un tableau laide dune boucle
while.
Faire un nouveau VI permettant cette initialisation jusqu
lindice 100.
A VOUS DE J OUER!!!!
Auto-indexation exemple
Linitialisation dun tableau laide dune boucle WHILE:
Se souvenir que lindexation nest pas possible par
dfaut dans une boucle WHILE!!!
Faire un clic-droit
ici pour activer
lindexation
Initialisation dun tableau
Si on souhaite initialiser tous les lments dun tableau
une valeur identique, il existe une fonction dans labviewqui
permet de le raliser trs simplement.
Sur le diagramme, slectionner la fonction initialiser un
tableau dans le sous-menu tableau
Initialisation dun tableau
On peut galement construire un tableau, lments aprs
lments, dimension aprs dimension.
Sur le diagramme, slectionner la fonction construire un
tableau dans le sous-menu tableau
Tableaux - fonctions
Il existe galement une fonction permettant de retourner
la taille dun tableau
Sur le diagramme, slectionner la fonction taille dun
tableau dans le sous-menu tableau
Tableaux - fonctions
Il est possible dextraire la valeur de nimporte quelle
cellule dun tableau
Sur le diagramme, slectionner la fonction indexer un
tableau dans le sous-menu tableau
On peut galement extraire une ligne avec cette fonction
Tableaux - fonctions
Il est possible dextraire une partie dun tableau
Sur le diagramme, slectionner la fonction sous-ensemble
dun tableau dans le sous-menu tableau
Chanes de caractres
Crer un nouveau VI
Sur la face dentre:
crer deux commandes chane que lon nommera
respectivement dbut et fin (menu chane&chemin )
Ajouter un indicateur chane chane sortie
Ajouter une commande numrique Nombre
Dans cette partie, nous prsenterons la manipulation de
chanes de caractres sous Labview.
Formater en chanes
Sur le diagramme, ajouter la fonction formater en
chane dans le sous-menu Chane
Chane dentre
Entre(s)
additionnelles
(nombres, chanes)
Chane en sortie
Chane de format
(spcifie la conversion)
Formater en chanes
Sur le diagramme:
Connecter Dbut lentre de chane de la fonction
formater en chane
Ajouter une deuxime entre supplmentaire
Connecter Nombre la premire entre supplmentaire
Connecter Fin la deuxime entre supplmentaire
Contrles de chanes
Sur le diagramme, faire un clic-droit sur la commande
de chane
Slectionner mettre jour la valeur pendant la saisie ,
option permettant une mise jour du contenu de la
chane sans avoir presser sur entre ou sur le bouton
Remarque: On peut galement slectionner loption limiter
une seule ligne
Formater en chanes
Sur le diagramme, connecter la sortie de la fonction
lindicateur chane sortie
Lancer lexcution en continu
Ajouter du texte dans les commandes dbut et fin
et un nombre dans la commande numrique Nombre
Lindicateur de chane chane sortie doit montrer la
concatnation des trois entres
Formater en chanes
Formater en chanes
Maintenant, il serait intressant de mieux contrler laffichage
de la chane de sortie. Ceci peut tre ralis en spcifiant le
format de la chane de sortie.
Ces chanes de caractres permettant cette spcification sont
semblables celles utilises en C (pour les fonctions printf,
scanf )
Sur le diagramme, faire un clic-droit sur la fonction
formater en chane
Slectionner loption Editer la chane de format
Formater en chanes
Slectionner justifier droite , combler en utilisant des
espaces , largeur de champ min=5 et prcision=3
Slectionner format chane , justifier droite , largeur
de champ min=5
Noter comment la chane de formatage est modifie
dans la fentre chane de format correspondante
Cliquer sur OK et noter que la chane gnre a t
ajoute au diagramme
Lancer lexcution du VI et observer
Formater en chanes
Formater en chanes
On peut remarquer quil nest pas possible de
modifier laffichage du texte Dbut (chane
dentre)
Ceci peut tre quand mme ralis en considrant
le texte Dbut comme une entre supplmentaire
et en laissant la chane dentre vide
Extraire dune chane
Il est galement possible dextraire dune chane de
caractres des lments individuels qui composent cette
chane
Crer un nouveau VI
Sur la face-avant crer:
3 commandes numriques Longueur chane, Offset
chane et Offset nombre
1 commande chane Chane initiale
1 indicateur chane Sous-chane
1 indicateur numrique Nombre
Extraire dune chane
On obtient une face dentre de ce type:
Extraire dune chane
Sur le diagramme crer:
Une fonction Balayer une chane
Une fonction Sous-ensemble d'une chane
Faire le diagramme suivant:
Extraire dune chane
Entrer un texte dans Chane initiale (ex: Aujourdhui, la
temprature est de 25,6 C)
Lancer lexcution du VI en continu
Modifier les diffrents paramtres Longueur chane,
Offset chane et Offset nombre
Extraire dune chane
On voit ici que lextraction du nombre 25,6 dpend
fortement de la valeur de Offset nombre
Pour viter lutilisation de cet offset, on peut galement
balayer chaque sous-chanes existantes entre chaque
espace
Cependant, cette technique ncessite de connatre
lavance le contenu de la chane
Extraire dune chane
Remarque: il nest pas ncessaire de connecter toutes les
sorties un indicateur.
Cette chane de format dfinit les
diffrents mots de la chane
Fichiers entres/sorties
Il y a trois types de fichiers:
Fichiers ASCII (qui peuvent tre lus par dautres logiciels
comme Excel, Origin)
Fichiers datalog (format propre Labviewet qui peut
contenir de multiple formats de donnes)
Fichiers binaires (les plus rapides et petits)
Dans ce cours, nous nous limiterons aux fichiers ASCII
Fichiers E/S ASCII
5 fonctions basiques sont disponibles, chacune pouvant
tre trouves dans le sous-menus E/S sur fichiers dans
palette Fonctions :
crire des caractres dans un fichier
crire une chane dans un nouveau fichier ou
ajouter une chane dans un fichier dj existant
Lire des caractres dans un fichier
Lire un nombre spcifi de caractres dans un
fichier
Fichiers E/S ASCII
Lire des lignes dans un fichier
Une ligne tant dfinie par un retour chariot ou
caractre spcifique (EOF)
crire dans un fichier tableur
Converti un tableau 1D ou 2D en une forme
lisible par un logiciel tableur (ex: excel)
Lit dans un fichier tableur
Lit un nombre spcifi de lignes partir dun
fichier numrique et places les donnes en
tableaux 2D
Fichiers E/S ASCII
Exercice:
Crer un nouveau VI
Crer un tableau, un graphe et une commande
numrique
Utiliser la fonction Gnrer un signal (rpertoire
Labview6\activity)
Lobjectif de cet exercice est de gnrer un signal avec la
fonction, dafficher le contenu sur un graphe (et dans un
tableau 1D de 100 points), et de sauver le rsultat dans un
fichier tableur sur 2 colonnes: n point | valeur de la fonction
Fichiers E/S ASCII
Fichiers E/S ASCII
Fichiers E/S ASCII
Un autre exemple.
Fichiers E/S ASCII
Multi-threading
Ouvrir le fichier multithread1.vi
Lancer lapplication
Dans cette partie, nous prsenterons le multifentrage
sous Labview
Multi-threading
Multi-threading
Multi-threading
La vitesse de chaque boucle peut tre contrle
Si on appuie sur un des boutons STOP :
La boucle concerne sarrte sans altrer le
fonctionnement de lautre boucle
MAIS, il nest pas possible de redmarrer la boucle
sans arrter lautre
Modifions maintenant le VI de manire avoir un
seul bouton commandant larrt des 2 boucles
Multi-threading
Supprimer le
2
me
bouton
STOP
Multi-threading
Connecter le
1
er
bouton la
condition de
sortie de la
2
me
boucle
Multi-threading
Essayons une autre possibilit : placer le
boolen en dehors des deux boucles
Mme si cette connexion est accepte, le programme ne
sexcute pas correctement (la boucle 2 ne dmarre jamais)
Multi-threading
Multi-threading
Les deux boucles fonctionnent, mais on ne peut
pas les stopper
Pour rsoudre ce problme, nous allons utiliser des
variables locales ce qui permettra de rendre accessible
la variable STOP bouton1 dans les deux boucles
2 faons de crer une variable locale:
Sous-menu Structures de la palette Fonctions
Clic-droit sur la commande ou lindicateur de la variable
Variables locales
Si on cre la variable locale partir du sous-menu
Structures , celle-ci apparatra sous la forme suivante:
Ceci indique quaucune variable na t assigne pour
linstant la variable locale
Variables locales
Pour raliser cette assignation, il suffit de faire un
clic-droit sur lobjet et de choisir la variable dans le
menu slectionner un lment
Slectionner un lment entranera le fait que la
variable locale prendra le nom et le type de llment
slectionn
Dans notre exemple, la variable locale prendra le nom
STOP boucle 1 et sera de type boolen:
Variables locales
Il ny a pas de limites aux nombre de variables locales
que lon peut associer une variable
Une variable locale peut tre de deux types:
Variable locale en lecture
Variable locale en criture
On peut modifier le type lecture/criture par un
clic-droit sur la variable locale
Reprenons maintenant notre VI multithread.vi
Multi-threading
Les 2 boucles
sont maintenant
contrles par le
mme bouton
STOP
Variable locale en
lecture
Variable locale en
criture
Variables globales
Une variable globale agit de faon similaire une
variable locale except le fait que lon peut transfrer
cette variable dun VI un autre
Nous allons voir cette application travers un
exemple similaire au prcdent
Nous allons maintenant introduire la notion de variables
globales
Variables globales
Crer un nouveau VI boucle1.vi
Sur la face dentre, crer:
un bouton-poussoir (boolen) stop
un graphe droulant (chelle Y: 01)
un bouton rotatif dlai (U32, chelle 0500)
Sur le diagramme, crer:
une boucle WHILE
un gnrateur de nombre alatoire
une fonction attendre un multiple de ms
Variables globales
Sarrter sur condition vraie
Variables globales
Sur le diagramme, crer:
une variable globale partir du sous-menu structures
et la placer ct de la variable stop
On doit avoir lcran le symbole suivant:
double cliquer sur licne (ce qui ouvre une nouvelle
fentre)
ajouter un bouton-poussoir boolen gStop
sauver le VI sous le nom stop_global.vi
fermer le VI
Variables globales
Sur le diagramme de boucle1.vi :
clic-droit sur la variable globale
slectionner llment gStop
vrifier que la variable soit en criture
connecter stop la variable globale gstop
Variables globales
Diagramme de boucle1.vi :
Variables globales
Faire un nouveau VI boucle2.vi , semblable
boucle1.vi sans le bouton stop:
Variables globales
Diagramme de boucle2.vi :
Variable globale en
lecture
Variables globales
Lancer les deux VI boucle1.vi et boucle2.vi
comme prcdemment, on peut contrler de manire
indpendante la vitesse de chaque boucle
Si on presse sur le bouton stop de boucle1.vi, on
arrte lexcution des deux Vis
Remarque: Il nest pas possible de dmarrer boucle2.vi
avant davoir lancer boucle1.vi Pourquoi???

Vous aimerez peut-être aussi