Cours Labview 09

Embed Size (px)

Citation preview

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 1 sur 55

    COURS LabVIEW

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 2 sur 55

    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 au langage 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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 3 sur 55

    II ALGORITHME Programmer, cest crire en respectant la syntaxe d'un langage, la suite des tches devant tre excutes 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 le rsoudre. 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 dapplications dinstrumentation plus particulirement destin lacquisition des donnes de mesure et leur traitement. 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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 4 sur 55

    IV STRUCTURE DUN PROGRAMME LABVIEW LabVIEW tant plus particulirement destin linstrumentation, un programme LabVIEW apparat constitu 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 commande dlivres 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 est linterface avec lutilisateur.

    Le diagramme correspond aux circuits internes de lappareil et constitue le cur du programme

    Programme Variables de sortie

    Variables dentres

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 5 sur 55

    2/ ENTREES SORTIE DANS LabVIEW Les entres sorties sont dposes sur la face avant sous la forme dobjets tels que :

    o boutons poussoirs o interrupteurs o potentiomtres rotatifs ou glissire o Afficheur numrique en lecture. o Etc

    o crans doscilloscope o Afficheurs numriques en criture (affichage) o Vu-mtres o 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 indissociable de la face avant. Les entres sorties apparaissent alors sous la forme de terminaux.

    entres

    sorties

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 6 sur 55

    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 arithmtiques o des oprateurs boolens o des fonctions de calcul toutes prtes o des structures de programmation (boucles, tests etc )

    Ces outils sont disponibles dans la palette fonction apparaissant par clic droit dans le diagramme.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 7 sur 55

    Les liaisons sont ralises laide de la bobine de la palette doutils disponible par le menu Fentre/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 (Virtual Instrument). Ce VI peut tre encapsul cest dire mis en bote sous la forme dune icne constituant un sous programme, une fonction pouvant tre utilise dans un autre diagramme.

    VII - EXERCICES CHAPITRE 1

    EXERCICE 1.1 Raliser un programme qui affiche sur un indicateur numrique la somme, la diffrence, le produit et le quotient de deux nombres a et b. Sauvegarder ce travail EXERCICE 1.2 Raliser un programme qui allume un afficheur boolen si deux interrupteurs K1 et K2 sont enfoncs. EXERCICE 1.3 Raliser un programme qui affiche sur un indicateur chane de caractre unique le contenu deux commandes de chanes de caractre.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 8 sur 55

    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 le contenu 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 tiquette o 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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 9 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 10 sur 55

    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

    A v e c b it d e s ig ne

    Type char (langage C) Type I8 en LabVIEW

    Complment deux

    S a ns b it d e s ig ne

    b - Comment changer la reprsentation dans LabVIEW ?

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 11 sur 55

    c Codage sur 2 octets

    CODAGE SUR DEUX OCTETS

    de 0 216 -1 = 65535Valeurs dcimales possibles

    S a n s b it d e s ig n e

    A v e c b it d e s ig n e

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 12 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 13 sur 55

    Exemples de formats daffichages :

    VI - EXERCICES CHAPITRE 2

    EXERCICE 2.1 Reprendre le programme de lexercice 1.1 et modifier le type des variables a et b. Excuter le programme, noter et commenter les rsultats surprenants obtenus. EXERCICE 2.2

    Raliser un programme qui calcule les racines dune quation du second degr si >0. On pourra utiliser la bote de calcul. EXERCICE 2.3 Raliser un programme qui convertit un nombre de mois, de jours, dheures, de minutes et de secondes en secondes. EXERCICE 2.4 Raliser un programme qui convertit un nombre de secondes en mois, jours, heures, minutes et secondes.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 14 sur 55

    Chapitre 3 LES TESTS

    I EXEMPLE

    Contact fin de course

    Le wagon doit s'arrter quand il rencontre l'obstacle.

    Organigramme Pseudo code

    Variable Mav boolenneVariable contact boolenneMav 1Lire contactSi contact = 1

    alors Mav 0 sinon aller 4me ligne fin

    non

    Marche avant

    Contact appuy ?oui

    Arrt moteur

    Lire contact

    II - DEFINITION

    Une structure conditionnelle (structure de choix) permet de raliser une suite d'instructions ou une autre, en fonction du rsultat d'un test.

    Dbut

    Conditionoui

    Instructions 1

    non

    Instructions 2

    Suite

    DbutSi condition vraie

    alors instructions 1sinon instructions 2

    Suite

    En LabVIEW : excution d'un diagramme ou d'un autre suivant le rsultat vrai ou faux d'un test

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 15 sur 55

    III EN LabVIEW

    Diagramme dlimit, excut si condition vraie

    Condition crire

    Cliquer pour visualiser le diagramme ralis si condition fausse

    Un seul diag visible la fois

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 16 sur 55

    IV LA CONDITION

    La comparaison peut tre simple : elle met en oeuvre un oprateur de comparaison (>,

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 17 sur 55

    VI - EXERCICES CHAPITRE 3

    EXERCICE 3.1

    Ecrire un programme qui : - compare deux nombres a et b

    - allume une led si a > b

    - affiche sur un afficheur numrique a si a < b - affiche b sur le mme afficheur si a > b.

    EXERCICE 3.2 Reprendre le programme de lexercice 2.2 de calcul des racines de lquation du second degr et traiter en utilisant la structure conditionnelle tous les cas possibles en fonction de la valeur du discriminant. On utilisera la reprsentation complexe pour les indicateurs numriques affichant les solutions de lquation.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 18 sur 55

    Chapitre 4 LES BOUCLES

    I EXEMPLE 1

    Contact fin de course

    Le wagon doit s'arrter quand il rencontre l'obstacle.

    Organigramme Pseudo code

    Variable Mav boolenneVariable contact boolenneMav 1Faire tant que contact = 0

    Lire contactMav 0fin

    Ici, on lit l'tat du contact tant qu'il n 'a pas t enfonc

    non

    Marche avant

    Contact appuy ?oui

    Arrt moteur

    Lire contact

    II DEFINITION BOUCLE WHILE

    La boucle While permet la rptition d'une suite d'instruction tant qu' une condition est vraie.

    Dbut

    Conditionoui

    Instructions rpter

    non

    Suite

    Instructions du dbutFaire

    instructions rptertant que condition

    suite du programme

    While = Faire... tant que ....

    Toujours ralis au moins une fois !

    Remarque : Le nombre ditrations nest pas dtermin priori.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 19 sur 55

    III BOUCLE WHILE SOUS LabVIEW

    Diagramme rpt

    Terminal conditionnel

    Terminal d'itration : compte les rptitions

    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

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 20 sur 55

    III EXEMPLE 2

    Le wagon doit faire 10 aller-retour.

    Dbut

    i = 9oui

    i 0

    non

    Fin

    aller-retour

    i i+1

    Organigramme Pseudo code

    La variable i compte les rptitions(itrations)

    Variable i type entierPour i = 0 9

    aller-retouri i+1

    fin

    IV DEFINITION BOUCLE FOR

    Remarque : Le nombre ditrations est dtermin priori.

    La boucle FOR permet la rptition d'une suite d'instructions un nombre prdtermin de fois

    Instructions du dbut Pour i = 0 N-1, faire :

    instructions rpter i i+1

    suite du programme

    FOR = Pour ... faire ...

    Dbut

    i = N-1 oui

    i 0

    non

    Suite

    Instructions rpter

    i i+1

    Organigramme Non ralis si N = 0

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 21 sur 55

    V BOUCLE FOR SOUS LabVIEW

    Diagramme rpt

    Terminal d'itration : compte les rptitions

    Nombre de tours de boucle

    Avec 10 tours de boucle, i voluera de 0 9

    VI 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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 22 sur 55

    VII EXERCICES CHAPITRE 4 Exercice 4.1 Raliser un programme qui gnre et affiche toutes les secondes un nombre alatoire entier compris entre 0 et 20 tant que lon na pas appuy sur un bouton STOP. Afficher galement la moyenne des derniers entiers gnrs sur un afficheur numrique. Exercice 4.2 Raliser un programme qui calcule n! (factorielle n). n est un nombre entier positif On rappelle que n! = n*(n-1)*(n-2)* . 2*1 et que 0! = 1 Exercice 4.3 Raliser un programme qui affiche successivement toutes les secondes les 20 premires valeurs de la suite gomtrique dfinie par son premier terme u0 et sa raison q entrs au clavier sur des afficheurs numriques. Rappel : un = u0 * q

    n

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 23 sur 55

    Chapitre 5 LES TABLEAUX

    I DEFINITION

    Un tableau permet de regrouper plusieurs variables numriques de mme type sous une mme appellation. 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 on dpose le tableau sur la face avant, il est vide. Il convient donc de le remplir laide du type de variable choisi : tableau de variables numriques, tableau de boolens, tableaux de chanes de caractres etc

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 24 sur 55

    Tableau vide

    Tableau de variables numriques

    III OPERATIONS SUR LES TABLEAUX En plus des oprations arithmtiques classiques, il existe des fonctions spciales :

    Les fils de liaisons des donnes tableaux sont en traits pais de la couleur du type de la variable : ici, on a des tableaux de variables numriques virgule flottante, les connexions sont donc de couleur orange. Indice et taille du tableau sont des entiers donc couleur bleue.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 25 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 26 sur 55

    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 EXERCICES EXERCICE 5.1 Raliser un programme qui gnre automatiquement un tableau de 10 nombres entiers compris entre 0 et 20. Modifier ce programme pour afficher successivement toutes les secondes les lments du tableau sur un afficheur numrique. EXERCICE 5.2 Raliser un programme qui gnre automatiquement un tableau de 10 nombres entiers compris entre 0 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, et afficher sur un afficheur numrique la moyenne des lments du tableau.

    a) Aprs avoir raliser le tri du tableau b) Sans trier pralablement le tableau et sans changer lordre des lments

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 27 sur 55

    EXERCICE 5.3 : abscisses dune chelle linaire. 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.

    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

    EXERCICE 5.4 : abscisses dune chelle logarithmique 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.

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 28 sur 55

    Chapitre 6 LES GRAPHES

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 29 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 30 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 31 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 32 sur 55

    IV - EXERCICES EXERCICE 6.1 : Graphe droulant Raliser un programme qui affiche sur un graphe droulant une sinusode bruite. La fonction sinusodale sera y = 10 sinx Le bruit est gnr par un nombre alatoire dont lamplitude est rglable grce une commande situe sur la face avant. Le programme sarrtera lors de lappui sur un bouton STOP. EXERCICE 6.2 : Graphe Reconsidrer le programme prcdent pour afficher deux priodes de la sinusode bruite. 100 points seront calculs.

    EXERCICE 6.3 : Graphe XY chelle linaire

    Ecrire le programme permettant dafficher sur un graphe la fonction f(t) = U sin (2pif t + ) pour t compris entre 0 et Tmax.

    Le nombre de points N, f, et Tmax seront modifiables sur la face avant. Le graphe doit tre gradu en temps. Lchelle temporelle est linaire. EXERCICE 6.4 : Graphe XY chelle logarithmique Ecrire un programme permettant dafficher sur un graphe la courbe de rponse en frquence dun

    circuit 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. Le graphe utilisera en abscisses une chelle logarithmique (points rgulirement espacs) qui sera gradue en Hz.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 33 sur 55

    Chapitre 7 LES REGISTRES A DECALAGE OU 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 LabVIEW

    On 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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 34 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 35 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 36 sur 55

    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 apparatre clairement lappel du rsultat du calcul du tour de boucle prcdent. V EXERCICES EXERCICE 7.1 Avec laide de ce chapitre, reprendre lexercice 4.2 en utilisant un nud de rtroaction : Raliser un programme qui calcule n! (factorielle n). n est un nombre entier positif. EXERCICE 7.2 Reprendre lexercice 4.3 en utilisant le registre dcalage : Raliser un programme qui affiche successivement toutes les secondes les 20 premires valeurs de la suite gomtrique dfinie par son premier terme u0 et sa raison q entrs au clavier sur des afficheurs numriques. Rappel : un = un-1 * q EXERCICE 7.3 Tableaux et boucles imbriques (ne concerne pas forcment ce chapitre)

    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.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 37 sur 55

    Chapitre 8 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 squence permet de reprendre le contrle de lordre dexcution du programme

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 38 sur 55

    On ajoute les tapes grce au menu local apparaissant par clic droit sur le bord de la squence.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 39 sur 55

    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 - 19/02/2009 - COURS LabVIEW 09.doc - Page 40 sur 55

    V PASSAGE DE VALEURS DANS LA SEQUENCE Le passage de valeurs dune tape lautre dune squence droule se fait naturellement au moyen dun tunnel.

    Par contre dans une squence empile, il faut utiliser variable locale de squence : clic droit sur le bord de la squence. On dispose alors dune flche entrante distribuant la donne dans les autres tapes de la squence.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 41 sur 55

    VI EXERCICE EXERCICE 8.1 : Ecrire un programme simulant et grant les feux de signalisation dun carrefour routier. Les 4 feux fonctionnant 2 par 2 sont raliss avec des leds colores.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 42 sur 55

    Chapitre 9 COMPLEMENTS

    I VARIABLES LOCALES Pour simplifier le cblage (liminer des fils de trop grande longueur), on peut avoir recours une variable locale. La variable locale cre prend le nom de la variable dorigine, et peut tre utilise en lecture 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 une copie de a. Le terminal de sortie affichera donc (10+a)*a.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 43 sur 55

    Dans lexemple ci dessous, la variable locale est en criture. Si la valeur de a tait 1 au lancement du programme, 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 de lquation 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 le connecteur correspondant. Il peut cependant tre chang. Il convient ensuite dassocier chaque rectangle du connecteur une variable dentre ou sortie. Pour cela il faut cliquer laide de loutil bobine, dabord sur lobjet de la face avant correspondant la variable, puis sur le rectangle de licne.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 44 sur 55

    Ensuite, on peut modifier licne correspondant ce sous programme : Choisir modifier licne dans le menu local obtenu par clic droit sur le connecteur.

    Il apparat alors la fentre ci-dessous permettant de modifier, grce une palette de dessin, lapparence de licne associe au sous VI.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 45 sur 55

    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 nimporte quel VI LabVIEW. (Voir ci-dessous).

    Slectionner cette case de la palette de fonction

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 46 sur 55

    III - EXERCICES DE SYNTHESE EXERCICE 9.1 : Comparateur hystrsis Un comparateur a hystrsis comporte deux seuils diffrents selon le sens de variation de la grandeur dentre. 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 une entre triangulaire priodique (priode T par exemple de 20 ms) tant que lon na pas appuy sur un bouton stop. 2/ Faire apparatre la caractristique de transfert s(e) sur un graphe XY.

    s

    +10

    -10

    e 5 -1

    Quand e(t) augmente, s bascule 10 quand e > 5.

    Quand e(t) diminue, s bascule +10 quand e < -1

    +8

    - 8

    e(t)

    t

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 47 sur 55

    IUT BELFORT MONTBELIARD Dpt MESURES PHYSIQUES

    EXAMEN PARTIEL DINFORMATIQUE 2004/2005 Sujet D Dure 3h

    Sorties interdites Tous documents manuscrits autoriss Accs rpertoire personnel autoris Tlphones portables interdits Sauvegardez priodiquement votre travail EXERCICE 9.2 7 pts (2+2+3) Un rcepteur inductif aliment sous U = 220 V consomme une puissance active P . Lintensit du courant quil absorbe est I. P et I sont des commandes (potentiomtre rotatifs) sur la face avant. 0 < P < 5000 W et 0 < I < 50 A.

    1/ Afficher sur un vu-mtre le cos.

    2/ Ajouter une commande sur la face avant reprsentant un condensateur en parallle. Afficher le nouveau cos obtenu sur un second vu-mtre. Afficher le courant nouveau courant I consomm sur un indicateur. Rappel :

    Qc = - C 100 pipipipi U2 tg = (Q+Qc)/P P = UI cos = U I cos

    3/ Modifier le programme pour que la valeur idale de C conduisant cos dsir plac sur une commande en face avant soit trouve automatiquement et affiche sur un indicateur numrique. EXERCICE 9.3 6 pts (4+1+1) Un projectile est lanc dans le champ de pesanteur terrestre avec une vitesse initiale V0 faisant un

    angle avec lhorizontale, partir dune position initiale de coordonnes (0,0). Les frottements tant ngligs, les quations horaires des coordonnes cartsiennes du centre dinertie sont :

    y = - g t / 2 + ( V0 sin ) t x = ( V0 cos ) t

    V0 et son des commandes sur la face avant telles que 0 < V0 < 100 et 0 < < 90 (attention, labVIEW calcule le cos ou sin dun angle en radians).

    Tout contrle continu est soumis au rglement des examens de luniversit.

    Toute tentative de fraude ou fraude avre, sous quelque forme que ce soit, met immdiatement fin lexamen, est immdiatement sanctionne par la note zro et est passible du conseil de discipline de luniversit.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 48 sur 55

    1/ Faire apparatre dans un graphe xy la trajectoire du centre dinertie. Le programme devra tourner en boucle avec arrt par appui sur un bouton STOP. 2/ Modifier le VI pour faire apparatre sur un indicateur la flche (la hauteur maximale) de la trajectoire. 3/ Modifier le VI pour faire apparatre sur un indicateur la porte du tir : distance atteinte quand la coordonne y redevient nulle.

    N.B : Avec les valeurs de V0 et de proposes, le pas temporel pourra tre t = 0,1 et le nombre de points N = 100. EXERCICE 9.4 7 pts (3,5+3,5) 1/ Raliser un programme qui affiche la variable yi pour i allant de 0 9 sur un graphe droulant sachant qu la ime itration :

    yi = (xi /2 + x i-1/4 + x i-2 / 8) xi est un tableau de commandes numriques initialis (1, 0, 0.) Le droulement du graphe sera temporis par une attente de 100 ms. Lensemble du programme tournera en boucle et sarrtera par appui sur un bouton STOP.

    N. B : Pour extraire llment dindice i dun tableau : palette fonction/tableau/index array : 2/ Raliser un programme qui affiche la variable yi pour i allant de 0 9 sur un graphe droulant sachant qu la ime itration :

    yi = (xi + y i-1 ) / 2 xi est un tableau de commandes numriques initialis (1, 0, 0.) Le droulement du graphe sera temporis par une attente de 100 ms. Lensemble du programme tournera en boucle et sarrtera par appui sur un bouton STOP.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 49 sur 55

    EXAMEN PARTIEL DINFORMATIQUE 2005/2006 Sujet A Dure 3h

    Sorties interdites Tous documents manuscrits autoriss Accs rpertoire personnel autoris Tlphones portables interdits Sauvegardez priodiquement votre travail Traiter les exercices dans lordre impos

    EXERCICE 10.1 Drivation dun sinus 1/ Tracer sur un graphe normal (waveform graphe) la courbe reprsentant la fonction sin(t) (On calculera N points pour quelques priodes).

    2/ Sachant que la drive y(ti) = [ y(ti) y(ti-1) ] / t, laborer un tableau des valeurs de la drive chaque instant et superposer la courbe reprsentant y sur le mme graphe que y. N.B : On nutilisera pas de vi express pour laborer la drive, ni doutils labVIEW de drivation. EXERCICE 10.2 Cyclode Une roue de charrette de rayon R roule sans frottements ni glissement sur un plan horizontal la frquence de rotation n en tours/s. Les coordonnes dun point M de la roue vrifient les quations paramtriques suivantes :

    x(t) = R [ 2pin t - sin( 2pint) ] et y(t) = R [ 1 cos(2pint) ] 1/ Raliser un programme qui affiche la courbe sur un graphe xy.

    On calculera N = 1000 points, le pas temporel pourra tre t = 0,001s. R, n et t seront des commandes situes sur la face avant. 2/ Complter le programme pour afficher sur un indicateur numrique : La distance d parcourue par le point M cest dire la longueur des arches de cyclodes dessine reprsentes, sachant que :

    d = { [x(t)]2 + [y(t)]2} On utilisera le procd ralis au 2/ de lexercice 1 pour laborer x et y. Pour lintgration, on pourra utiliser un VI express en choisissant le calcul par segments, et en divisant le rsultat par le nombre de points.

    EXERCICE 10.3 Le Zanzibar Ce jeux se joue avec trois ds et deux joueurs. Le premier joueur (que l'on dterminera comme on veut mais sans dispute!) lance les ds. S'il fait un as (ou 1) il marque 100 points, s'il fait un 6 il marque 60 points, les autres faces du d indiquant le nombre de points correspondant (2= 2 points, 3= 3 points, 4= 4 points, 5= 5 points)

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 50 sur 55

    = 100 points

    = 2 points

    = 3 points

    = 4 points

    = 5 points

    = 60 points Chaque joueur joue alternativement en un lancer de 3 ds et on fait 3 tours. Le gagnant est celui qui a le plus de points. Laction de jeu sera lance par lappui par le joueur concern sur un bouton poussoir. Les points de chaque joueurs seront affichs sur deux indicateurs numriques. Afficher le joueur gagnant.

    EXAMEN PARTIEL DINFORMATIQUE 2005/2006 Sujet B Dure 3h

    Sorties interdites Tous documents manuscrits autoriss Accs rpertoire personnel autoris Tlphones portables interdits Sauvegardez priodiquement votre travail sous h:\ le fichier sera nomm : aa-votrenom1.vi pour lexo1 etc

    I - Exercice 11.1

    Une courbe cardiode est dfinie par son quation polaire : r = 1 + cos .

    Les coordonnes cartsiennes en fonction de sont donc : x = (1+ cos ) cos et y = (1 + cos ) sin

    Tracer sur un graphe XY la courbe cardiode.

    On prendra 100 points sur une priode de 2pi. Le fichier sera nomm : a-votrenom1.vi

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 51 sur 55

    II EXERCICE 11.2 Un nombre alatoire compris entre 0 et 10 est gnr toute les 500 ms pour simuler un signal audio. Les variations de ce signal sont visualises grce un vu-mtre. Une deuxime aiguille (clic droit sur le vu-mtre) permet de suivre lvolution de la crte du signal : elle affiche la valeur max des 5 dernires valeurs gnres. Les volutions du signal et de la crte seront galement observes sur un graphe droulant. Lappui sur un bouton Stop mettra fin lvolution. Le fichier sera nomm : a-votrenom2.vi

    III EXERCICE 11.3 Simuler le fonctionnement dun chenillard constitu de 10 leds. Dans un premier temps, les leds sallument successivement. Ce cycle recommence trois fois conscutives. 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 pairs sont teints puis inversement pendant s, ce cycle recommenant 3 fois. Les trois phases doivent se succder jusqu larrt par appui sur un bouton Stop. On pourra utiliser des tableaux de leds

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 52 sur 55

    EXAMEN PARTIEL DINFORMATIQUE 2006/2007 Sujet A Dure 3h

    Sorties interdites Tous documents manuscrits autoriss Accs rpertoire personnel autoris Tlphones portables interdits Web mail interdits N.B : Rseau sous surveillance Sauvegardez priodiquement votre travail Le fichier sera nomm : a-votrenom3.vi EXERCICE 12.1 On souhaite reprsenter sur un graphe XY la courbe dquation paramtrique :

    x(t) = r(t) cos (t) et y(t) = r(t) sin(t) R(t) et (t) sont les coordonnes polaires donnes par :

    r(t) = V t et (t) = t

    V et sont des variables numriques dentres : commandes sur la face avant. Ecrire le programme permettant dafficher le graphe XY sur la face avant : On calculera 200 points pour : 0 < t < .

    EXERCICE 12.2 Soit P une population danimaux prdateurs (Lynx) et H une population de proies (Livre). Lvolution de ces deux populations sont troitement lies. Elles sont modlises de la faon suivante : Pi+1 = a p Pi Hi + (1 - d) Pi Hi+1 = (r + 1) Hi p Hi Pi r : taux daccroissement naturel de la population de proies p : proportion de rencontres entranant la mort dune proie (efficacit du prdateur) d : taux de mortalit du prdateur a : fraction de lnergie apporte par la capture dune proie convertie en naissance. r, p, a, d sont des commandes numriques places sur la face avant. On prendra les coefficients suivants :

    r 0,05 p 0,001 a 0,2 d 0,03

    H0 et P0 populations linstant initial sont des commandes situes en face avant initialises H0 = 200 et P0 = 50.

    Tout contrle continu est soumis au rglement des examens de luniversit.

    Toute tentative de fraude ou fraude avre, sous quelque forme que ce soit, met immdiatement fin lexamen, est immdiatement sanctionne par la note zro et est passible du conseil de discipline de luniversit.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 53 sur 55

    Ecrire le programme LabVIEW permettant de visualiser sur un mme graphe droulant lvolution des populations des prdateurs et des proies. Le programme sarrtera par lappui sur un bouton STOP.

    EXERCICE 12.3 4 boutons (potentiomtres rotatifs) de type U8 rgls pour permettre une variation de 0 9 sont placs sur la face avant. Ces 4 boutons permettent loprateur de saisir son code pouvant tre modifi tant quil na pas appuy sur un bouton poussoir VALID. Le code secret sera : 1789. Si le code entr correspond au code secret, le programme allumera une led en vert et le programme sarrtera. Si le code entr ne correspond pas au code secret, le programme allumera la mme led en rouge. Loprateur aura droit trois essais pour entrer le bon code. Au del, le programme sarrtera. 1/ Ecrire lorganigramme de ce programme au verso de cette feuille 2/ Raliser le programme LabVIEW.

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 54 sur 55

    EXAMEN PARTIEL DINFORMATIQUE 2007/2008 Sujet C

    Dure 3h - Sorties interdites Tous documents manuscrits autoriss Accs rpertoire personnel autoris Tlphones portables interdits Web, mail, cls USB interdits N.B : Rseau sous surveillance Sauvegardez priodiquement votre travail la racine de votre rpertoire personnel sous un nom du type : A_votrenom_nexo.vi

    EXERCICE 1 30 min 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 V => b0 = 1 puis, on ajoute Uref/2

    2 V Si X < V => b0 = 0 puis, on enlve Uref/2

    2 V 2) on compare X V nouvellement obtenu : = Uref/21 + ou - Uref/22 Si X > V => b1 = 1 puis, on ajoute Uref/2

    3 V Si X < V => b1 = 0 puis, on enlve Uref/2

    3 V Ainsi de suite jusqu avoir dtermin b11

  • V. Chollet - 19/02/2009 - COURS LabVIEW 09.doc - Page 55 sur 55

    La valeur de V obtenue alors donne la valeur approche de V qui sera convertie ; le mot binaire (b0, b1, b2, b3, , b10, b11) constitue la conversion numrique de X, b0 tant le bit de poids le plus fort et b11 celui de poids le plus faible. 1/ Dessiner lorganigramme du programme schmatisant lalgorithme permettant de dterminer la valeur approche V de X et dafficher le mot binaire (b0, b1, b2, b3, , b10, b11) sur un tableau de 12 leds. 2/ Raliser le programme LabVIEW correspondant. X et Uref commandes numriques en face avant. Uref initialise 12 V. V indicateur numrique en face avant (b0, b1, b2, b3, , b10, b11) tableau de 12 leds. EXERCICE 3 30 min On considre un chariot pouvant se dplacer sur des rails, en marche avant ou arrire. 2 capteurs C1 et C2 tout ou rien (boolen) sont 1 quand le chariot est dans la position correspondante. C1 et C2 sont deux boutons poussoirs sur la face avant. Lorsque le capteur C1 est 1 (wagon en position initiale) et lorsque loprateur appuie sur le bouton poussoir dpart cycle (commande boolenne sur la face avant), le chariot attend 2 s, puis passe en marche avant. Quand il arrive en bout de rail, le capteur C2 passe 1 (appuyer sur le bouton poussoir), le moteur sarrte alors pendant 3s puis la marche arrire senclenche. Quand le chariot arrive en position initiale (appuyer sur le bouton poussoir), le capteur C1 passe 1, le moteur sarrte, et le systme attend un nouveau dpart cycle. 1/ Dessiner lorganigramme 2/ Raliser le programme LabVIEW correspondant.

    Capteur C2 Commande dpart cycle

    Led Tmoin moteur : vert Marche avant.

    Led Tmoin moteur : rouge Marche arrire.

    Capteur C1