Vous êtes sur la page 1sur 14

Initiation Labview

MASTER Optique,Image et Vision


1
me
anne

1. GENERALITES ............................................................................................................................................ 3
1.2 Les palettes...................................................................................................................................... 4
2. REALISATION D'UNE APPLICATION SIMPLE....................................................................................................... 5
2.1 Barre d'outil du diagramme............................................................................................................ 5
2.2 Documenter un VI ........................................................................................................................... 5
2.3 Sauvegarder un VI .......................................................................................................................... 6
3. CREER UN SOUS VI .................................................................................................................................... 8
4. VISUALISATION DE SIGNAUX ..................................................................................................................... 8
5. STRUCTURES DE CONTROLE DE L'EXECUTION D'UN PROGRAMME............................................................... 9
6. ARRAYS ET CLUSTERS (TABLEAUX ET GROUPES)..................................................................................... 10
6.1 Les tableaux (Arrays).................................................................................................................... 11
6.2 Les groupes (Clusters) .................................................................................................................. 12
7. CHAINES DE CARACTERES ET ENTREES/SORTIES ............................................................................................ 13
7.1 Manipulation des chanes de caractres ............................................................................................... 14
7.2 Les commandes et les indicateurs de liste et de menu rotatif................................................................ 14
7.3 Fichiers d'entre sortie.......................................................................................................................... 15
8. STRUCTURES : NUD FORMULE, CONDITION ET SEQUENCE............................................................................ 16
8.1 Le noeud formule : Formula node......................................................................................................... 16
8.2 La structure condition : Case structure................................................................................................. 16
8.3 La structure squence............................................................................................................................ 17
9. LES REGISTRES A DECALAGE ......................................................................................................................... 18
10. ACQUISITION DE DONNEES ET CONTROLE D'INSTRUMENTS .......................................................................... 19
10.1. Gnralits ......................................................................................................................................... 19
10.2 Bus GPIB............................................................................................................................................. 19
10.3 Les ports srie ..................................................................................................................................... 20
10.4 Cartes d'acquisition de donnes.......................................................................................................... 21
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 3
1. Gnralits
Labview (Laboratory Virtual Instrument Engineering Workbench) est un logiciel de la
socit National Instruments qui permet facilement de configurer des instruments, piloter des
manipulations, recueillir et traiter des donnes. Toute application Labview est appele un
instrument virtuel que nous noterons VI. Le mode de programmation est graphique (appel
langage G) mais il est bas sur la notion de programmation oriente objet. Le contrle est
effectu par flux de donnes (les oprations contenues dans un bloc seront excutes quand
toutes les donnes seront prsentes l'entre du bloc qui reprsente un noeud du graphe).
Pour chaque instrument ou bus ou carte d'acquisition, il existe une bibliothque de
programmes de configuration qui fournit la face avant de l'instrument et convertit les
commandes et les mesures. Labview permet ainsi de commander par programmation des
manipulations et de recueillir et traiter les donnes.
Notations. Les caractres en italique dsignent des commandes Labview.
Un VI est reprsent des trois manires complmentaires suivantes que l'on utilise
gnralement dans cet ordre lors de la conception.
La face avant qui est interactive parce qu'elle simule la face d'un instrument physique.
Elle comporte des contrles (interrupteurs, curseurs...c'est dire des entres) et des
indicateurs (crans, cadrans, voyants ...des sorties).
A chaque VI correspond un bloc diagramme. Il dcrit le traitement des donnes
effectuer entre les commandes et les indicateurs. On le construit en langage G. C'est la
solution graphique d'un problme de programmation. Ce diagramme correspond au code
source du traitement interne l'appareil.
L'icne/Connecteur facultatif qui permet de remplacer le VI
par une icne et de le connecter d'autres VI. En effet tout VI
peut tre un sous VI d'un VI plus complexe (comme un sous-
programme, une fonction ou une procdure dans un programme
textuel).

Avec ces supports, on a accs au concept de programmation
modulaire. On divise une application en une srie de taches qui
peuvent tre elles-mmes subdivises en taches lmentaires. Comme
on peut excuter chaque sous VI indpendamment, le dbogage est
Figure 1 : Palette
des outils
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 4
plus ais. Une fois que l'on a constitu une bibliothque de ses applications les plus courantes,
toute nouvelle application proche est vite dveloppe.
1.2 Les palettes
Sous Labview, on dispose d'une srie de palettes pour dcrire ou contrler les diffrents
aspects des VIs.
La palette des outils (Tools palette)
Elle est utilise pour diter et dboguer un VI. On la fait apparatre en slectionnant Windows
>>Show Tools Palette (figure 1).
Le doigt (operate value) permet de manipuler le VI mme en cours de fonctionnement.
La flche (position/size/select) permet de slectionner, positionner et redimensionner les
objets.
La lettre A (edit text) est l'outil d'tiquetage pour diter du texte.
La bobine de fil (connect wire) permet de relier les objets dans le bloc diagramme.
Le menu local (object popup) permet d'avoir accs au menu droulant d'un objet. On
peut ainsi changer les proprits d'un objet. Lorsqu'on dit "drouler le menu objet", il
faut slectionner le menu local puis cliquer sur l'objet.
La main (scroll window) permet de dplacer l'ensemble des objets dans la fentre.
Le stop (set/clear breakpoint) permet de mettre des
points d'arrt.
La sonde (probe data) permet d'effectuer des
prlvements sur les liaisons.
La pipette (get color) copie les couleurs.
Le pinceau (set color) tablit les couleurs de fond et
de premier plan.
La palette des contrles (controls palette)
Elle s'ouvre automatiquement lorsqu'on lance Labview
(sinon la slectionner dans windows). Malgr son nom, elle
permet de placer des contrles et/ou des indicateurs sur la
face avant d'un VI (figure 2). Chaque icne contient des
sous palettes. Les deux premiers contrles (en haut
gauche) sont:
Figure 2 : Palette des
contrles
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 5
Les indicateurs et contrles numriques pour entrer
ou afficher des grandeurs numriques.
Les indicateurs et contrles boolens pour des entres
ou sorties tout ou rien.
Nous dtaillerons les autres contrles au fur et mesure des
besoins.
La palette des fonctions
Elle s'affiche lorsqu'on visualise le bloc diagramme (figure 3).
Chaque icne contient galement des sous palettes. Elle
permet de placer des noeuds (oprateurs, VIs, constantes...)
dans le bloc diagramme.
2. Ralisation d'une application simple
2.1 Barre d'outil du diagramme
Elle permet de contrler le mode d'excution du VI. Les
boutons de gauche droite ont les actions suivantes :
Flche simple ; excuter une fois.
Flche double ; excuter en continu.
Bouton rouge ; arrter l'excution.
Ampoule ; afficher les donnes passant dans les fils (excution lente).
Excution dtaille (pas pas y compris l'intrieur des sous VI)
Excution semi dtaille.
Pour rendre la face avant active, il suffit de cliquer dans la fentre correspondante. Lorsqu'on
a lanc l'application, on peut ensuite manipuler le VI avec l'outil doigt comme un instrument
rel. On peut visualiser en mme temps la face avant et le diagramme avec windows>up/down
Observer les quatre premiers modes de fonctionnement.
2.2 Documenter un VI
Il peut tre utile de documenter un VI comme un programme lorsqu'il est complexe. Pour
cela, slectionner windows>>show VI info. On peut alors entrer des commentaires.
Figure 3 : Palette des
fonctions
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 6
2.3 Sauvegarder un VI
Avec file>>save as, affecter un nom et un chemin d'accs ce fichier qui aura l'extension .vi
Exercice 1 :
On se propose de tirer une suite de nombres alatoires compris entre 0 et 1, de les multiplier
par un coefficient fix par un contrle, d'afficher le rsultat sur un vumtre aiguille, de
comparer ce rsultat un seuil et d'allumer une Led si le rsultat dpasse le seuil.
Ouvrir une nouvelle face avant en slectionnant file>>new ou le bouton new VI dans la bote
de dialogue.

Figure 4 : Face avant de lexercice 1
Constitution de la face avant
On dsire raliser la face avant de la figure 4, aprs avoir fait apparatre la palette de
contrles :
a. Choisir un potentiomtre vertical dans controls>>numeric>>vertical slide et le placer
dans la face avant. Taper immdiatement le texte 'gain' dans la bote tiquette puis
cliquer l'extrieur. Pour fixer la plage du potentiomtre entre 0 et 100, l'aide de
l'outil tiquette A, double cliquer sur 10. Il doit alors apparatre en surbrillance. Taper
100,0 et cliquer l'extrieur.
b. Faire de mme avec un deuxime potentiomtre et le nommer 'seuil'.
c. Placer un vumtre disponible dans numeric>>meter. Le nommer 'affichage' et rgler sa
plage.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 7
d. Placer une led (Boolean>>round led) et la nommer 'dpassement'.
Constitution du bloc diagramme

Figure 5 : Bloc diagramme de lexercice 1
Ouvrir la fentre diagramme (Ctrl+E), les contrles et indicateurs de la face avant s'y trouvent
dj. Observer la diffrence de cadres. DBL et SGL signifient double et simple prcision.
Choisir les objets suivants dans la palette fonctions et les placer dans le bloc diagramme
comme sur la figure 5.
a. La function nombre alatoire reprsente par des ds dans functions >>numeric
>>random.
b. La fonction multiplication (functions>>numeric) pour multiplier la valeur gnre par
le coefficient.
c. La fonction suprieur dans functions>>comparison.
d. Relier les diffrents blocs en utilisant la bobine.
Pour relier deux points, il suffit de cliquer une fois sur chaque point dans n'importe quel ordre
(ne pas maintenir le bouton de la souris appuy). Labview affecte une couleur chaque
liaison suivant le type de donnes : bleu pour les entiers, orange pour les flottants, vert pour
les boolens et rose pour les chanes de caractres. En droulant le menu d'un objet, l'option
show>>terminals peut aider visualiser les connecteurs. Le connecteur clignote lorsqu'on est
bien positionn. En cliquant une, deux ou trois fois sur une liaison, on slectionne un
segment, une branche ou toute une liaison. Une liaison peut tre mauvaise pour diffrentes
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 8
raisons ( souvent incompatibilit de formes ou de types de donnes) ; elle apparat alors en
tirets (ne pas confondre avec les pointills des boolens). Pour finir lancez l'application et
vrifiez son bon fonctionnement.
3. Crer un sous VI
On peut utiliser autant de sous VI que l'on veut et chaque sous VI peut appeler d'autres sous
VI, etc. Pour utiliser un VI comme sous VI, il faut crer une icne pour le reprsenter et un
connecteur pour relier ses entres et ses sorties.
Exercice 2
On se propose de crer un sous VI partir du VI prcdent.
a. Ouvrir le VI prcdent si vous l'avez ferm.
b. Appeler l'diteur d'icne en droulant le menu local dans le coin suprieur droit de la
face avant et slectionner Edit icon. Vous disposez alors de diffrents outils de dessin
dans une fentre gauche pour personnaliser votre icne. Effacer l'icne existante par
dfaut. Dessiner un d et/ou taper du texte (DE par exemple). Fermer en cliquant sur
OK.
c. Crer le connecteur en utilisant show connector (menu objet de l'icne). Labview
slectionne automatiquement le nombre de connecteurs suivant le nombre de contrles
et d'indicateurs (deux entres-contrles et deux sorties-indicateurs). Les entres sont
gauche et les sorties droite. Cliquer sur le connecteur et sur l'indicateur ou le
contrle correspondant pour les connecter. Le connecteur reli est alors gris.
Il faut videmment enregistrer ce sous-VI avec un nom distinct puisqu'il peut tre utilis dans
d'autres applications. Pour l'utiliser par la suite, ouvrir un nouveau VI, et dans le diagramme
slectionner le sous-VI avec functions>>select a VI.
Remarque :Lors du dveloppement d'un VI, le diagramme peut s'avrer plus complexe que
prvu ou deux parties peuvent tre identiques. On transforme alors en sous VI une
partie du diagramme. Il suffit de slectionner le bloc que l'on veut mettre en sous-
VI et de choisir Edit>>SubVI from selection. Labiew ralise alors lui-mme les
connexions.
4. Visualisation de signaux
Labview permet de reprsenter un ou plusieurs signaux sur un mme graphe de plusieurs
manires dans control>>graph. Le mode waveform graph (graphe oscilloscopique) est de la
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 9
forme y(n) o n reprsente le numro du point. Le mode waveform chart (traceur) est de la
forme y(x) avec des valeurs de x rgulirement espaces de x et dbutant x
0

(respectivement 1 et 0 par dfaut). Le mode XYgraph trace le tableau y en fonction du tableau
x.
Exercice 3
Remplacer le Vumtre prcdent par un traceur (waveform chart), retourner dans le
diagramme pour relier la valeur de sortie au traceur.
Les valeurs de ces graphes sont contenues dans des tableaux dont le nombre de valeurs peut
voluer. Le graphe affiche un certain nombre des dernires valeurs et se met jour de 3
manires diffrentes accessibles dans le menu objet de l'cran avec Data operation>>Update
mode.
Le mode strip chart qui affiche en permanence les dernires valeurs (comme un
enregistreur papier)
Le mode scope chart qui fonctionne comme un oscillo (il efface lorsqu'il arrive au
bout et recommence du dbut un nouveau graphe)
Le mode sweep chart qui fonctionne un peu comme un oscillo mmoire (il
n'efface que la partie o il retrace ; un curseur permet de reprer cette position).
Observer ces diffrents modes de rafrachissement.
Remarques :Un certain nombre de points antrieurs se trouvent dans une mmoire tampon
mme s'ils ne sont plus affichs. On peut les afficher de nouveau (remonter le
temps) avec show>>scrollbar du menu objet de l'cran du traceur. Le menu
objet de plot permet de choisir diffrents modes de reprsentation des points et
lignes.
5. Structures de contrle de l'xcution d'un programme
Lors d'exprimentations, il est indispensable de contrler le dbut, la fin et le nombre
d'excutions d'une application sinon elle dbute immdiatement avec run, s'excute le plus
rapidement possible et se termine avec stop sous notre contrle comme nous l'avons fait
prcdemment. Labview dispose des boucles For et While comme en programmation
classique. Elles se situent dans functions>>structures.
La boucle For excute N fois le sous-diagramme contenu dans les limites de la
boucle reprsente par un cadre. Elle fait apparatre la valeur N et l'indice i qui
varie de 0 N-1.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 10
La boucle While excute le sous-diagramme contenu dans les limites de la boucle
jusqu' ce que la condition terminale qui doit tre un boolen soit fausse. La
stucture fait apparatre l'indice (il dmarre 0 et s'incrmente chaque excution de
la boucle) et la condition terminale.
Attention :Contrairement la plupart des langages de programmation, la boucle while de
Labview est xcute au moins une fois.
Il existe trois autres structures que nous verrons plus tard : sequence, case et node.
Exercice 4
Utilisation d'une structure de contrle rptitive et visualisation de signaux.
a. Ouvrir la fentre face avant du VI prcdent et placer un bouton (controls>>boolean)
que vous nommerez 'M/A'.
b. Ouvrir le bloc diagramme et placer une boucle While (function>>structure) autour de
l'ensemble des objets.
c. Relier M/A la condition terminale de la boucle.
d. Retourner dans la face avant et cliquer sur le bouton M/A avec le doigt (operate tool).
e. Lancer le VI (run normal). Une nouvelle action sur le bouton M/A arrtera
l'acquisition en terminant la boucle.
Ajout d'une synchronisation.
Il est souvent utile de contrler les instants de traitement (dans notre exemple, le temps de
redmarrage d'une nouvelle boucle). Placer l'icne function >>Time &Dialog>>Wait until
next ms multiple dans la boucle. Ouvrir le menu objet (Clic droit), slectionner create
constant et taper 500 pour deux acquisitions par seconde. Visualiser la courbe en changeant
cette valeur.
Remarque :Il est prfrable d'utiliser cette dernire mthode (menu objet du noeud) pour
relier des constantes, des indicateurs ou des contrles aux entres et sorties ; les
connexions s'tablissent toutes seules et les types de donnes correspondent
obligatoirement.
6. Arrays et clusters (Tableaux et groupes)
Jusqu' maintenant nous avons manipul des scalaires (nombres individuels). Il est possible et
souvent intressant de manipuler des tableaux une, deux ou n dimensions. Les graphes
manipuls prcdemment utilisaient des tableaux pour mmoriser les valeurs tracer ; de
mme, si des signaux proviennent de plusieurs canaux d'une carte d'acquisition, ils seront
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 11
stocks en tableaux 2D (une colonne par canal et une acquisition par ligne). Il existe deux
manires de grouper les donnes :
En arrays (tableaux) si les donnes sont de mme type.
En clusters (groupes) si les donnes sont de nature diffrente.
Ils sont caractriss tous deux par leur forme 1D, 2D ou nD, leur taille (nombre de lignes,
nombre de colonnes, nombre de plans, etc...) et leur contenu (type de donnes). Un lment
de tableau est repr par ses indices qui dbutent toujours 0. Contrairement aux arrays qui
peuvent changer de taille de manire dynamique (autoindexation), les clusters ont des tailles
fixes. Pour augmenter les dimensions, drouler le menu objet en cliquant sur l'affichage de
l'indice et slectionner add dimension.
6.1 Les tableaux (Arrays)
On cre un tableau en deux tapes : en dfinissant d'abord le nombre de dimensions et
ventuellement leurs valeurs maximales puis en dfinissant le type de donnes qui peut tre
d'une part un contrle ou un indicateur et d'autre part numrique, boolen ou chane. Quand
on pose un tableau pour la premire fois dans la face avant, il apparat noir ce qui signifie que
le type de donnes est indfini. Il prendra ensuite la couleur correspondant au type de
donnes.
Il existe de nombreuses fonctions pour manipuler les tableaux dans functions>>array.
Exercice 5. Utilisation de tableaux
On se propose de remplir un tableau de rels une dimension l'aide d'une boucle For. Dans
une nouvelle face avant, crer un tableau avec array cluster>>array. Pour dfinir le type de
donnes placer un indicateur digital (nb lments) dans la zone d'affichage du tableau en
ouvrant le menu objet de cette zone et en slectionnant numeric>>digital indicator. Nous ne
dfinissons pas la dimension du tableau, l'autoindexation de la boucle For l'effectue
automatiquement.
Dans le diagramme positionner un gnrateur de nombres alatoires. L'entourer d'une boucle
For (structures >>For loop). En ouvrant le menu objet de la valeur terminale N, slectionner
create constant ou control si vous voulez fixer N dans la face avant. Relier le d au tableau.
Cette connexion, dans sa partie extrieure la boucle, doit alors apparatre paisse indiquant
un transfert de tableau une dimension.
Fixer la valeur de N et lancer l'application. Observer le fonctionnement dtaill l'aide de
l'option ampoule de la barre d'outil du diagramme.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 12
Effectuer le mme travail pour un tableau 2D l'aide de deux boucles For imbriques. Les
liaisons vhiculant des tableaux plusieurs dimensions sont reprsentes par des doubles
traits.
Passer ventuellement 3D. Dans chaque cas, dans la face avant, reprer les numros de
lignes, colonnes, etc...
Remarque :L'autoindexation est valide par dfaut pour les boucles For et inhibe par dfaut
pour les boucles While. On peut changer les validations par dfaut l'aide du
menu local sur le point d'entre ou de sortie de la boucle ; ces points dfinissent
un tunnel.
6.2 Les groupes (Clusters)
Un cluster est une structure qui regroupe des donnes ventuellement de nature diffrente
contrairement aux arrays. Le principal avantage est au niveau des connexions car on peut
relier plusieurs noeuds avec une seule liaison regroupant plusieurs types de donnes. Le
regroupement et 'dgroupement' de donnes peut tre ralis par les fonctions bundle et
unbundle de cluster. Les mmes fonctions by name permettent d'agir sur une partie du cluster
seulement.
Exercice 6. Cration d'un cluster, dgroupement, regroupement et affichage dans un
autre cluster
a. Ouvrir une nouvelle face avant
b. Placer un cluster (control>>Array&cluster) ; le nommer 'cluster d'entre'.
c. Elargir le cadre et placer l'intrieur deux contrles digitaux (boolean switches), une
chane de controle (string) et un contrle numrique.
d. Crer un cluster de sortie en clonant celui d'entre (le slectionner puis le dplacer
avec la souris en appuyant sur la touche contrle du clavier).
e. Cliquer sur la bordure du cluster l'aide du menu objet et slectionner Change to
indicator.
f. Changer l'tiquette du nouveau cluster en 'cluster de sortie'. Vrifier ventuellement
que les deux clusters ont le mme ordre en droulant un menu sur la bordure et en
choisissant Cluster order.
g. Placer un bouton stop rectangulaire (boolean). Noter que ce bouton est faux par
dfaut.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 13
h. Construire un diagramme dans une boucle While en intercalant un Unbundle et un
bundle (fonctions>>cluster) entre le cluster d'entre et celui de sortie. Pour pouvoir
les cbler correctement il est ncessaire de redimensionner ces deux lments (cliquer
avec l'outil flche en bas droite de l'icne et faire glisser jusqu' ce qu'une quatrime
broche apparaisse).
i. Contrler la boucle par le complment du bouton en intercalant une fonction Not
(fonctions>>boolean).
Remarque : Cet exercice est purement pdagogique car on peut relier directement deux
clusters).
Exercice 7. Array, bundle and graph
On se propose de construire un VI qui gnre un tableau et en trace un graphe reprsentatif.
Dans une nouvelle face avant, placer
a. Un graphe (waveform graph) auquel vous affectez une tiquette.
b. Un tableau (id). Slectionner un indicateur numrique et le placer dans la zone
d'affichage des donnes afin d'en dfinir le type.
Construire le diagramme de la figure. Le bloc generate wave... est un VI situ dans
functions>>tutorial. Placer deux constantes numriques et les relier aux entres du bundle.
Relier la sortie du bundle l'entre du graphe. La signification de x0 et delta x est obtenue en
slectionnant au pralable help show help (ceci est valable pour tout noeud dont on ne connat
pas le brochage). Si une tiquette n'est pas disponible, on peut en affecter une en ouvrant un
menu local et en slectionnant show label.
Retourner dans la face avant et excuter le VI. L'chelle automatique des ordonnes peut tre
dsactive par Yscale>>autoscale Y du menu local ouvert sur le graphe. En double cliquant
sur le mini et le maxi, on peut les modifier volont.
7. Chanes de caractres et entres/sorties
Jusqu' prsent, nous n'avons utilis que des entres et des sorties numriques respectivement
l'aide de contrleurs et d'indicateurs. Lorsqu'on observe le diagramme d'un driver
d'instrument, on s'aperoit que la manipulation de chanes de caractres constitue l'essentiel
des fonctions et les menus rotatifs l'essentiel des contrles. Enfin, le recueil de nombreuses
donnes ncessite souvent le transfert dans un fichier pour un traitement ultrieur.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 14
7.1 Manipulation des chanes de caractres
Les VIs de manipulation de chanes se trouvent dans functions>>string et nous allons citer
les plus couramment utilises. Une description "dtaille" est obtenue avec Help show help.
Quelques exercices illustreront leur utilisation.
Concatenate string assemble plusieurs chanes en entre en une seule chane de
sortie.
Pick line & append choisit une ligne dans une chane multiligne et ajoute cette
ligne la chane d'entre.
Select & append slectionne une chane "faux" ou une chane "vrai" suivant un
slecteur boolen puis l'ajoute la chane d'entre.
Match pattern recherche une chane de caractre dans une expression partir d'un
indice (numro de caractre) et ressort trois sous-chanes.
Le sous menu Aditional String to number function contient de nombreuses
fonctions de conversions de chanes en nombres.
7.2 Les commandes et les indicateurs de liste et de menu rotatif
La palette controls >> List & Ring contient huit commandes. Ils associent des entiers non
signs des chanes de caractres, des images ou aux deux la fois. Ils sont utiles lors de la
slection d'options dans un menu sans connatre la valeur numrique correspondante.
Les menus rotatif de menus (menu ring) ou de dialogue (dialog ring) permettent de
slectionner un menu parmi plusieurs qui s'affichent simultanment.
Les commandes de liste servent prsenter aux utilisateurs une liste d'options. Single
selection permet un choix unique alors que multiple selection permet un choix multiple.
Les commandes de type numration (enumerated type) s'apparentent une commande de
menu rotatif textuel sauf que lorsque les donnes de l'numration sont relies une structure
condition, la condition affiche la chane de caractres ou le texte de l'lment au lieu d'un
nombre.
A titre d'exercice de comprhension, reproduire les diagrammes contenant des string
functions issus de configure sensor et triggering (p23-26) et ajouter un indicateur de chane
la fin de chaque diagramme. Le text ring "sensor channel" comporte deux lignes : "channel
A" et "channel B". Ne pas faire figurer les visa.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 15
7.3 Fichiers d'entre sortie
Les functions>>file I/O servent non seulement lire ou crire dans des fichiers mais
galement dplacer ou renommer des fichiers ou des chemins d'accs. Il existe trois modes
de stockage
Fichiers ASCII. Il faut convertir toutes les donnes en chane ASCII. Le gros
avantage est de pouvoir les rutiliser avec d'autres programmes ou logiciels tels les
tableurs ou les diteurs de texte. Nous n'tudierons que ce mode.
Fichiers Datalog. Seul Labview peut lire ces fichiers.
Fichiers binaires. Cette mthode est la plus rapide et la plus compacte mais il faut
bien connatre la manire dont on a organis les donnes.
La plupart des oprations d'entre sortie fichiers comprend les trois oprations de base : ouvrir
un fichier existant ou le crer, lire ou crire dans le fichier, fermer le fichier. Les Vis suivants
xcutent une ou plusieurs des oprations prcdentes pour les fichiers ASCII.
Write characters to file crit une chane de caractres dans un nouveau fichier ou
ajoute la chane dans un fichier existant. Il referme le fichier.
Read characters from file effectue l'opration inverse.
Read lines from file lit un nombre donn de lignes partir d'un caractre spcifi.
Write to spreadsheet file convertit un tableau 1D ou 2D de nombres simple
prcision en une chane et les crit dans un fichier (A utiliser pour relire les
donnes avec un tableur).
Read from spreadsheet file effectue l'opration inverse.
Exercice 8
Ajouter au VI de l'exercice 7 une fonction sinus pour gnrer un deuxime tableau 1D. A
l'aide d'un Build array, former un tableau 2D. Le sauvegarder dans un fichier ; relire le
tableau hors labview et tracer la courbe correspondante l'aide d'un tableur (Excel par
exemple).
Quelques raccourcis :Maintenant que vous matrisez Labview vous pouvez prendre des
raccourcis pour gagner du temps de manipulation. Pour drouler un
menu objet, par exemple, on peut se positionner sur l'objet et cliquer
sur le bouton droit de la souris. Pour effacer des liaisons mauvaises
CTRL-b (bad).
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 16
8. Structures : nud formule, condition et squence
Nous allons maintenant tudier les autres Vis contenus dans function>>structure qui
permettent de mettre en place des structures de programmation.
8.1 Le noeud formule : Formula node
On peut raliser n'importe quel calcul avec un diagramme, mais cette solution n'est pas
toujours la plus concise ou la plus lisible. Le noeud formule permet d'crire des squences de
calcul comme en programmation classique. L'exercice suivant va illustrer son utilisation.
Exercice 9
On va utiliser un noeud formule pour calculer la fonction y = x^2 + x + 1 pour x variant de 0
2 avec un pas de 0.1 et reprsenter son graphe. Dans une nouvelle face avant, positionner un
graphe xy. Dans le diagramme, positionner un noeud formule
(function>>structure>>formula node). Agrandir le cadre et taper la formule (termine par ; ).
En droulant un menu objet sur la bordure, choisir add input et add output, puis entrer le noms
des variables x et y dans les cases (ce doit tre les mmes noms que dans la formule).
Ajouter une deuxime formule de votre choix et tracer les deux courbes en fonction de x.
8.2 La structure condition : Case structure
Cette structure ralise approximativement l'quivalent du if then et du case de turbopascal.
Elle possde un terminal de slection (selection terminal) qui selon sa valeur fait excuter un
sous diagramme (condition = case) parmi plusieurs. Si un boolen est connect au terminal, il
existe un sous diagramme excut si la condition est true et un autre si elle est false. Si on
connecte un numrique, on peut envisager au maximum 2
15
-1 sous diagrammes numrots
partir de 0 et excuter celui dont le numro correspond au terminal. On ne peut afficher
qu'une seule condition la fois dans le diagramme; pour passer de l'une l'autre, cliquer sur
l'une des flches en haut de la structure.
Exercice 10
Raliser un VI qui calcule la racine carre d'un nombre si celui-ci est positif et signale une
erreur s'il est ngatif en affichant la valeur -99.
Dans une face avant placer un contrleur digital pour entrer le nombre et un indicateur digital
pour afficher la racine carre.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 17
Dans le diagramme, placer une structure condition (functions>>structure>>case). L'agrandir
en tirant sur un coin. La fonction one button dialog se trouve dans time & dialog et permet
d'afficher une bote de dialogue.
Remarque :Les cas simples du type if then else de cet exercice peuvent tre rsolus plus
simplement par la fonction select dans comparison. Voir description avec Help
>>show help.
8.3 La structure squence
Cette structure est trs importante car elle permet de drouler plusieurs squences les unes
aprs les autres la manire des images d'un film comme le rappelle la reprsentation. Cette
structure n'a pas d'quivalent en programmation classique puisque les instructions sont
excutes dans l'ordre. Par contre elle est ncessaire dans le cas du contrle par flux de
donnes.
Exercice 11
A titre d'exemple, on va raliser un VI qui par tirage alatoire va chercher un nombre entr
dans la face avant. On calculera en mme temps le nombre d'itrations et le temps mis pour
trouver le nombre.
Dans une face avant, placer un contrleur et trois indicateurs que vous nommerez 'nombre
chercher', 'nombre tir', 'nombre d'itrations' et 'temps mis'.
Changer la prcision des trois premiers en slectionnant format&precision dans leur menu
objet et en tapant 0 pour le nombre de dcimales.
Raliser le diagramme de la manire suivante.
Placer et agrandir une structure squence ; elle a implicitement le numro 0. Placer
l'intrieur la fonction tick count (ms). Crer une variable locale en droulant le menu objet sur
le bord infrieur du cadre et en choisissant add sequence local. Cette variable locale est
initialement reprsente par un carr qui comporte une flche lorsqu'il est connect, elle sera
disponible dans les autres squences.
Crer un nouveau cadre avec le menu objet en choisissant add frame after (squence 1).
Placer une structure While, les indicateurs et controleurs utiles ainsi que les fonctions
numriques. La fonction [] (round to nearest) arrondit.
Dans la dernire squence, on dsire calculer le temps mis pour la dtermination du nombre
en faisant la diffrence des instants d'horloge de dbut et de fin.
Entrer une valeur dans la face avant, xcuter le VI et l'enregistrer.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 18
9. Les registres dcalage
Ils sont disponibles pour les boucles For et While et permettent de transfrer des valeurs d'une
itration la suivante. On les cre en ouvrant un menu local sur la bordure droite ou gauche et
en choisissant Add shift register. Il apparat alors une flche montante droite et une
descendante gauche au mme niveau qui symbolisent respectivement le stockage des
donnes pendant l'itration et la restoration de ces donnes pendant l'itration suivante. On
peut stocker les lments de plusieurs itrations en choisissant add element. Il apparat alors
plusieurs flches gauche. On peut crer plusieurs registres dcalage. Ce registre peut tre
un nombre, un tableau ou un cluster.
Exercice 12
Raliser un VI qui trie les nombres d'un tableau suivant leur signe et place les positifs et les
ngatifs dans deux tableaux diffrents.
Dans une nouvelle face avant, placer trois tableaux indicateurs d'entiers une dimension et
les nommer 'tableau alatoire', 'tableau des positifs' et 'tableau des ngatifs'.
Commencer par gnrer le tableau initial de nombres entiers alatoires compris entre -5 et +5
l'aide d'une boucle For.
Placer une seconde boucle For indpendante de la prcdente et crer deux registres
dcalages. A l'intrieur de la boucle placer une structure condition dont le terminal de
slection est reli au signe du nombre du tableau alatoire. A l'intrieur de chaque condition
(true or false) placer un build array. L'agrandir 2 lments et changer l'lment d'entre en
array (menu objet). La mthode consiste ajouter chaque nombre positif (ngatif) au tableau
des positifs (ngatifs) qui revient en dbut de diagramme grce au registre. Il faut initialiser le
tableau par un initialize array.
Remarque : Observer l'effet de l'auto-indexation au bord de la boucle For qui transforme, en
sortie, une srie de valeurs en tableau et le processus inverse en entre.
Exercice 13
On se propose de calculer la valeur moyenne, maximale et minimale d'une suite de N valeurs
gnres de manire alatoire. Cet exercice est encore purement pdagogique car ces
fonctions existent pour les tableaux dans les Vis d'analyse. Vous pouvez cependant utiliser le
VI Max Min dans function>>comparison.

Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 19
10. Acquisition de donnes et contrle d'instruments
10.1. Gnralits
Le principal intrt de Labview est de pouvoir communiquer avec le monde extrieur (
l'ordinateur) via des Bus, des ports sries ou des cartes d'entre-sortie. Cette communication
est aise car il existe des VIs qui contrlent les diffrents bus, cartes ou instruments. La
difficult au niveau de cette formation rside dans la connaissance pralable de ces diffrentes
notions. Nous donnerons les outils ncessaires aux dveloppements de telles applications et
quelques exemples de Vis qui ne pourront tre excuts qu'en prsence du matriel adquat.
Contrle d'instrumentation VISA
Visa est une bibliothque d'interfaces qui permet de contrler des instruments sous bus GPIB
ou autre. A l'aide de ces fonctions, on peut construire un VI de driver d'instrument qui
contrle un modle particulier d'instrument au moyen de diffrents supports d'entre sortie.
Une chane de caractre est transmise la fonction Open de Visa afin de choisir le type d'E/S
utiliser pour communiquer avec l'instrument. Une fois que la session Visa est ouverte, les
fonctions Visa telles que read et write excutent les E/S de manire gnrique. Le driver
d'instrument Visa est alors indpendant de l'interface.

Nous allons donner des exemples de VIs des diffrents moyens d'E/S. A dfaut de pouvoir les
excuter sans gnrer de signal d'erreur cause de l'absence de la carte ou de l'appareil, il est
plus intressant d'observer leur structure et les lments qui les composent. Il peut tre utile
d'en reproduire une partie pour observer l'excution dtaille comme on l'a dj fait au
paragraphe 7.
10.2 Bus GPIB
Le bus le plus courant est le GPIB (General Purpose Interface Bus) galement appel IEEE
488. A l'aide d'une carte d'interface GPIB installe dans l'ordinateur, on peut communiquer
avec plusieurs appareils connects l'aide de cbles GPIB.
Les figures en annexes (p23-26) reprsentent le driver d'un chassis HP 8153A dans lequel on
peut placer deux tiroirs (radiomtres ou sources). Nous ne nous occuperons pas des VIs visa
qui n'ont pas de rle fonctionnel.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 20
La face avant reprsente les diffrents contrles et indicateurs : le choix du canal A ou B, le
mode de dclenchement, le type de "mesure" (lecture pour un radiomtre ou "envoi" pour une
source), la longueur d'onde, la valeur lue et les diffrents messages d'erreur ventuels.
Le diagramme correspondant est constitu de trois sous-VI : configuration du capteur, mode
de dclenchement et lecture ou envoi de valeurs. Le diagramme de chacun est dtaill ensuite.
Le diagramme configure sensor (p24) est constitu d'un pick line & append qui dfinit la
chane de caractre relative au canal de mesure et de deux string to number function qui
spcifient le format des nombres relatifs au temps de mesure et la longueur d'onde. Par
exemple, si on choisit le canal 2, un temps de mesure de 0.5s et une longueur d'onde de 980
nm, il formera la chane :
sense2:pow:atime0.500;wave980.00nm
Le diagramme configure triggering (p25) ajoutera la chane prcdente la chane suivante
(par l'intermdiaire de visa) si on fonctionne en dclenchement continu.
init2:cont on
Enfin, si on fait une lecture, le diagramme read/fetch value (p26) ajoutera la chane
read2:scal:pow:dc?
La chane complte sera envoye l'appareil par l'intermdiaire du write visa. Le read visa
accomplira la lecture, puis la chane de caractre sera convertie en nombre pour l'afficher
dans l'indicateur reading.
10.3 Les ports srie
La liaison srie est un moyen de communication trs rpandu car la plupart des ordinateurs
possde au moins un port srie. Il permet d'entrer ou sortir des donnes, en srie, bit par bit.
L'inconvnient est l'impossibilit de connecter plusieurs appareils. Les VIs de liaison srie se
trouvent dans functions >> Instrument I/O >> serial. Ils sont au nombre de cinq : serial port
init, serial port write, serial port read, bytes at serial port et serial port break.
Un exemple de VI de lecture et criture est donn sur les figures en annexes (p27).
La face avant comporte un text ring indiquant le numro du port, un enumerated type qui
spcifie l'action et un contrle digital qui dfinit le nombre d'octets lire. Elle comporte
galement un contrle et un indicateur de chane contenant la chane crite ou lue sur le port.
Le diagramme comporte une structure condition slectionne par l'action read ou write.
La condition write comporte principalement un VI serial port write qui envoie la chane
serial write. Le reste concerne la gestion des erreurs.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 21
La condition read est plus complexe. Elle comporte une boucle while dans laquelle on teste
le nombre d'octets prsents dans le buffer d'entre (bytes at serial port). On sort de la boucle
lorsque ce nombre est suprieur ou gal bytes to read ou en prsence d'une erreur. On les lit
alors avec un VI serial port read et on les affiche dans l'indicateur serial read.
10.4 Cartes d'acquisition de donnes
Un autre moyen de communication est la carte d'entre-sortie analogique-digitale. Labview
fournit des Vis facilitant l'utilisation de telles cartes. La sous-palette function >> Data
acquisition contient dans l'ordre les sous-palettes suivantes : Analog input ; Analog output ;
digital I/O ; Counter ; Calibration and configuration et Signal conditionning. Chacune de ces
sous-palettes contient encore une sous-palette organise comme suit ; la premire ligne
contient des Vis simples, la seconde des Vis intermdiaires et la dernire des Vis avancs.
Vis d'acquisition de donnes
Observer les Vis simples et ouvrir les sous-Vis qui les composent. Utiliser le show help pour
visualiser les connexions.
Ouvrir et analyser le fonctionnement du VI situ dans examples \daq \anlogin \analogin.llb
\Acquire-n-multi-start (p28). La face avant comporte des contrles : numro de la carte
(device), numro du ou des canaux acqurir sous forme de chane (channels), nombre
d'chantillons et frquence d'chantillonnage et ventuellement limites de variation du signal
acqurir. Elle comporte galement un bouton start et un stop. Un indicateur (voltage data)
permet de lire les valeurs acquises et un cran d'afficher les courbes.
Le diagramme est constitu de deux boucles while imbriques. L'une comporte le VI
d'acquisition (Al wave) qui fournit un tableau des valeurs acquises. L'autre est la logique de
contrle. On relance une acquisition chaque fois que l'on appuie sur start. On allume un
voyant quand l'acquisition est termine. Une action sur stop arrte le VI par Al clear.
Regarder le menu local d'un bouton pour voir les diffrentes possibilits d'action mcanique.
Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 22
HP8153A Example



Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 23
Configure Sensor Averaging Time and Wavelength



Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 24
Sensor Trigger



Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 25
Sensor Read/Fetch value


Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 26
Port Srie



Universit Jean Monnet Saint-Etienne
Master OIV 1 Initiation Labview 27
Carte dacquisition

Vous aimerez peut-être aussi