Sie sind auf Seite 1von 14

1.

GENERALITES ............................................................................................................................................ 3 1.2 2.1 2.2 2.3 Les palettes...................................................................................................................................... 4 Barre d'outil du diagramme ............................................................................................................ 5 Documenter un VI ........................................................................................................................... 5 Sauvegarder un VI .......................................................................................................................... 6

2. REALISATION D'UNE APPLICATION SIMPLE....................................................................................................... 5

3. 4. 5. 6.

CREER UN SOUS VI .................................................................................................................................... 8 VISUALISATION DE SIGNAUX ..................................................................................................................... 8 STRUCTURES DE CONTROLE DE L'EXECUTION D'UN PROGRAMME ............................................................... 9 ARRAYS ET CLUSTERS (TABLEAUX ET GROUPES)..................................................................................... 10 6.1 6.2 Les tableaux (Arrays).................................................................................................................... 11 Les groupes (Clusters) .................................................................................................................. 12

7. CHAINES DE CARACTERES ET ENTREES/SORTIES ............................................................................................ 13 7.1 Manipulation des chanes de caractres ............................................................................................... 14 7.2 Les commandes et les indicateurs de liste et de menu rotatif................................................................ 14 7.3 Fichiers d'entre sortie.......................................................................................................................... 15 8. STRUCTURES : NUD FORMULE, CONDITION ET SEQUENCE............................................................................ 16 8.1 Le noeud formule : Formula node......................................................................................................... 16

Initiation Labview MASTER Optique,Image et Vision 1


me

8.2 La structure condition : Case structure................................................................................................. 16 8.3 La structure squence............................................................................................................................ 17 9. LES REGISTRES A DECALAGE ......................................................................................................................... 18 10. ACQUISITION DE DONNEES ET CONTROLE D'INSTRUMENTS .......................................................................... 19 10.1. Gnralits ......................................................................................................................................... 19 10.2 Bus GPIB............................................................................................................................................. 19 10.3 Les ports srie ..................................................................................................................................... 20 10.4 Cartes d'acquisition de donnes.......................................................................................................... 21

anne

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

1.

Gnralits

plus ais. Une fois que l'on a constitu une bibliothque de ses applications les plus courantes, toute nouvelle application proche est vite dveloppe. 1.2 Les palettes

Labview (Laboratory Virtual Instrument Engineering Workbench) est un logiciel de la socit National Instruments qui permet facilement de configurer des instruments, piloter des manipulations, recueillir et traiter des donnes. Toute application Labview est appele un instrument virtuel que nous noterons VI. Le mode de programmation est graphique (appel langage G) mais il est bas sur la notion de programmation oriente objet. Le contrle est effectu par flux de donnes (les oprations contenues dans un bloc seront excutes quand toutes les donnes seront prsentes l'entre du bloc qui reprsente un noeud du graphe). Pour chaque instrument ou bus ou carte d'acquisition, il existe une bibliothque de programmes de configuration qui fournit la face avant de l'instrument et convertit les commandes et les mesures. Labview permet ainsi de commander par programmation des manipulations et de recueillir et traiter les donnes. Notations. Les caractres en italique dsignent des commandes Labview. Un VI est reprsent des trois manires complmentaires suivantes que l'on utilise gnralement dans cet ordre lors de la conception. La face avant qui est interactive parce qu'elle simule la face d'un instrument physique. Elle comporte des contrles (interrupteurs, curseurs...c'est dire des entres) et des indicateurs (crans, cadrans, voyants ...des sorties). A chaque VI correspond un bloc diagramme. Il dcrit le traitement des donnes effectuer entre les commandes et les indicateurs. On le construit en langage G. C'est la solution graphique d'un problme de programmation. Ce diagramme correspond au code source du traitement interne l'appareil. L'icne/Connecteur facultatif qui permet de remplacer le VI par une icne et de le connecter d'autres VI. En effet tout VI peut tre un sous VI d'un VI plus complexe (comme un sousprogramme, une fonction ou une procdure dans un programme textuel). Avec ces supports, on a accs au concept de programmation modulaire. On divise une application en une srie de taches qui peuvent tre elles-mmes subdivises en taches lmentaires. Comme on peut excuter chaque sous VI indpendamment, le dbogage est
Master OIV 1 Initiation Labview
Figure 1 : Palette des outils

Sous Labview, on dispose d'une srie de palettes pour dcrire ou contrler les diffrents aspects des VIs.
La palette des outils (Tools palette)

Elle est utilise pour diter et dboguer un VI. On la fait apparatre en slectionnant Windows >>Show Tools Palette (figure 1). Le doigt (operate value) permet de manipuler le VI mme en cours de fonctionnement. La flche (position/size/select) permet de slectionner, positionner et redimensionner les objets. La lettre A (edit text) est l'outil d'tiquetage pour diter du texte. La bobine de fil (connect wire) permet de relier les objets dans le bloc diagramme. Le menu local (object popup) permet d'avoir accs au menu droulant d'un objet. On peut ainsi changer les proprits d'un objet. Lorsqu'on dit "drouler le menu objet", il faut slectionner le menu local puis cliquer sur l'objet. La main (scroll window) permet de dplacer l'ensemble des objets dans la fentre. Le stop (set/clear breakpoint) permet de mettre des points d'arrt. La sonde (probe data) permet d'effectuer des prlvements sur les liaisons. La pipette (get color) copie les couleurs. Le pinceau (set color) tablit les couleurs de fond et de premier plan.
La palette des contrles (controls palette)

Elle s'ouvre automatiquement lorsqu'on lance Labview (sinon la slectionner dans windows). Malgr son nom, elle permet de placer des contrles et/ou des indicateurs sur la face avant d'un VI (figure 2). Chaque icne contient des sous palettes. Les deux premiers contrles (en haut gauche) sont:
Master OIV 1 Initiation Labview 4
Figure 2 : Palette des contrles

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

Les indicateurs et contrles numriques pour entrer ou afficher des grandeurs numriques. Les indicateurs et contrles boolens pour des entres ou sorties tout ou rien. Nous dtaillerons les autres contrles au fur et mesure des besoins.
La palette des fonctions

2.3

Sauvegarder un VI

Avec file>>save as, affecter un nom et un chemin d'accs ce fichier qui aura l'extension .vi
Exercice 1 :

On se propose de tirer une suite de nombres alatoires compris entre 0 et 1, de les multiplier par un coefficient fix par un contrle, d'afficher le rsultat sur un vumtre aiguille, de comparer ce rsultat un seuil et d'allumer une Led si le rsultat dpasse le seuil. Ouvrir une nouvelle face avant en slectionnant file>>new ou le bouton new VI dans la bote de dialogue.

Elle s'affiche lorsqu'on visualise le bloc diagramme (figure 3). Chaque icne contient galement des sous palettes. Elle permet de placer des noeuds (oprateurs, VIs, constantes...) dans le bloc diagramme.

2. Ralisation d'une application simple


2.1 Barre d'outil du diagramme

Elle permet de contrler le mode d'excution du VI. Les boutons de gauche droite ont les actions suivantes : Flche simple ; excuter une fois. Flche double ; excuter en continu. Bouton rouge ; arrter l'excution.

Figure 3 : Palette des fonctions

Ampoule ; afficher les donnes passant dans les fils (excution lente). Excution dtaille (pas pas y compris l'intrieur des sous VI) Excution semi dtaille. Pour rendre la face avant active, il suffit de cliquer dans la fentre correspondante. Lorsqu'on a lanc l'application, on peut ensuite manipuler le VI avec l'outil doigt comme un instrument rel. On peut visualiser en mme temps la face avant et le diagramme avec windows>up/down Observer les quatre premiers modes de fonctionnement. 2.2 Documenter un VI
Figure 4 : Face avant de lexercice 1

Constitution de la face avant On dsire raliser la face avant de la figure 4, aprs avoir fait apparatre la palette de contrles : a. Choisir un potentiomtre vertical dans controls>>numeric>>vertical slide et le placer dans la face avant. Taper immdiatement le texte 'gain' dans la bote tiquette puis cliquer l'extrieur. Pour fixer la plage du potentiomtre entre 0 et 100, l'aide de l'outil tiquette A, double cliquer sur 10. Il doit alors apparatre en surbrillance. Taper 100,0 et cliquer l'extrieur. b. Faire de mme avec un deuxime potentiomtre et le nommer 'seuil'. c. Placer un vumtre disponible dans numeric>>meter. Le nommer 'affichage' et rgler sa plage.

Il peut tre utile de documenter un VI comme un programme lorsqu'il est complexe. Pour cela, slectionner windows>>show VI info. On peut alors entrer des commentaires.

Master OIV 1 Initiation Labview

Master OIV 1 Initiation Labview

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

d. Placer une led (Boolean>>round led) et la nommer 'dpassement'. Constitution du bloc diagramme

raisons ( souvent incompatibilit de formes ou de types de donnes) ; elle apparat alors en tirets (ne pas confondre avec les pointills des boolens). Pour finir lancez l'application et vrifiez son bon fonctionnement.

3.

Crer un sous VI

On peut utiliser autant de sous VI que l'on veut et chaque sous VI peut appeler d'autres sous VI, etc. Pour utiliser un VI comme sous VI, il faut crer une icne pour le reprsenter et un connecteur pour relier ses entres et ses sorties.
Exercice 2

On se propose de crer un sous VI partir du VI prcdent. a. Ouvrir le VI prcdent si vous l'avez ferm. b. Appeler l'diteur d'icne en droulant le menu local dans le coin suprieur droit de la face avant et slectionner Edit icon. Vous disposez alors de diffrents outils de dessin dans une fentre gauche pour personnaliser votre icne. Effacer l'icne existante par dfaut. Dessiner un d et/ou taper du texte (DE par exemple). Fermer en cliquant sur
Figure 5 : Bloc diagramme de lexercice 1

OK. c. Crer le connecteur en utilisant show connector (menu objet de l'icne). Labview slectionne automatiquement le nombre de connecteurs suivant le nombre de contrles et d'indicateurs (deux entres-contrles et deux sorties-indicateurs). Les entres sont gauche et les sorties droite. Cliquer sur le connecteur et sur l'indicateur ou le contrle correspondant pour les connecter. Le connecteur reli est alors gris. Il faut videmment enregistrer ce sous-VI avec un nom distinct puisqu'il peut tre utilis dans d'autres applications. Pour l'utiliser par la suite, ouvrir un nouveau VI, et dans le diagramme slectionner le sous-VI avec functions>>select a VI. Remarque :Lors du dveloppement d'un VI, le diagramme peut s'avrer plus complexe que prvu ou deux parties peuvent tre identiques. On transforme alors en sous VI une partie du diagramme. Il suffit de slectionner le bloc que l'on veut mettre en sousVI et de choisir Edit>>SubVI from selection. Labiew ralise alors lui-mme les connexions.

Ouvrir la fentre diagramme (Ctrl+E), les contrles et indicateurs de la face avant s'y trouvent dj. Observer la diffrence de cadres. DBL et SGL signifient double et simple prcision. Choisir les objets suivants dans la palette fonctions et les placer dans le bloc diagramme comme sur la figure 5. a. La function nombre alatoire reprsente par des ds dans functions >>numeric >>random. b. La fonction multiplication (functions>>numeric) pour multiplier la valeur gnre par le coefficient. c. La fonction suprieur dans functions>>comparison. d. Relier les diffrents blocs en utilisant la bobine. Pour relier deux points, il suffit de cliquer une fois sur chaque point dans n'importe quel ordre (ne pas maintenir le bouton de la souris appuy). Labview affecte une couleur chaque liaison suivant le type de donnes : bleu pour les entiers, orange pour les flottants, vert pour les boolens et rose pour les chanes de caractres. En droulant le menu d'un objet, l'option show>>terminals peut aider visualiser les connecteurs. Le connecteur clignote lorsqu'on est bien positionn. En cliquant une, deux ou trois fois sur une liaison, on slectionne un segment, une branche ou toute une liaison. Une liaison peut tre mauvaise pour diffrentes
Master OIV 1 Initiation Labview 7

4.

Visualisation de signaux

Labview permet de reprsenter un ou plusieurs signaux sur un mme graphe de plusieurs manires dans control>>graph. Le mode waveform graph (graphe oscilloscopique) est de la
Master OIV 1 Initiation Labview 8

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

forme y(n) o n reprsente le numro du point. Le mode waveform chart (traceur) est de la forme y(x) avec des valeurs de x rgulirement espaces de x et dbutant x0 (respectivement 1 et 0 par dfaut). Le mode XYgraph trace le tableau y en fonction du tableau x.
Exercice 3

La boucle While excute le sous-diagramme contenu dans les limites de la boucle jusqu' ce que la condition terminale qui doit tre un boolen soit fausse. La stucture fait apparatre l'indice (il dmarre 0 et s'incrmente chaque excution de la boucle) et la condition terminale. Attention :Contrairement la plupart des langages de programmation, la boucle while de Labview est xcute au moins une fois. Il existe trois autres structures que nous verrons plus tard : sequence, case et node.
Exercice 4

Remplacer le Vumtre prcdent par un traceur (waveform chart), retourner dans le diagramme pour relier la valeur de sortie au traceur. Les valeurs de ces graphes sont contenues dans des tableaux dont le nombre de valeurs peut voluer. Le graphe affiche un certain nombre des dernires valeurs et se met jour de 3 manires diffrentes accessibles dans le menu objet de l'cran avec Data operation>>Update mode. Le mode strip chart qui affiche en permanence les dernires valeurs (comme un enregistreur papier) Le mode scope chart qui fonctionne comme un oscillo (il efface lorsqu'il arrive au bout et recommence du dbut un nouveau graphe) Le mode sweep chart qui fonctionne un peu comme un oscillo mmoire (il n'efface que la partie o il retrace ; un curseur permet de reprer cette position). Observer ces diffrents modes de rafrachissement. Remarques :Un certain nombre de points antrieurs se trouvent dans une mmoire tampon mme s'ils ne sont plus affichs. On peut les afficher de nouveau (remonter le temps) avec show>>scrollbar du menu objet de l'cran du traceur. Le menu objet de plot permet de choisir diffrents modes de reprsentation des points et lignes.

Utilisation d'une structure de contrle rptitive et visualisation de signaux. a. Ouvrir la fentre face avant du VI prcdent et placer un bouton (controls>>boolean) que vous nommerez 'M/A'. b. Ouvrir le bloc diagramme et placer une boucle While (function>>structure) autour de l'ensemble des objets. c. Relier M/A la condition terminale de la boucle. d. Retourner dans la face avant et cliquer sur le bouton M/A avec le doigt (operate tool). e. Lancer le VI (run normal). Une nouvelle action sur le bouton M/A arrtera l'acquisition en terminant la boucle. Ajout d'une synchronisation. Il est souvent utile de contrler les instants de traitement (dans notre exemple, le temps de redmarrage d'une nouvelle boucle). Placer l'icne function >>Time &Dialog>>Wait until next ms multiple dans la boucle. Ouvrir le menu objet (Clic droit), slectionner create constant et taper 500 pour deux acquisitions par seconde. Visualiser la courbe en changeant cette valeur. Remarque :Il est prfrable d'utiliser cette dernire mthode (menu objet du noeud) pour relier des constantes, des indicateurs ou des contrles aux entres et sorties ; les connexions s'tablissent toutes seules et les types de donnes correspondent obligatoirement.

5.

Structures de contrle de l'xcution d'un programme

Lors d'exprimentations, il est indispensable de contrler le dbut, la fin et le nombre d'excutions d'une application sinon elle dbute immdiatement avec run, s'excute le plus rapidement possible et se termine avec stop sous notre contrle comme nous l'avons fait prcdemment. Labview dispose des boucles For et While comme en programmation classique. Elles se situent dans functions>>structures. La boucle For excute N fois le sous-diagramme contenu dans les limites de la boucle reprsente par un cadre. Elle fait apparatre la valeur N et l'indice i qui varie de 0 N-1.
Master OIV 1 Initiation Labview 9

6.

Arrays et clusters (Tableaux et groupes)

Jusqu' maintenant nous avons manipul des scalaires (nombres individuels). Il est possible et souvent intressant de manipuler des tableaux une, deux ou n dimensions. Les graphes manipuls prcdemment utilisaient des tableaux pour mmoriser les valeurs tracer ; de mme, si des signaux proviennent de plusieurs canaux d'une carte d'acquisition, ils seront
Master OIV 1 Initiation Labview 10

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

stocks en tableaux 2D (une colonne par canal et une acquisition par ligne). Il existe deux manires de grouper les donnes : En arrays (tableaux) si les donnes sont de mme type. En clusters (groupes) si les donnes sont de nature diffrente. Ils sont caractriss tous deux par leur forme 1D, 2D ou nD, leur taille (nombre de lignes, nombre de colonnes, nombre de plans, etc...) et leur contenu (type de donnes). Un lment de tableau est repr par ses indices qui dbutent toujours 0. Contrairement aux arrays qui peuvent changer de taille de manire dynamique (autoindexation), les clusters ont des tailles fixes. Pour augmenter les dimensions, drouler le menu objet en cliquant sur l'affichage de l'indice et slectionner add dimension. 6.1 Les tableaux (Arrays)

Effectuer le mme travail pour un tableau 2D l'aide de deux boucles For imbriques. Les liaisons vhiculant des tableaux plusieurs dimensions sont reprsentes par des doubles traits. Passer ventuellement 3D. Dans chaque cas, dans la face avant, reprer les numros de lignes, colonnes, etc... Remarque :L'autoindexation est valide par dfaut pour les boucles For et inhibe par dfaut pour les boucles While. On peut changer les validations par dfaut l'aide du menu local sur le point d'entre ou de sortie de la boucle ; ces points dfinissent un tunnel. 6.2 Les groupes (Clusters)

Un cluster est une structure qui regroupe des donnes ventuellement de nature diffrente contrairement aux arrays. Le principal avantage est au niveau des connexions car on peut relier plusieurs noeuds avec une seule liaison regroupant plusieurs types de donnes. Le regroupement et 'dgroupement' de donnes peut tre ralis par les fonctions bundle et unbundle de cluster. Les mmes fonctions by name permettent d'agir sur une partie du cluster seulement.
Exercice 6. Cration d'un cluster, dgroupement, regroupement et affichage dans un autre cluster

On cre un tableau en deux tapes : en dfinissant d'abord le nombre de dimensions et ventuellement leurs valeurs maximales puis en dfinissant le type de donnes qui peut tre d'une part un contrle ou un indicateur et d'autre part numrique, boolen ou chane. Quand on pose un tableau pour la premire fois dans la face avant, il apparat noir ce qui signifie que le type de donnes est indfini. Il prendra ensuite la couleur correspondant au type de donnes. Il existe de nombreuses fonctions pour manipuler les tableaux dans functions>>array.
Exercice 5. Utilisation de tableaux

a. Ouvrir une nouvelle face avant b. Placer un cluster (control>>Array&cluster) ; le nommer 'cluster d'entre'. c. Elargir le cadre et placer l'intrieur deux contrles digitaux (boolean switches), une chane de controle (string) et un contrle numrique. d. Crer un cluster de sortie en clonant celui d'entre (le slectionner puis le dplacer avec la souris en appuyant sur la touche contrle du clavier). e. Cliquer sur la bordure du cluster l'aide du menu objet et slectionner Change to indicator. f. Changer l'tiquette du nouveau cluster en 'cluster de sortie'. Vrifier ventuellement que les deux clusters ont le mme ordre en droulant un menu sur la bordure et en choisissant Cluster order. g. Placer un bouton stop rectangulaire (boolean). Noter que ce bouton est faux par dfaut.

On se propose de remplir un tableau de rels une dimension l'aide d'une boucle For. Dans une nouvelle face avant, crer un tableau avec array cluster>>array. Pour dfinir le type de donnes placer un indicateur digital (nb lments) dans la zone d'affichage du tableau en ouvrant le menu objet de cette zone et en slectionnant numeric>>digital indicator. Nous ne dfinissons pas la dimension du tableau, l'autoindexation de la boucle For l'effectue automatiquement. Dans le diagramme positionner un gnrateur de nombres alatoires. L'entourer d'une boucle For (structures >>For loop). En ouvrant le menu objet de la valeur terminale N, slectionner create constant ou control si vous voulez fixer N dans la face avant. Relier le d au tableau. Cette connexion, dans sa partie extrieure la boucle, doit alors apparatre paisse indiquant un transfert de tableau une dimension. Fixer la valeur de N et lancer l'application. Observer le fonctionnement dtaill l'aide de l'option ampoule de la barre d'outil du diagramme.
Master OIV 1 Initiation Labview 11

Master OIV 1 Initiation Labview

12

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

h. Construire un diagramme dans une boucle While en intercalant un Unbundle et un bundle (fonctions>>cluster) entre le cluster d'entre et celui de sortie. Pour pouvoir les cbler correctement il est ncessaire de redimensionner ces deux lments (cliquer avec l'outil flche en bas droite de l'icne et faire glisser jusqu' ce qu'une quatrime broche apparaisse). i. Contrler la boucle par le complment du bouton en intercalant une fonction Not (fonctions>>boolean). Remarque : Cet exercice est purement pdagogique car on peut relier directement deux clusters).
Exercice 7. Array, bundle and graph

7.1 Manipulation des chanes de caractres Les VIs de manipulation de chanes se trouvent dans functions>>string et nous allons citer les plus couramment utilises. Une description "dtaille" est obtenue avec Help show help. Quelques exercices illustreront leur utilisation. Concatenate string assemble plusieurs chanes en entre en une seule chane de sortie. Pick line & append choisit une ligne dans une chane multiligne et ajoute cette ligne la chane d'entre. Select & append slectionne une chane "faux" ou une chane "vrai" suivant un slecteur boolen puis l'ajoute la chane d'entre. Match pattern recherche une chane de caractre dans une expression partir d'un indice (numro de caractre) et ressort trois sous-chanes. Le sous menu Aditional String to number function contient de nombreuses fonctions de conversions de chanes en nombres. 7.2 Les commandes et les indicateurs de liste et de menu rotatif La palette controls >> List & Ring contient huit commandes. Ils associent des entiers non signs des chanes de caractres, des images ou aux deux la fois. Ils sont utiles lors de la slection d'options dans un menu sans connatre la valeur numrique correspondante. Les menus rotatif de menus (menu ring) ou de dialogue (dialog ring) permettent de slectionner un menu parmi plusieurs qui s'affichent simultanment. Les commandes de liste servent prsenter aux utilisateurs une liste d'options. Single selection permet un choix unique alors que multiple selection permet un choix multiple. Les commandes de type numration (enumerated type) s'apparentent une commande de menu rotatif textuel sauf que lorsque les donnes de l'numration sont relies une structure condition, la condition affiche la chane de caractres ou le texte de l'lment au lieu d'un nombre. A titre d'exercice de comprhension, reproduire les diagrammes contenant des string functions issus de configure sensor et triggering (p23-26) et ajouter un indicateur de chane la fin de chaque diagramme. Le text ring "sensor channel" comporte deux lignes : "channel A" et "channel B". Ne pas faire figurer les visa.

On se propose de construire un VI qui gnre un tableau et en trace un graphe reprsentatif. Dans une nouvelle face avant, placer a. Un graphe (waveform graph) auquel vous affectez une tiquette. b. Un tableau (id). Slectionner un indicateur numrique et le placer dans la zone d'affichage des donnes afin d'en dfinir le type. Construire le diagramme de la figure. Le bloc generate wave... est un VI situ dans functions>>tutorial. Placer deux constantes numriques et les relier aux entres du bundle. Relier la sortie du bundle l'entre du graphe. La signification de x0 et delta x est obtenue en slectionnant au pralable help show help (ceci est valable pour tout noeud dont on ne connat pas le brochage). Si une tiquette n'est pas disponible, on peut en affecter une en ouvrant un menu local et en slectionnant show label. Retourner dans la face avant et excuter le VI. L'chelle automatique des ordonnes peut tre dsactive par Yscale>>autoscale Y du menu local ouvert sur le graphe. En double cliquant sur le mini et le maxi, on peut les modifier volont.

7. Chanes de caractres et entres/sorties


Jusqu' prsent, nous n'avons utilis que des entres et des sorties numriques respectivement l'aide de contrleurs et d'indicateurs. Lorsqu'on observe le diagramme d'un driver d'instrument, on s'aperoit que la manipulation de chanes de caractres constitue l'essentiel des fonctions et les menus rotatifs l'essentiel des contrles. Enfin, le recueil de nombreuses donnes ncessite souvent le transfert dans un fichier pour un traitement ultrieur.

Master OIV 1 Initiation Labview

13

Master OIV 1 Initiation Labview

14

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

7.3 Fichiers d'entre sortie Les functions>>file I/O servent non seulement lire ou crire dans des fichiers mais galement dplacer ou renommer des fichiers ou des chemins d'accs. Il existe trois modes de stockage Fichiers ASCII. Il faut convertir toutes les donnes en chane ASCII. Le gros avantage est de pouvoir les rutiliser avec d'autres programmes ou logiciels tels les tableurs ou les diteurs de texte. Nous n'tudierons que ce mode. Fichiers Datalog. Seul Labview peut lire ces fichiers. Fichiers binaires. Cette mthode est la plus rapide et la plus compacte mais il faut bien connatre la manire dont on a organis les donnes. La plupart des oprations d'entre sortie fichiers comprend les trois oprations de base : ouvrir un fichier existant ou le crer, lire ou crire dans le fichier, fermer le fichier. Les Vis suivants xcutent une ou plusieurs des oprations prcdentes pour les fichiers ASCII. Write characters to file crit une chane de caractres dans un nouveau fichier ou ajoute la chane dans un fichier existant. Il referme le fichier. Read characters from file effectue l'opration inverse. Read lines from file lit un nombre donn de lignes partir d'un caractre spcifi. Write to spreadsheet file convertit un tableau 1D ou 2D de nombres simple prcision en une chane et les crit dans un fichier (A utiliser pour relire les donnes avec un tableur). Read from spreadsheet file effectue l'opration inverse.
Exercice 8

8. Structures : nud formule, condition et squence


Nous allons maintenant tudier les autres Vis contenus dans function>>structure qui permettent de mettre en place des structures de programmation. 8.1 Le noeud formule : Formula node On peut raliser n'importe quel calcul avec un diagramme, mais cette solution n'est pas toujours la plus concise ou la plus lisible. Le noeud formule permet d'crire des squences de calcul comme en programmation classique. L'exercice suivant va illustrer son utilisation.
Exercice 9

On va utiliser un noeud formule pour calculer la fonction y = x^2 + x + 1 pour x variant de 0 2 avec un pas de 0.1 et reprsenter son graphe. Dans une nouvelle face avant, positionner un graphe xy. Dans le diagramme, positionner un noeud formule (function>>structure>>formula node). Agrandir le cadre et taper la formule (termine par ; ). En droulant un menu objet sur la bordure, choisir add input et add output, puis entrer le noms des variables x et y dans les cases (ce doit tre les mmes noms que dans la formule). Ajouter une deuxime formule de votre choix et tracer les deux courbes en fonction de x. 8.2 La structure condition : Case structure Cette structure ralise approximativement l'quivalent du if then et du case de turbopascal. Elle possde un terminal de slection (selection terminal) qui selon sa valeur fait excuter un sous diagramme (condition = case) parmi plusieurs. Si un boolen est connect au terminal, il existe un sous diagramme excut si la condition est true et un autre si elle est false. Si on connecte un numrique, on peut envisager au maximum 2 -1 sous diagrammes numrots partir de 0 et excuter celui dont le numro correspond au terminal. On ne peut afficher qu'une seule condition la fois dans le diagramme; pour passer de l'une l'autre, cliquer sur l'une des flches en haut de la structure.
Exercice 10
15

Ajouter au VI de l'exercice 7 une fonction sinus pour gnrer un deuxime tableau 1D. A l'aide d'un Build array, former un tableau 2D. Le sauvegarder dans un fichier ; relire le tableau hors labview et tracer la courbe correspondante l'aide d'un tableur (Excel par exemple). Quelques raccourcis :Maintenant que vous matrisez Labview vous pouvez prendre des raccourcis pour gagner du temps de manipulation. Pour drouler un menu objet, par exemple, on peut se positionner sur l'objet et cliquer sur le bouton droit de la souris. Pour effacer des liaisons mauvaises CTRL-b (bad).

Raliser un VI qui calcule la racine carre d'un nombre si celui-ci est positif et signale une erreur s'il est ngatif en affichant la valeur -99. Dans une face avant placer un contrleur digital pour entrer le nombre et un indicateur digital pour afficher la racine carre.

Master OIV 1 Initiation Labview

15

Master OIV 1 Initiation Labview

16

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

Dans le diagramme, placer une structure condition (functions>>structure>>case). L'agrandir en tirant sur un coin. La fonction one button dialog se trouve dans time & dialog et permet d'afficher une bote de dialogue. Remarque :Les cas simples du type if then else de cet exercice peuvent tre rsolus plus simplement par la fonction select dans comparison. Voir description avec Help >>show help. 8.3 La structure squence Cette structure est trs importante car elle permet de drouler plusieurs squences les unes aprs les autres la manire des images d'un film comme le rappelle la reprsentation. Cette structure n'a pas d'quivalent en programmation classique puisque les instructions sont excutes dans l'ordre. Par contre elle est ncessaire dans le cas du contrle par flux de donnes.
Exercice 11

9. Les registres dcalage


Ils sont disponibles pour les boucles For et While et permettent de transfrer des valeurs d'une itration la suivante. On les cre en ouvrant un menu local sur la bordure droite ou gauche et en choisissant Add shift register. Il apparat alors une flche montante droite et une descendante gauche au mme niveau qui symbolisent respectivement le stockage des donnes pendant l'itration et la restoration de ces donnes pendant l'itration suivante. On peut stocker les lments de plusieurs itrations en choisissant add element. Il apparat alors plusieurs flches gauche. On peut crer plusieurs registres dcalage. Ce registre peut tre un nombre, un tableau ou un cluster.
Exercice 12

Raliser un VI qui trie les nombres d'un tableau suivant leur signe et place les positifs et les ngatifs dans deux tableaux diffrents. Dans une nouvelle face avant, placer trois tableaux indicateurs d'entiers une dimension et les nommer 'tableau alatoire', 'tableau des positifs' et 'tableau des ngatifs'. Commencer par gnrer le tableau initial de nombres entiers alatoires compris entre -5 et +5 l'aide d'une boucle For. Placer une seconde boucle For indpendante de la prcdente et crer deux registres dcalages. A l'intrieur de la boucle placer une structure condition dont le terminal de slection est reli au signe du nombre du tableau alatoire. A l'intrieur de chaque condition (true or false) placer un build array. L'agrandir 2 lments et changer l'lment d'entre en array (menu objet). La mthode consiste ajouter chaque nombre positif (ngatif) au tableau des positifs (ngatifs) qui revient en dbut de diagramme grce au registre. Il faut initialiser le tableau par un initialize array. Remarque : Observer l'effet de l'auto-indexation au bord de la boucle For qui transforme, en sortie, une srie de valeurs en tableau et le processus inverse en entre.
Exercice 13

A titre d'exemple, on va raliser un VI qui par tirage alatoire va chercher un nombre entr dans la face avant. On calculera en mme temps le nombre d'itrations et le temps mis pour trouver le nombre. Dans une face avant, placer un contrleur et trois indicateurs que vous nommerez 'nombre chercher', 'nombre tir', 'nombre d'itrations' et 'temps mis'. Changer la prcision des trois premiers en slectionnant format&precision dans leur menu objet et en tapant 0 pour le nombre de dcimales. Raliser le diagramme de la manire suivante. Placer et agrandir une structure squence ; elle a implicitement le numro 0. Placer l'intrieur la fonction tick count (ms). Crer une variable locale en droulant le menu objet sur le bord infrieur du cadre et en choisissant add sequence local. Cette variable locale est initialement reprsente par un carr qui comporte une flche lorsqu'il est connect, elle sera disponible dans les autres squences. Crer un nouveau cadre avec le menu objet en choisissant add frame after (squence 1). Placer une structure While, les indicateurs et controleurs utiles ainsi que les fonctions numriques. La fonction [] (round to nearest) arrondit. Dans la dernire squence, on dsire calculer le temps mis pour la dtermination du nombre en faisant la diffrence des instants d'horloge de dbut et de fin. Entrer une valeur dans la face avant, xcuter le VI et l'enregistrer.
Master OIV 1 Initiation Labview 17

On se propose de calculer la valeur moyenne, maximale et minimale d'une suite de N valeurs gnres de manire alatoire. Cet exercice est encore purement pdagogique car ces fonctions existent pour les tableaux dans les Vis d'analyse. Vous pouvez cependant utiliser le VI Max Min dans function>>comparison.

Master OIV 1 Initiation Labview

18

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

10. Acquisition de donnes et contrle d'instruments


10.1. Gnralits Le principal intrt de Labview est de pouvoir communiquer avec le monde extrieur ( l'ordinateur) via des Bus, des ports sries ou des cartes d'entre-sortie. Cette communication est aise car il existe des VIs qui contrlent les diffrents bus, cartes ou instruments. La difficult au niveau de cette formation rside dans la connaissance pralable de ces diffrentes notions. Nous donnerons les outils ncessaires aux dveloppements de telles applications et quelques exemples de Vis qui ne pourront tre excuts qu'en prsence du matriel adquat.
Contrle d'instrumentation VISA

La face avant reprsente les diffrents contrles et indicateurs : le choix du canal A ou B, le mode de dclenchement, le type de "mesure" (lecture pour un radiomtre ou "envoi" pour une source), la longueur d'onde, la valeur lue et les diffrents messages d'erreur ventuels. Le diagramme correspondant est constitu de trois sous-VI : configuration du capteur, mode de dclenchement et lecture ou envoi de valeurs. Le diagramme de chacun est dtaill ensuite. Le diagramme configure sensor (p24) est constitu d'un pick line & append qui dfinit la chane de caractre relative au canal de mesure et de deux string to number function qui spcifient le format des nombres relatifs au temps de mesure et la longueur d'onde. Par exemple, si on choisit le canal 2, un temps de mesure de 0.5s et une longueur d'onde de 980 nm, il formera la chane : sense2:pow:atime0.500;wave980.00nm Le diagramme configure triggering (p25) ajoutera la chane prcdente la chane suivante (par l'intermdiaire de visa) si on fonctionne en dclenchement continu. init2:cont on Enfin, si on fait une lecture, le diagramme read/fetch value (p26) ajoutera la chane read2:scal:pow:dc? La chane complte sera envoye l'appareil par l'intermdiaire du write visa. Le read visa accomplira la lecture, puis la chane de caractre sera convertie en nombre pour l'afficher dans l'indicateur reading.

Visa est une bibliothque d'interfaces qui permet de contrler des instruments sous bus GPIB ou autre. A l'aide de ces fonctions, on peut construire un VI de driver d'instrument qui contrle un modle particulier d'instrument au moyen de diffrents supports d'entre sortie. Une chane de caractre est transmise la fonction Open de Visa afin de choisir le type d'E/S utiliser pour communiquer avec l'instrument. Une fois que la session Visa est ouverte, les fonctions Visa telles que read et write excutent les E/S de manire gnrique. Le driver d'instrument Visa est alors indpendant de l'interface. Nous allons donner des exemples de VIs des diffrents moyens d'E/S. A dfaut de pouvoir les excuter sans gnrer de signal d'erreur cause de l'absence de la carte ou de l'appareil, il est plus intressant d'observer leur structure et les lments qui les composent. Il peut tre utile d'en reproduire une partie pour observer l'excution dtaille comme on l'a dj fait au paragraphe 7. 10.2 Bus GPIB Le bus le plus courant est le GPIB (General Purpose Interface Bus) galement appel IEEE 488. A l'aide d'une carte d'interface GPIB installe dans l'ordinateur, on peut communiquer avec plusieurs appareils connects l'aide de cbles GPIB. Les figures en annexes (p23-26) reprsentent le driver d'un chassis HP 8153A dans lequel on peut placer deux tiroirs (radiomtres ou sources). Nous ne nous occuperons pas des VIs visa qui n'ont pas de rle fonctionnel.

10.3 Les ports srie La liaison srie est un moyen de communication trs rpandu car la plupart des ordinateurs possde au moins un port srie. Il permet d'entrer ou sortir des donnes, en srie, bit par bit. L'inconvnient est l'impossibilit de connecter plusieurs appareils. Les VIs de liaison srie se trouvent dans functions >> Instrument I/O >> serial. Ils sont au nombre de cinq : serial port init, serial port write, serial port read, bytes at serial port et serial port break. Un exemple de VI de lecture et criture est donn sur les figures en annexes (p27). La face avant comporte un text ring indiquant le numro du port, un enumerated type qui spcifie l'action et un contrle digital qui dfinit le nombre d'octets lire. Elle comporte galement un contrle et un indicateur de chane contenant la chane crite ou lue sur le port. Le diagramme comporte une structure condition slectionne par l'action read ou write. La condition write comporte principalement un VI serial port write qui envoie la chane serial write. Le reste concerne la gestion des erreurs.

Master OIV 1 Initiation Labview

19

Master OIV 1 Initiation Labview

20

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

La condition read est plus complexe. Elle comporte une boucle while dans laquelle on teste le nombre d'octets prsents dans le buffer d'entre (bytes at serial port). On sort de la boucle lorsque ce nombre est suprieur ou gal bytes to read ou en prsence d'une erreur. On les lit alors avec un VI serial port read et on les affiche dans l'indicateur serial read. 10.4 Cartes d'acquisition de donnes Un autre moyen de communication est la carte d'entre-sortie analogique-digitale. Labview fournit des Vis facilitant l'utilisation de telles cartes. La sous-palette function >> Data acquisition contient dans l'ordre les sous-palettes suivantes : Analog input ; Analog output ; digital I/O ; Counter ; Calibration and configuration et Signal conditionning. Chacune de ces sous-palettes contient encore une sous-palette organise comme suit ; la premire ligne contient des Vis simples, la seconde des Vis intermdiaires et la dernire des Vis avancs.
Vis d'acquisition de donnes

HP8153A Example

Observer les Vis simples et ouvrir les sous-Vis qui les composent. Utiliser le show help pour visualiser les connexions. Ouvrir et analyser le fonctionnement du VI situ dans examples \daq \anlogin \analogin.llb \Acquire-n-multi-start (p28). La face avant comporte des contrles : numro de la carte (device), numro du ou des canaux acqurir sous forme de chane (channels), nombre d'chantillons et frquence d'chantillonnage et ventuellement limites de variation du signal acqurir. Elle comporte galement un bouton start et un stop. Un indicateur (voltage data) permet de lire les valeurs acquises et un cran d'afficher les courbes. Le diagramme est constitu de deux boucles while imbriques. L'une comporte le VI d'acquisition (Al wave) qui fournit un tableau des valeurs acquises. L'autre est la logique de contrle. On relance une acquisition chaque fois que l'on appuie sur start. On allume un voyant quand l'acquisition est termine. Une action sur stop arrte le VI par Al clear. Regarder le menu local d'un bouton pour voir les diffrentes possibilits d'action mcanique.

Master OIV 1 Initiation Labview

21

Master OIV 1 Initiation Labview

22

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

Configure Sensor Averaging Time and Wavelength

Sensor Trigger

Master OIV 1 Initiation Labview

23

Master OIV 1 Initiation Labview

24

Universit Jean Monnet Saint-Etienne

Universit Jean Monnet Saint-Etienne

Sensor Read/Fetch value

Port Srie

Master OIV 1 Initiation Labview

25

Master OIV 1 Initiation Labview

26

Universit Jean Monnet Saint-Etienne

Carte dacquisition

Master OIV 1 Initiation Labview

27

Das könnte Ihnen auch gefallen