Cours Labview

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 191

Introduction LabVIEW

Introduction
LabVIEW est un langage de programmation graphique,
particulirement adapt aux montages exprimentaux.
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

Introduction
Interfaage dexpriences
Contrle dinstruments
acquisition des donnes

Analyse et traitement
de donnes
traitement du signal
traitement statistique

LabVIEW
Prsentation et stockage
de donnes
Affichage courbes
Stockage donnes

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

LabView 6i disponible sur vos machines


(version actuelle : 7.1)
lancer LabVIEW :
dmarrer programmes National
Instruments LabVIEW 6 LabVIEW

Bote de dialogue au lancement

Ecrans louverture

Face avant
Diagramme

Face avant - commandes


[ Clic droit ]

Diagramme - Fonctions

Outils
Position / Taille / Selection
Texte
Changement valeur

Cblage
Point d'arrt

Choix couleur

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
LabVIEW a 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


Nous allons maintenant ajouter la fonction mathmatique daddition.
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

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
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.
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

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
LabVIEW a 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

entre pour Vrai


T
condition
entre pour Faux

Sortie
F

Chemin des donnes si Vrai

entre pour Vrai


T
Vrai

Sortie
F

Chemin des donnes si Faux

T
Faux
entre pour Faux

Sortie
F

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 vi, mais aussi
vi-1, vi-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

pour N = 4 i=0,1,2,3

indice de litration
en cours
(commence 0)

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
pour visualiser les
diffrentes valeurs possibles,
utiliser les flches

valeur dentre

Structure Condition
On peut ajouter/supprimer des cas possibles (<clic droit>)
Un cas par dfaut doit tre spcifi pour 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 (carr orange) 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 n est 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 d exemple, 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), duree ecoulee (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 jusqu ce 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 :

boucle while

start

arrter sur
condition vraie

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 carr jaune apparat.
relier ce carr au 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 Labview pour 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 (231 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:
Face-avant:
Diagramme:

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 JOUER!!!!

Auto-indexation exemple
Linitialisation dun tableau laide dune boucle WHILE:

Faire un clic-droit
ici pour activer
lindexation

Se souvenir que lindexation nest pas possible par


dfaut dans une boucle WHILE!!!

Initialisation dun tableau


Si on souhaite initialiser tous les lments dun tableau
une valeur identique, il existe une fonction dans labview qui
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
Dans cette partie, nous prsenterons la manipulation de
chanes de caractres sous Labview.
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

Formater en chanes
Sur le diagramme, ajouter la fonction formater en
chane dans le sous-menu Chane
Chane de format
(spcifie la conversion)
Chane dentre

Entre(s)
additionnelles
(nombres, chanes)

Chane en sortie

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


Cette chane de format dfinit les
diffrents mots de la chane

Remarque: il nest pas ncessaire de connecter toutes les


sorties un indicateur.

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 Labview et 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

Dans cette partie, nous prsenterons le multifentrage


sous Labview
Ouvrir le fichier multithread1.vi
Lancer lapplication

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
2me bouton
STOP

Multi-threading

Connecter le
1er bouton la
condition de
sortie de la
2me boucle

Multi-threading
Mme si cette connexion est accepte, le programme ne
sexcute pas correctement (la boucle 2 ne dmarre jamais)

Essayons une autre possibilit : placer le


boolen en dehors des deux boucles

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
Variable locale en
criture

Les 2 boucles
sont maintenant
contrles par le
mme bouton
STOP
Variable locale en
lecture

Variables globales
Nous allons maintenant introduire la notion de 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

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