cours labview 12

66
V. Chollet - 10/01/2013 - COURS LabVIEW 12 - Page 1 sur 66 COURS LabVIEW

Upload: moadmourouane

Post on 06-Nov-2015

36 views

Category:

Documents


3 download

DESCRIPTION

Cours Labview

TRANSCRIPT

  • 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