V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 1 sur 66
COURS LabVIEW
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 2 sur 66
Chapitre 1 INTRODUCTION
I LA PROGRAMMATION
Un ordinateur en fonctionnement ralise des tches pour lesquelles il a t programm.
Donnes
Traitement Informatique
Rsultats
TexteSonImagesmesures
TexteSonImagesmesures
Entres Sorties
Le programme est crit dans un langage de programmation, en respectant une syntaxe propre aulangage choisi.
COMPILATEUR
Langage de programmation
Application autonome
Texte => Fichier source
Fichier excutable
Logiciel install dans l'ordinateur
crire en respectant la syntaxe d'un langage, la suite des tches devant tre excutes par l'ordinateur, de faon logique et structure
Exemples de langages de programmation :
Langage Machine
Assembleur
Langage Evolus :C, Pascal, Fortran, BasicVisual Basic, LabVIEW
Le seul comprhensible par l'ordinateur
Compilation = Traduction
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 3 sur 66
II ALGORITHME
Programmer, cest crire en respectant la syntaxe d'un langage, la suite des tches devant treexcutes par l'ordinateur, de faon logique et structure.
On ne se lance pas crire un programme sans avoir rflchi au problme pos, et la faon de lersoudre.
Il faut laborer un algorithme :
S u ite d 'in s t r u c t io n s q u i u n e fo is e x c u t e s c o r re c te m e n t c o n d u it u n r s u l ta t d o n n
A lg o r it h m e
A lg o r i th m iq u e S c ie n c e q u i tu d ie la s t r u c tu re lo g iq u e d e s p ro g ra m m e s
Lalgorithme est indpendant du langage :
Algorithme
CPascal
Fortran
Basic
LabVIEW Visual Basic
L'algorithme se ramne une combinaison de 4 familles d'instructions :- Affectation de variables- Lecture criture- Tests- Boucles
III QUEST CE QUE LabVIEW ?
LabVIEW est un logiciel cr en 1985. Cest un logiciel de dveloppement dapplicationsdinstrumentation plus particulirement destin lacquisition des donnes de mesure et leurtraitement.Il utilise un langage de programmation graphique.
Cet enseignement a t mis en place en DUT MP Montbliard en 1995.La version utilise en TP est la version 7.1 sous Linux ou Windows.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 4 sur 66
IV STRUCTURE DUN PROGRAMME LABVIEW
LabVIEW tant plus particulirement destin linstrumentation, un programme LabVIEW apparatconstitu comme un appareil de mesure :
Une face avant :
Un diagramme :
V LES ENTREES SORTIES
1/ DEFINITION
Un programme informatique manipule des donnes fournies par lenvironnement extrieur :
- Entres au clavier par lutilisateur- Acquises par une carte dacquisition (mesure de Temprature par exemple)- Dlivres par un appareil de mesure (Voltmtre, via une liaison informatique)- Tires dun fichier tableur- Etc
Ces donnes constituent des variables dentre.
Leur traitement (par exemple : filtrage, analyse frquentielle ) donne naissance des rsultats(affichage dun graphe dvolution de la temprature mesure) ou engendre des actions de commandedlivres par lordinateur (commande darrt de chauffage).
Ces informations constituent des variables de sortie.
Llaboration dun algorithme ncessite de bien identifier les entres/sorties.
La face avant estlinterface aveclutilisateur.
Le diagrammecorrespond aux circuitsinternes de lappareil etconstitue le cur duprogramme
Programme Variables desortie
Variablesdentres
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 5 sur 66
2/ ENTREES SORTIE DANS LabVIEW
Les entres sorties sont dposes sur la face avant sous la forme dobjets tels que :
o boutons poussoirso interrupteurso potentiomtres rotatifs ou glissireo Afficheur numrique en lecture.o Etc
o crans doscilloscopeo Afficheurs numriques en criture (affichage)o Vu-mtreso Etc
Ces objets sont disponibles dans la palette de commandes qui apparat par clic droit sur la face avant.On les place par gliss dpos .
VI LE PROGRAMME LabVIEW
Le programme est crit en langage graphique dans une deuxime fentre diagramme indissociablede la face avant.
Les entres sorties apparaissent alors sous la forme de terminaux.
entres
sorties
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 6 sur 66
FACE AVANT
1re variable
2me variable
FACE ARRIERE : DIAGRAMME
Lcriture du programme consiste relier entre eux les terminaux dentres sorties en utilisant :
o des oprateurs arithmtiqueso des oprateurs boolenso des fonctions de calcul toutes prteso des structures de programmation (boucles, tests etc )
Ces outils sont disponibles dans la palette fonction apparaissant par clic droit dans le diagramme.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 7 sur 66
Les liaisons sont ralises laide de la bobine de la palette doutils disponible par le menuFentre/palette doutils (Windows/tools palette).
La palette d'outils (Tool Palette)
Pour agir sur les commandes
Pour cbler
Texte
Colorer un objet
Pipette (copier une couleur)
Poser une sonde (probe)
Placer un point d'arrt
Bouger l'ensemble(diag ou FA)
Lensemble face avant + diagramme constitue un programme LabVIEW encore appel VI (VirtualInstrument).
Ce VI peut tre encapsul cest dire mis en bote sous la forme dune icne constituant un sousprogramme, une fonction pouvant tre utilise dans un autre diagramme.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 8 sur 66
Chapitre 2 LES VARIABLES ARITHMETIQUES
I DECLARATION DE VARIABLE
Un programme manipule des valeurs contenues dans des variables.A chaque variable correspond un emplacement mmoire repr par une adresse prcise, et dont lecontenu est la valeur prise par la variable au cours de lexcution du programme.
LA MEMOIRE :
Empilement d'octets
Lorsque lon dpose une variable dentre ou sortie sur la face avant dun VI, on dfinit :
o Le nom de la variable : son tiquetteo La reprsentation ou le type de la variable : la place en octet occupe par la variable
et le mode de codage.
II ENTREES SORTIES DANS LabVIEW
PALETTE DE COMMANDES
Les commandes (sauf tableaux)
Palette complte : il suffit de la parcourir pour tout comprendre (ou presque)
Une adresse fixe
Un contenu(valeur) variable
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 9 sur 66
PALETTE DE COMMANDES
Les indicateurs (sauf tableaux)
Palette complte : On retrouve les commandes et les indicateurs
III INITIALISATION
Initialiser la variable, cest lui donner une valeur quelle prendra ds le dbut du programme.Pour cela un clic droit sur lobjet, puis oprations sur les donnes puis valeur actuelle par dfaut.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 10 sur 66
IV TYPE DE VARIABLE
1/ CODAGE DES NOMBRES ENTIERS
a Codage sur un octet
CODAGE SUR UN OCTET
de 00000000 11111111
de 0 28 -1 = 255Valeurs dcimales possibles
Type unsigned char (langage C) Type U8 en LabVIEW
de 00000000 01111111
de 0 27 -1 = 127
de 11111111 10000000
de -1 - 27 = -128
positif
ngatif
Avec bit de signe
Type char (langage C) Type I8 en LabVIEW
Complment deux
Sans bit de signe
b - Comment changer la reprsentation dans LabVIEW ?
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 11 sur 66
c Codage sur 2 octets
CODAGE SUR DEUX OCTETS
de 0 216 -1 = 65535Valeurs dcimales possibles
Sans b i t de signe
A vec b i t de signe
Type unsigned int (langage C) Type U16 en LabVIEW
de 0 215 -1 = 32767
de -1 - 215 = -32768
positif
ngatif
Type int (langage C) Type I16 en LabVIEW
Complment deux
2/ NOMBRES A VIRGULE FLOTTANTE
Un nombre virgule flottante peut toujours s'crire :
+ 0,662 * 2 - 26
Signe : 1 bit Mantisse : 23 bitsExposant :8 bits
Valeurs extrmes possibles : Nombre nul : 0Nombre positifs de : 1,21 10 -38 3,40 10 38Nombres ngatifs de : - 1,21 10 -38 - 3,40 10 38
Type : Float en C, Type SGL en LabVIEW
SIMPLE PRECISION : 4 octets
1 bit 8 bits 23 bits
PRECISION ETENDUE : 10 octets
1 bit 15 bits 64 bits
DOUBLE PRECISION : 8 octets
1 bit 11 bits 52 bits
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 12 sur 66
3/ VARIABLES BOOLEENNES
Variable Boolenne
Vraie : True
Fausse : False
Codage sur 1 seul bit
N'existe pas dans tous les langages :
OK en labVIEW mais pas en C !
V FORMATS DAFFICHAGE
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 13 sur 66
Exemples de formats daffichages :
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 14 sur 66
Chapitre 3 LES TESTS
I DEFINITION
Suivant le rsultat dun test, on ralise une srie dinstructions ou une autre
II REPRSENTATION
REMARQUES :
- Pas de rgle sur le choix gauche ou droite du ct OUI et du cot NON.- Un des blocs Instructions 1 ou 2 peut tre vide (ne rien faire). Il suffit de ne
pas faire apparatre le cadre.
III LE TEST
Le test est la relation permettant de raliser laiguillage.
Le test met en uvre des oprateurs de comparaison , , , =, .Il peut tre aussi lvaluation dune simple variable boolenne (test de lappui sur unbouton poussoir)
Le rsultat du test est un boolen : il ne peut prendre que 2 valeurs : OUI ou NON.Le test peut tre simple du type a < b ou plus complexe : (a < b) ET (a < c)
TESTOUI NO
Instructions 1 Instructions 2
Suite
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 15 sur 66
Les relations de comparaisons sont alors relies entre elles par des oprateurs logiques :ET, OU, NON ET, NON OU, OU Exclusif, etc
La relation correspondant au test est crite dans le losange.
IV EXEMPLE
Saisir une note N au clavier.Afficher sur une chane de caractre le message cest bien si N 12Afficher cest assez bien si 9 N < 12Afficher cest insuffisant si N < 9
ENTREES SORTIES :
- Une entre nomme N de type commande numrique.- Une sortie nomme C afficheur chane de caractre.
ORGANIGRAMME :
Cet organigramme montre que les structures conditionnelles peuvent tre imbriques.
N 12OUI NO
C = cest bien
Fin
Saisir N
N < 9OUI NO
C = cest insuffisant C = cest assez bien
Dbut
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 16 sur 66
V STRUCTURE CONDITIONNELLE DANS LabVIEW
Un clic droit dans le diagramme permet douvrir la palette de fonctions. Cliquer surlicne contrle dexcution. On trouve alors la structure condition.
Le rsultat boolen du test est connect sur le point dinterrogation vert.
Les instructions ralises si le rsultat du test est OUI sont crites lintrieur de lastructure lorsque VRAI apparat en haut du rectangle dlimit.
Les instructions ralises si le rsultat du test est NON sont crites lintrieur de lastructure lorsque FAUX apparat en haut du rectangle dlimit.Un seul cas est visible simultanment, cliquer sur les triangles pour passer de lun lautre.
Diagramme dlimit, excut si condition vraie
Condition crire
Cliquer pour visualiser le diagramme ralis si condition fausse
Un seul diag visible la fois
EXEMPLE :
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 17 sur 66
VI - REMARQUES
Le diagramme
cach
La condition :
met en jeux
un oprateur
de
comparaison
Le rsultat boolen de la
condition est connect au
slecteur ?
La transmission des
donnes se fait via un
tunnel d'entre ou de
sortie.
Les tunnels de sortie
doivent tre relis dans les deux
diagrammes conditionnels
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 18 sur 66
La comparaison peut tre simple : elle met en oeuvre un oprateur de comparaison (>,
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 19 sur 66
Chapitre 4 LA BOUCLE WHILE
I DEFINITION
La boucle While permet de rpter une suite dinstructions en fonction du rsultat duntest.
Un tour de boucle est appel itration".
Les instructions se rptent chaque itration cest dire chaque tour de boucle.
Dans LabVIEW, on peut rgler la rptition en fonction du rsultat VRAI ou FAUXdu test.
Par dfaut cest le rsultat FAUX qui permet la rptition.
II ORGANIGRAMME
TESTOUI
NO
Instructions
rpter
Suite
On peut permuterdans LabVIEW
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 20 sur 66
III LE TEST
Comme pour la structure conditionnelle :
Le test est la condition permettant de raliser la rptition. Il est valu aprschaque itration.
Le test met en uvre des oprateurs de comparaison , , , =, .Il peut tre aussi lvaluation dune simple variable boolenne (test de lappui surun bouton poussoir)
Le rsultat du test est un boolen : il ne peut prendre que 2 valeurs : OUI ouNON.
Le test peut tre simple du type a < b ou plus complexe : (a < b) ET (a < c)
Les relations de comparaisons sont alors relies entre elles par des oprateurslogiques : ET, OU, NON ET, NON OU, OU Exclusif, etc
La relation correspondant au test est crite dans le losange.
REMARQUES :
Le test est rpt la fin de chaque tour de boucle. Il est donc ncessairement plac lintrieur de la boucle.
La boucle ralise ncessairement au minimum un tour de boucle : Le blocdinstructions rpter est ralis au moins une fois.
IV EXEMPLE
1/ LA BOUCLE DATTENTE
Attendre lappui sur un bouton poussoir BP pour allumer une led L.
ENTREES SORTIES :
- Une Entre boolenne : bouton poussoir nomm BP. Action mcanique : BPsans verrouillage.
- Une sortie boolenne : Led L.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 21 sur 66
ORGANIGRAMME :
V BOUCLE WHILE SOUS LabVIEW
Diagramme rpt
Terminal conditionnel
Terminal d'itration : compte les rptitions
NONBPappuy
Dbut
L = VRAI
L = FAUX
Fin
Boucledattente
On ne fait rientant que lonnappuie passur le BP !
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 22 sur 66
Exemple : compte rebours
Attente (configure 1s)
2 possibilits
Pseudo code correspondant :
Variable N type entierVariable compt type entierN 100Faire
compt N-1afficher comptattendre 1stant que N >0
Fin
Exercice :
Dessiner lorganigrammecorrespondant ce diagramme
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 23 sur 66
Chapitre 5 - LA BOUCLE FOR
I DEFINITION
La boucle for permet de rpter une suite dinstructions un nombre prdtermin defois.
Avec la boucle While, on ne connat pas lavance le nombre ditrations qui serontralises.
Pour compter le nombre de rptitions, la boucle for utilise un compteur ditrations.Cest une variable entire i variant de 0 N-1 lorsque la boucle se rpte N fois.
La boucle for utilise donc aussi une variable N entire donnant le nombre de tour deboucle.
II ORGANIGRAMME
Incrmente lecompteur
ditrations
i < N OUI
Instructions
rpter
Suite
i = 0
i = i + 1Ces instructions sontrptes N fois pour i variant de 0 N-1
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 24 sur 66
III - AFFECTATION
Lcriture i = 0 ne peut pas scrire 0 = i.En effet il ne sagit pas dune galit au sens mathmatique.Cette instruction est une affectation : On affecte la valeur 0 la variable i.Une affectation en informatique seffectue toujours de la droite vers la gauche.
De mme lcriture i = i + 1 nest pas non plus une galit au sensmathmatique.En effet une telle criture en mathmatique conduit 0 = 1 ! ! ! !
Cest une galement une affectation : On prend la valeur de la variable i, on luiajoute 1. La nouvelle valeur obtenue est alors redonne la mme variable i.
IV AUTRE ORGANIGRAMME POUR LA BOUCLE FOR
Pour simplifier, on peut reprsenter la boucle for ainsi :
Pour i = 0 N-1
Instructions rpter
Suite
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 25 sur 66
VI - EXEMPLE
Compter toutes les deux secondes de 5 en 5 jusqu 50, le rsultat tant affich sur unafficheur numrique.
ENTREES SORTIES :
- Pas dentre- Une sortie S, afficheur numrique.
ORGANIGRAMME
Pour i = 0 10
S = 5 * i
Fin
Dbut
Attendre 2s
i varie de 0 10Il y aura donc 11
itrations.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 26 sur 66
VII BOUCLE FOR EN LabVIEW
Clic droit dans le diagramme, puis tendre la palette. Aller sur programmation puisstructures.
Diagramme :
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 27 sur 66
REMARQUE :
Diagramme rpt
Terminal d'itration : compte les rptitions
Nombre de tours de boucle
Avec 10 tours de boucle, i voluera de 0 9
VIII COMMANDES ET INDICATEUR DANS OU HORS DE LA BOUCLE
Modifications par l'utilisateurprises en compte
Valeur transmise au premiertour de boucle.
Toute intervention de l'utilisateurdevient inutile
Valeur obtenue au dernier tour
de boucle
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 28 sur 66
Chapitre 6 LES TABLEAUX
I DEFINITION
Un tableau permet de regrouper plusieurs variables numriques de mme type sous une mmeappellation.Les diffrents lments du tableau (array) sont alors reprs par un indice (index).Le nombre N dlments du tableau constitue sa taille (array size)
LA MEMOIRE :
Empilement d'octets
Exemple : Tableau nomm Tab de 3 entiers type U8
Tab[0]Tab[1]Tab[2]
Chaque lment du tableau est repr par un indice i allant de 0 N-1
Les trois lments se retrouvent trois adresses diffrentes qui se suivent
II TABLEAUX DANS LabVIEW
Clic droit sur la face avant
Tableau vide
Tableau de variables numriquesIndice du 1er
lment visible
Quand ondpose letableau sur laface avant, ilest vide.Il convientdonc de leremplir laide du typede variablechoisi :tableau devariablesnumriques,tableau deboolens,tableaux dechanes decaractresetc
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 29 sur 66
Tableau vide
Tableau de variables numriques
III OPERATIONS SUR LES TABLEAUX
En plus des oprations arithmtiques classiques, il existe des fonctions spciales :
Les fils deliaisons desdonnestableaux sonten traits paisde la couleurdu type de lavariable : ici,on a destableaux devariablesnumriques virguleflottante, lesconnexionssont donc decouleurorange. Indiceet taille dutableau sontdes entiersdonc couleurbleue.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 30 sur 66
IV INDEXATION
1/ En entre
Lors du cblage, l'indexation se ralise automatiquement.
Indexation : Au ime tour de boucle, le ime lment du tableau
est transmis par le tunnel d'entre.
Tous les lments du tableausont multiplis par i
chaque tour de boucle
Pas d'indexation : le tableau est transmis chaque tour de boucle dans son intgralit
par le tunnel d'entre.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 31 sur 66
2/ En sortie
indexation : un tableau des valeurs calcules chaque tour de boucle est transmis via le tunnel de sortie quand la boucle est termine
Pas d'indexation : la dernire valeur
calcule au dernier tour de boucle est transmise
via le tunnel de sortie
#Page 124
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 32 sur 66
Chapitre 7 - LES GRAPHES
I LES ECHELLES DABSCISSES
1/ ECHELLE LINEAIRE
Pas : distance entre deux points. On a : pas = (b a) / N
Passage d'un point l'autre : xi = x i-1 + pas
Ainsi : xi = a + i . pas
On a une suite arithmtique de premier terme x0 = a et de raison q = pas
2/ ECHELLE LOGARITHMIQUE
Pas : distance entre deux points. On a : pas = (log b log a) / N = log (b/a)1/N
Passage d'un point l'autre : log xi = log x i-1 + pas
Ainsi : log xi = log a + i . pas = log a + i log (b/a)1/N = log a + log (b/a)i/N
= log [ a . (b/a)i/N ]
Donc : xi = a . (b/a)i/N xi = a . (b/a)i-1/N . (b/a)1/N
xi = xi-1 . (b/a)1/N ou xi = a . [(b/a)1/N ] i
On a une suite gomtrique de premier terme x0 = a et de raison q = (b/a)1/N
a b
ime point
N+1 points rgulirement espacs
i+1 me point
N+1 points rgulirement espacs
log a log b
ime point
i+1 me point
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 33 sur 66
II LES DIFFERENCES
Graphesdroulants
Graphes GraphesXY
Boucle While
Terminal graphedroulant quivalent un indicateur numrique
Graphe dans la boucle
Boucle For
Terminal graphequivalent un tableau
Graphe hors de laboucle
Boucle For
Terminal graphe XYreoit 2 tableaux
Graphe hors de laboucle
Une nouvelle ordonne est calcule chaque itration et est transmiseau graphe qui droule tant quelon ne met pas fin la boucle(appui sur stop par exemple)
La boucle while peut tre cadencepar lutilisation dune attente.
Le graphe peut tre gradu entemps.
Toutes les ordonnes des pointssont calcules dans la boucle for.
Une fois la boucle termine, lesvaleurs sont envoyes sous forme detableau dordonnes
En abscisse du graphe on retrouvelindice de chaque point : 0, 1, 2,3 etc
Toutes les ordonnes et abscissessont calcules dans la boucle for.
Une fois la boucle termine, lesvaleurs sont envoyes sous forme detableaux distincts :
- un tableau dordonnes
- un tableau dabscisses.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 34 sur 66
III - PERIODE DECHANTILLONNAGE
Quelle que soit la reprsentation graphique, il faut dfinir un pas entre deux points decalcul ou dacquisition. Dans le cas dune reprsentation temporelle, on parle depriode dchantillonnage.
On dispose de :- Xmax et Xmin- du nombre de point N.
On dispose de :- La priode minimale T
(frquence maxi)
Echelle linaire :
x = [ Xmax Xmin ] / (N-1)
Echelle log :
x = [ Xmax/Xmin] 1/ (N-1)
Il faut suffisamment de pointspas priode ! ! !
T = Te = T/N
Cela entrane :
Te > F
T = Te = kT/N
En veillant ce queTe
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 35 sur 66
IV ORGANIGRAMME
1/ GRAPHE DEROULANT
2/ GRAPHE 3/ GRAPHE XY
Dbut
Saisir Xmax,Xmin, N
Pour i = 0 N
x = (Xmax Xmin) / NCalculer yi (ix)
Fin
Afficher yi
Dbut
Saisir T, N, k
Pour i = 0 N
Te = kT/NCalculer yi (iTe)
Fin
Afficheryi(iTe)
Dbut
Saisir xmin, xmax et N
Pour i = 0 N
x = (Xmax Xmin) / Nxi = i x
Calculer yi (xi)
Fin
Afficher yi (xi)
Dbut
Saisir Te
i = 0
Calculer y(iTe)Afficher y(iTe)
STOP = Vrai
i = i+1
Fin
Attente Te
NONOUI
Droulement entemps rel
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 36 sur 66
Chapitre 8 GRAPHES DANS LABVIEW
I GRAPHE DEROULANT : Waveform Chart
Le rle du graphe droulant : Waveform Chart est d'afficher l'volution temporelle d'une donne variable dans le temps.
A chaque instant le graphe ne reoit qu'une donne la fois : Ce n'est pas un tableau de valeurs.
Par programmation, il faut donc rpter l'envoides donnes au graphe, le terminal graphe
doit donc tre dans une boucle while.
historique Partie visible
Donnesperdues
Exemple dans LabVIEW :
Le Graphe droulant est un indicateur.Par dfaut son type est DBL.
Ce n'est pas un tableau de valeur (trait fin):Cet indicateur ne reoit qu'une valeur la fois,
il doit tre dans la boucle.
Gnration d'un nombre alatoire
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 37 sur 66
Certains paramtres du graphe peuvent tre ajusts : clic droit sur lobjet graphe dans la face avant.
LE FORMATAGE DU GRAPHE
II GRAPHES : Waveform Graph
Le rle du graphe est de reprsenter graphiquement un tableau de donnes.
Le graphe reoit simultanment l'ensemble des donnes
sous forme d'un tableau de valeurs.
Par programmation, il ne faut envoyerles donnes au graphe qu'une seule fois,
le terminal graphe doit donc tre hors de la boucle.
donne01234567
510152025303540
Les donnes sont gnralement calcules dans une boucle
Le tableau peut tre obtenu par indexationdu tunnel de sortie de la boucle
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 38 sur 66
Exemple dans LabVIEW :
L'indice du point (n ligne du tableau)
Le Graphe est un indicateur de type tableau.
Par dfaut son type est DBL.
Cet indicateur reoit toutes les valeurs la fois,il doit tre hors de la boucle.
III GRAPHE XY
Donne X
Le rle du graphe XY est de reprsenter graphiquement un tableau de donnes Y en fonction d'un tableau de donnes X
Le graphe reoit simultanment l'ensemble des donnes
sous forme de 2 tableaux de valeurs.
Par programmation, il ne faut envoyerles donnes au graphe qu'une seule fois,
le terminal graphe XY doit donc tre hors de la boucle.
Donne Y0,10,20,30,40,50,60,70,8
510152025303540
Les donnes sont gnralement calcules dans une boucle
Les 2 tableaux sont obtenus directement au niveau des 2 tunnels de sortie de la boucle.
Ils sont assembls pour former un cluster.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 39 sur 66
Utilisation dans LabVIEW :
Connecter le tableau des abscisses ici
Connecter le tableau des ordonnes ici
Exemple dans LabVIEW :
apparat automatiquement
On dispose icid'un cluster
(assemblage)de 2 tableaux.
Trac de courbe, chelle linaire :
xi = xd + i * (xf-xd)/N
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 40 sur 66
Chapitre 9 LES REGISTRES A DECALAGEOU NUDS DE RETROACTION
I EXEMPLE DUTILISATION
EXEMPLE : Programmer n!
On sait que n! = (n-1)! . n
Variable facto type entierVariable i type entierfacto 1Pour i = 1 N faire
facto facto.ii i+1
afficher factofin
Pour calculer n!, il faut avoir d'abord calcul (n-1)!Pour calculer (n-1)!, il faut avoir d'abord calcul (n-2) !Pour calculer (n-2)!, il faut avoir calcul (n-3)!
Etc ....
A la ime itration, on utilise le rsultatcalcul l'itration
prcdente
En Labview cela se fait grce au registre dcalage
Structure itrative boucle for
II REGISTRE A DECALAGE DANS LabVIEWOn utilise des registres dcalage dans les boucles For et dans les boucles While pour transmettre des valeurs d'une itration l'itration suivante.
i = N-1
Calcul
i = N
Calcul
i = N+1
Calcul
Au ime tour de boucle, la valeur calcule est fonction
de la valeur calcule au tour prcdent
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 41 sur 66
Exemple : factorielle n avec registre dcalage :
Clic droit sur le bord de la boucle
Valeurs au dernier tour de boucle
Factorielle n
La valeur calcule la dernire itration sort par
le tunnel du registre
III DECALAGES MULTIPLES
1/ EXEMPLE
Exemple : Calculer et mettre jour la moyenne M des 3 dernires mesures mi
On a Mi = ( m
i + m
i -1 + m
i 2 ) / 3
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 42 sur 66
On rpte la mesure priodiquement => boucle while
Pour calculer Mi, on a besoin des valeurs mesures dans les deux itrations prcdentes.
i = N-1
Acquisition
Calcul Affichage
i = N
Acquisition
Calcul Affichage
i = N+1
Calcul
Acquisition
Affichage
Ce qui donne dans LabVIEW :
Tirer avec la souris pour disposer de la donne transmise par la i-2me itration
mi
mi-1
mi-2
La mesure est simule par la gnration d'un nombre alatoire
Affichage sur un graphe droulant de la moyenne des trois derniers nombres alatoires gnrs
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 43 sur 66
IV NOEUDS DE RETROACTION
Dans une boucle, si on retourne la valeur calcule sur l'entre d'un oprateur, il apparat un noeud de rtroaction, fonctionnant comme le registre dcalage.
Noeud de rtroaction
Initialisation du noeud de rtroaction pour le 1er tour de boucle
Par rapport au registre dcalage, le nud de rtroaction simplifie le cblage et fait apparatreclairement lappel du rsultat du calcul du tour de boucle prcdent.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 44 sur 66
Chapitre 10 LES SEQUENCES
I INTRODUCTION
Langage classique :
Flot d'instructions
Les instructions crites s'excutent squentiellement
Langage LabVIEW :
Flot de donnes
On ne matrise pasl'ordre d'excution
des instructions
II LA STRUCTURE SEQUENCE DANS LabVIEW
La structure squence dans LabVIEW :
La structure squence se prsente commeune succession d'tapes
semblable la pellicule d'un film
Dans chaque tape (frame) : un diagramme.Les tapes successives sont excutes dans l'ordre.
tape 1diag 1
tape 2diag 2
tape 3diag 3
Etc ...
Comme pour la structure condition, un seul diagramme n'est visible.Comme pour une boucle, on peut passer des valeurs d'une tape l'autre.
Les diffrentes tapes peuvent tre empiles (une seule visible la fois) ou droules.
On retrouve cette structure dans la palette de fonctions, contrles dexcution.
La structure squencepermet de reprendre lecontrle de lordredexcution duprogramme
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 45 sur 66
On ajoute les tapes grce au menu local apparaissant par clic droit sur le bord de la squence.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 46 sur 66
III EXEMPLE
Etape 0 : Acquisition du tempsGnration du nombre alatoire
tant qu'il est diffrent du nombre atteindre
Etape 1 : Acquisition du tempsCalcul et affichage de la dure
IV UTILISATION EN INFORMATIQUE DINSTRUMENTATION
Cette structure est souvent utilise en informatique d'instrumentation
Cette structure peut galement tre utilise galement pour commander un systme squentiel (feux de carrefour)
tape 1Configuration
carte d'acquisition
tape 2Acquisition
Sortie Commandetape 3
RAZ carte daq
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 47 sur 66
V PASSAGE DE VALEURS DANS LA SEQUENCE
Le passage de valeurs dune tape lautre dune squence droule se fait naturellement au moyendun tunnel.
Par contre dans une squence empile, il faut utiliser variable locale de squence : clic droit sur lebord de la squence. On dispose alors dune flche entrante distribuant la donne dans les autrestapes de la squence.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 48 sur 66
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 49 sur 66
Chapitre 10 COMPLEMENTS
I VARIABLES LOCALES
Pour simplifier le cblage (liminer des fils de trop grande longueur), on peut avoir recours unevariable locale. La variable locale cre prend le nom de la variable dorigine, et peut tre utilise enlecture ou en criture, forant ainsi la donne changer de valeur.
Dans lexemple ci-dessous, la variable locale est en lecture (variable dentre) et apparat comme unecopie de a. Le terminal de sortie affichera donc (10+a)*a.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 50 sur 66
Dans lexemple ci dessous, la variable locale est en criture. Si la valeur de a tait 1 au lancement duprogramme, elle se transforme en 11 lors de son arrt.
II SOUS PROGRAMMES : ENCAPSULATION
Nous souhaitons crer un sous programme encore qualifi de sous VI, de calcul du discriminant delquation du second degr.Un Clic droit en haut gauche sur licne LabVIEW permet douvrir le menu local donn ci-dessous.Choisir Visualiser le connecteur.
LabVIEW sait que le programme manipule trois variables dentre et une sortie, et propose leconnecteur correspondant. Il peut cependant tre chang. Il convient ensuite dassocier chaquerectangle du connecteur une variable dentre ou sortie. Pour cela il faut cliquer laide de loutilbobine, dabord sur lobjet de la face avant correspondant la variable, puis sur le rectangle de licne.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 51 sur 66
Ensuite, on peut modifier licne correspondant ce sous programme : Choisir modifier licne dansle menu local obtenu par clic droit sur le connecteur.
Il apparat alors la fentre ci-dessous permettantde modifier, grce une palette de dessin,lapparence de licne associe au sous VI.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 52 sur 66
Il convient ensuite de sauvegarder ce sous VI lemplacement dsir.
Appel au sous dans un programme principal :Dans le diagramme du programme principal, on utilise la palette de fonction :
Une bote de dialogue invite ouvrir le sous VI souhait.
On dpose ainsi licne correspondante dans le diagramme et elle peut tre utilise comme nimportequel VI LabVIEW. (Voir ci-dessous).
Slectionner cette casede la palette de fonction
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 53 sur 66
TP n 1 et 2 ENTREES SORTIES, OPERATEURS (Ch1 et Ch2)
EXERCICE 1.1
Soient 2 variables a et b numriques places en face avant.Afficher sur 4 sorties diffrentes : s1 = a+b, s2 = a b, s3 = a*b et s4 = a / b
EXERCICE 1.2
Soit a une variable dentre de type entier.Sur un afficheur numrique, afficher a sous le format binaire, hexadcimal et dcimal. (Cf page 12)
Changer la reprsentation de a et s : U8, I8, U16, I16 et observer les valeurs extrmes prises encharges par ces diffrentes reprsentations. (Cf page 10)
EXERCICE 1.3
Dans lexercice prcdent, ajouter une deuxime variable entire dentre b et afficher a+b.Donner les valeurs limites des diffrentes reprsentations U8, I8, U16, I16.Que se passe t-il quand le rsultat dpasse les valeurs extrmes ?
EXERCICE 1.4 Ralisation dun calcul
1/ Utilisation doprateurs
Le gain en dB dun circuit RC est donn par G = 20 log [ 1/(1 + (RC2pif)2 ) ]Afficher sur un indicateur numrique le rsultat de calcul de G pour les valeurs de R, C et f affichessur des contrleurs numriques en face avant.
Exemple de valeurs ralistes : R = 4,7 k, C = 10 nF, f 1000 Hz.
2/ Utilisation dune boite de formule
Mme question en utilisant la boite de formule (express/arithmtique)
3/ Utilisation dune boite de calcul
Mme question en utilisant la boite de calcul (programmation/bote de calcul)
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 54 sur 66
EXERCICE 1.5
On veut galement afficher le dphasage : = - arctan (RC2pif)
1/ Modifier le programme de lexo 4 1/ pour afficher le gain et le dphasage
2/ Idem avec les boites de formules
3/ Idem avec une boite de calcul unique.
EXERCICE 1.6 Oprateurs boolens
Raliser un programme qui :
- allume un afficheur boolen L1 si deux interrupteurs K1 et K2 sont enfoncs.- allume un afficheur boolen L2 si deux interrupteurs K1 ou K2 sont enfoncs.- allume un afficheur boolen L3 si deux interrupteurs K1 ou K2 sont enfoncs, mais pas les deux.
EXERCICE 1.7 Nombres complexes
Raliser un programme qui calcule les racines dune quation du second degr (ax2+bx+c = 0) enutilisant deux afficheurs numriques de reprsentation complexe double prcision (CDB).Les coefficients a, b et c sont des contrleurs numriques sur la face avant, reprsentation nombre virgule flottante double prcision (DBL).
EXERCICE 1.8 Oprateur division euclidienne
1/ Raliser un programme qui convertit un nombre de mois, de jours, dheures, de minutes et desecondes en secondes.
2/ Raliser un programme qui convertit un nombre de secondes en mois, jours, heures, minutes etsecondes.
EXERCICE 1.9 Chanes de caractres
Raliser un programme qui affiche sur un indicateur chane de caractre unique le contenu deuxcommandes de chanes de caractre.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 55 sur 66
TPn3 TESTS ET STRCTURE CONDITIONNELLE (Ch3)
EXERCICE 3.1
On place 2 potentiomtres glissire a et b sur la face avant.
Si a > b allumer une led, si a b teindre la led
EXERCICE 3.2
On place 2 potentiomtres glissire a et b sur la face avant et un afficheur numrique s
Si a > b alors s = a + (b-a)/2
Si a b alors s = b + (a b)/2
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 3.3 - Testeur de batterie
La tension dune batterie 12 V est simule par un potentiomtre U glissire en face avant. Le rsultat du testde la batterie est affich sur 3 leds diffrentes.
Si 10 < U < 12 => Led Verte allumeSi 8 < U < 10 => Led Orange allumeSi 0 < U < 8 => Led Rouge allume
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 56 sur 66
TPn4 BOUCLE WHILE (Ch4)
EXERCICE 4.1 Boucle dattente
Raliser un programme qui attend lappui sur un bouton poussoir avant dafficher le rsultat de a+b.N. B : On ne lancera pas lexcution du vi par lexcution rcurrente !
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 4.2 Lecture un point
Ecrire un programme qui lit en permanence un potentiomtre plac en face avant et affiche la partieentire de la valeur prise. Larrt du programme est ralis par appui sur un bouton poussoir stopplac en face avant. On ne lancera pas lexcution du vi par lexcution rcurrente !La valeur lue sera actualise toutes les N s (N est une commande numrique en face avant)
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 4.3 - Suite arithmtique
Raliser un programme qui affiche successivement toutes les secondes les valeurs de la suitegomtrique dfinie par son premier terme u0 et sa raison r. Le programme sarrte par appui sur unbouton stop. Rappel : un = u0 + n rU0 et n sont des contrleurs numriques sur la face avant.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI4/ Examiner linfluence de la position des terminaux de U0 et q dans la boucle ou hors de la boucle.Quelle est la bonne solution ?
EXERCICE 4.4 Nombre alatoire
Raliser un programme qui affiche sur un indicateur numrique un nombre alatoire compris entre 0et 20 gnr priodiquement toutes les 0,5 s. Le programme sarrtera par appui sur un bouton stop.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
4/ Complter le vi de lexo prcdent de faon afficher :
a) Le n de litration (n du tour de boucle en cours de ralisation).b) Le nombre total ditrations ralises aprs appui sur le bouton stop.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 57 sur 66
TPn5 BOUCLE FOR (Ch5)
EXERCICE 5.1 Nombre alatoire
Raliser un programme qui affiche sur un indicateur numrique trente nombres alatoires comprisentre 0 et 20 gnrs toutes les 0,5 s.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 5.2 - Suite gomtrique
Raliser un programme qui affiche successivement toutes les secondes les 20 premires valeurs de lasuite gomtrique dfinie par son premier terme u0 et sa raison q. Rappel : un = u0 * q
n
U0 et q sont des contrleurs numriques sur la face avant.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI4/ Examiner linfluence de la position des terminaux de U0 et q dans la boucle ou hors de la boucle.Quelle est la bonne solution ?
TPn6 TABLEAUX (Ch6)
EXERCICE 6.1
Raliser un programme qui gnre automatiquement un tableau de 10 nombres entiers compris entre0 et 20.
Modifier ce programme pour afficher successivement toutes les secondes les lments du tableau surun afficheur numrique.
EXERCICE 6.2
Raliser un programme qui gnre automatiquement un tableau de 10 nombres entiers compris entre0 et 20. (faire un copier coller de la 1re partie de lexercice prcdent).
Une fois le tableau gnr, on souhaite liminer les 5 lments les plus petits sans les remplacer, etafficher sur un afficheur numrique la moyenne des lments du tableau.
a) Aprs avoir raliser le tri du tableaub) Sans trier pralablement le tableau et sans changer lordre des lments
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 58 sur 66
EXERCICE 6.3 Indexation en sortie
Ecrire un programme qui gnre un nombre alatoire entier compris entre 0 et 100 toutes les 0,5 s etqui sarrte par appui sur un bouton stop.
Afficher alors dans 2 tableaux distincts les nombres pairs et impairs gnrs.
EXERCICE 6.4 Tableaux et boucles imbriques
Gnrer un tableau de 15 lignes et 10 colonnes laide de nombres entiers alatoires compris entre 10 et +10.Modifier le programme pour remplacer les nombres pairs par 0.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
TPn7 TABLEAUX GRAPHES (Ch6, 7, 8)
EXERCICE 7.1 Abscisses dune chelle linaire (Cf p 32-35)
Gnrer un tableau de N+1 points dabscisse x compris entre a et b dune graduation linaire.N, a et b sont des commandes numriques saisies par lutilisateur du programme.
EXERCICE 7.2 Graphe droulant
Ecrire un programme qui gnre et visualise sur un graphe droulant une sinusode damplitude 10 Vmodifiable en face avant, de frquence 1 Hz modifiable par une commande en face avant.La priode dchantillonnage (intervalle de temps servant cadencer la boucle) sera compatible avecla priode de la sinusode et modifiable en face avant.On affichera galement la priode de la sinusode sur un indicateur numrique.La fonction sinus est disponible dans la palette de fonctions mathmatiques.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI4/ Est-il prfrable de placer les commandes damplitude et de frquence dans ou hors de la boucle ?
EXERCICE 7.3 - Graphe
Ecrire un programme qui gnre un tableau de N valeurs de la fonction y(t) = 10 sin (2 pi f t).f sera rglable par un terminal en face avant mais ne doit pas tre modifiable pendant le calcul despoints.On reprsentera deux priodes de cette fonction avec N points pour la reprsentation.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 59 sur 66
N sera rglable en face avant mais doit tre tel quil y ait suffisamment de points calculs dans unepriode !
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI4/ Doit-on placer la commande de frquence dans ou hors de la boucle ?
EXERCICE 7.4 Graphe XY
Modifier le programme prcdent pour gnrer galement un tableau des valeurs dabscisse t de faon afficher la courbe y(t) sur un graphe XY gradu en temps.
EXERCICE 7.5 - Abscisses dune chelle logarithmique (Cf p 32-35)
Gnrer un tableau de N+1 points dabscisse x compris entre a et b dune chelle logarithmique.N, a et b sont des commandes numriques saisies par lutilisateur du programme.
EXERCICE 7.6 - Graphe XY chelle logarithmique
Ecrire un programme permettant dafficher sur un graphe la courbe de rponse en frquence duncircuit RC :
G (f) = 20 log [ 1 / ( 1 + (RC.2pif) 2 ) ]R et C sont modifiables grce une commande numrique.Le nombre de points N est modifiable galement sur la face avant.La courbe sera trace de fa = 10 Hz ff = 100000 Hz
On prendra R = 4700 , C = 10 nF.
Le graphe utilisera en abscisses une chelle logarithmique (points rgulirement espacs) qui seragradue en Hz.
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 60 sur 66
TP n8 et 9 BOUCLES ET REGISTRES A DECALAGE (Ch 8, Ch 9)
EXERCICE 8.1
Raliser un programme qui affiche successivement toutes les secondes les 20 premires valeurs de lasuite gomtrique dfinie par son premier terme u0 et sa raison q entrs au clavier sur des afficheursnumriques. Rappel : un = un-1 * q
1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 8.2
Tracer sur un graphe la courbe reprsentant les 10 premires valeurs de la suite rcurrente dfinie par :
u0 = -0,5 et un+1 = ( un + 1)1/ Donner lorganigramme.2/ Dessiner le diagramme correspondant sur feuille3/ Raliser le VI
EXERCICE 8.3
Soit un filtre numrique dfini par son quation de rcurrence :
y(n) = x(n) - 1,6180x(n- 1) + x(n- 2) + 1,5161y(n - 1) - 0,8780y(n - 2)
Initialement on a : y -1 = 0 et y 2 = 0
Tracer sur un graphe la courbe reprsentant la suite des valeurs de yn en rponse une squencedentre chelon : xn = {1,1,1 . } pour n > 0. xn = 0 pour n
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 61 sur 66
TP n 10 LES SEQUENCES (Ch 10)
EXZECICE 10.1
La marche avant est simule par lallumage dune led verte (led1) La marche arrire est simule parlallumage dune led rouge (led2).Le wagon tant en position initiale, lappui sur le bouton DCy (dpart cycle) lancera la marche avant.Le contact avec le mur est simul par appui sur un bouton poussoir BP1
Simuler le fonctionnement du chariot qui attend lappui sur DCy pour avancer et qui doit faire marchearrire quand le bouton poussoir BP1 est enfonc. Le retour en position initiale est dtect par lecontact simul par un bouton poussoir BP2.
1/ Donner lorganigramme.2/ Dessiner le diagramme sur feuille3/ Raliser le vi en utilisant la structure squence.
N. B : On ne lancera pas lexcution du vi par lexcution rcurrente !
EXERCICE 10.2
1/ Quelles sont les variables dentres et sorties apparaissant dans cet organigramme ?2/ Expliquer la fonction ralise par cet organigramme3/ Transcrire cet organigramme en diagramme LabVIEW.
Capteur position initiale
BP1
BP2
DCy
Led1Led2
BP1 = VraiOUI NON
Pour i = 0 9Led 1 = Vrai
Attente 3sLed 1 = Faux
Dbut
Fin
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 62 sur 66
EXERCICE 10.3
Mme dispositif. Simuler le fonctionnement du chariot qui attend lappui sur DCy pour avancer et quieffectue 10 aller-retour dtects par appui sur le bouton poussoir BP. Le retour en position initiale estsignal par le capteur simul par un bouton poussoir BP2 en face avant.
1/ Donner lorganigramme.2/ Dessiner le diagramme sur feuille3/ Raliser le vi en utilisant la structure squence.
EXERCICE 10. 4 Jeu de lumires
On utilise un chenillard constitu dun tableau de 10 leds.
Dans un premier temps, les leds sallument successivement. Ce cycle recommence trois foisconscutives.
Dans un deuxime temps les 10 leds clignotent 4 fois simultanment (allumage pendant seconde).
Dans un troisime temps, pendant s les leds de n impair sont allumes pendants que les n pairssont teintes puis inversement pendant s, ce cycle recommenant 3 fois.
Les trois phases doivent se succder jusqu larrt par appui sur un bouton Stop.
EXERCICE 10. 5 Mesure dun temps dexcution
Raliser un programme qui mesure le temps dexcution dune boucle for qui ralise 1000 fois lagnration dun nombre alatoire.On utilisera obligatoirement la structure squence.
1/ Donner lorganigramme.2/ Dessiner le diagramme sur feuille3/ Raliser le vi en utilisant la structure squence.
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 63 sur 66
EXERCICE 10. 6 Feux de carrefour
Raliser cette face avant
Raliser en utilisant la structure squence, la programmation du fonctionnement normal des feux decirculation.
Les trois leds de chaque feu seront regroupes dans un cluster.
Pour utiliser la mme variable dans diffrentes tapes dune squence, on cre une variable locale miseen criture (Cf Chapitre 9 du fascicule).
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 64 sur 66
TP n 11 EXPORT EN FICHIER TABLEUR
EXERCICE 11.1
Crer un tableau 2 colonnes constitu de 500 points correspondant au trac de la courbereprsentative de la fonction f dfinie par :
f : [ 0 , 10 ] R
t E ( 1 exp ( -t / ) )
E et sont des commandes en face avant.
Ajouter du bruit sur la courbe : le bruit est simul par la gnration dun nombre alatoire.Lamplitude du bruit est une commande en face avant.
1/ Ecrire le programme fabriquant le tableau et permettant le trac de la courbe sur un graphe XY.
2/ Par programmation, exporter le tableau en fichier tableur.
3/ Ecrire un nouveau programme qui ouvre le fichier cr et qui trace la courbe sur un graphe XY.
4/ Raliser un traitement destin filtrer le bruit et afficher la courbe obtenue aprs traitement.
EXERCICE 11.2
Lenregistrement de la vitesse de rotation dune roue de voiture a permis de reprsenter la variation dela vitesse du vhicule au cours du temps.
Crer un VI LabVIEW qui simule ce roulage. (utiliser la structure squence et les boucles).
Tracer la courbe et exporter les donnes en fichier tableur.
V (vitesse) km/h
50
90
120
100
3 5 6 7 8 8,5 9 9,5 10,5 11t (min)
60
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 65 sur 66
EXERCICE 11.3 Post traitement des donnes
Crer un VI qui ouvre le fichier tableur prcdent et qui trace la courbe.
Complter le VI de faon traiter les donnes :
Dterminer lacclration du vhicule suppos se dplacer en ligne droite.Dterminer la distance parcourueTracer ces deux courbes.
Dterminer les instants o les roues ont patin ou se sont bloques.
Eliminer du tableau des vitesses les phnomnes de patinage ou de blocage des roues.
Exporter les donnes traites dans un nouveau fichier tableur.
EXERCICE 11.4
Reprendre lexercice 2 en ajoutant un bruit alatoire damplitude raliste sur la mesure de la vitesse.
Reprendre lexercice 3 en ralisant en plus le filtrage de ce bruit.
EXERCICE 11.5 Moyenne glissante
La moyenne glissante ou moyenne mobile est un type de moyenne statistique utilise pour analyserdes sries ordonnes de donnes, le plus souvent des sries temporelles, en supprimant lesfluctuations transitoires de faon en souligner les tendances plus long terme. Cette moyenne estdite mobile parce qu'elle est recalcule de faon continue, en utilisant chaque calcul un sous-ensemble d'lments dans lequel un nouvel lment remplace le plus ancien ou s'ajoute au sous-ensemble.
Ce type de moyenne est utilis gnralement comme mthode de lissage de valeurs, en particulier dansle domaine financier pour l'analyse technique de cours boursiers.
Le site mentionn ci-dessous, donne les mesures de la pollution de lair Montbliard concernantdivers polluants. On sintresse au polluant PM10 (poussires microscopiques 10 m) sur 48h pourMontbliard centre.http://www.atmo-franche-comte.org/pages/fr/menu1/les_mesures_en_direct_50.html
Ces donnes sont disponibles sur mpeea.free.fr page LabVIEW : fichier data tlcharger et enregistrer.Utiliser loutil LabVIEW qui permet douvrir un fichier tableur. Placer ces donnes dans un tableau.Tracer le graphe correspondant.Tracer galement sur ce mme graphe la moyenne glissante sur 8h.Quel type de filtrage sur les donnes introduit la moyenne glissante ?
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 66 sur 66
TP n 12 EXERCICES COMPLEMENTAIRES
EXERCICE 12.1 : Comparateur hystrsis
Un comparateur a hystrsis comporte deux seuils diffrents selon le sens de variation de la grandeurdentre.
Le fonctionnement est dcrit par la caractristique de transfert s(e) donne ci-dessous.
1/ Ecrire un programme affichant sur un graphe droulant (waveform chart) la sortie s(t) pour uneentre triangulaire priodique (priode T par exemple de 20 ms) tant que lon na pas appuy sur unbouton stop.
2/ Faire apparatre la caractristique de transfert s(e) sur un graphe XY.
EXERCICE 12.2
Reprsenter sur un graphe droulant le signal modul en amplitude :
h(t) = sin (2pi fm t) sin(2pi fp t)
fp est la frquence porteuse et fm est la frquence modulante :fm 5.
Quand e(t) diminue, s bascule +10quand e < -1
+8
- 8
e(t)
t