Vous êtes sur la page 1sur 35

Outils logiciels pour l'instrumentation et la mesure

Première partie :

Bases de programmation LabVIEW

SECONDE OPTION MPI

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

I. Préambule : A commenter par le prof


L’objet du présent cours est l’apprentissage du logiciel de programmation graphique LabVIEW,
conçu et distribué par National Instruments. Cet outil doit vous permettre de développer dans un
cadre industriel une application d’acquisition, de mesure ou de contrôle et ce de façon efficiente.

L’objectif général est résumé par les schéma ci-dessous :

Grandeur
physique + Liaison,
Capteur transmission

Liaison :
inter-machines
Inter-protocole
internet

Carte d’acquisition traitement


analogique et
numérisation dans :
un pc distant
ou un automate distant

Présentation
des données

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 2


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

II. LabVIEW
(Laboratory Virtual Instrument Engineering Workbench) est un logiciel de développement de
programmes d'applications de tests et mesures automatisés. LabVIEW n'utilise pas, comme les
autres langages de programmation, un langage (codage) source sous forme de texte mais un
langage de programmation (on pourrait parler de description) graphique G. Les différentes
fonctions du programme sont repérées par des icônes reliées entre elles par un fil.
Ce langage de programmation permet de développer des applications sans connaissances
approfondies de l'informatique : le programmeur n'écrit pas un programme mais câble une
application à l'écran. LabVIEW est toutefois un logiciel de programmation puissant qui permet de
développer des applications complexes avec gestion et optimisation du temps et de la mémoire,
gestion des échanges de données vers d'autres applications (DDE, TCP ... et bien sûr commande
d'instruments (RS232, GPIB ,VXI, VISA OU IVI ) ou acquisition/génération de données (DAQ).

LabVIEW est organisé de la façon suivante :

 Une face avant sur laquelle le programmeur va créer l'interface graphique visible et
utilisable par l'utilisateur. Sur cette face avant, le programmeur pourra disposer des éléments
de réglage et de contrôle qui vont configurer l’appareil (commutateurs rotatifs, des
interrupteurs, des jauges…) et en retour des données mesurées ou calculées sous forme de
valeurs ponctuelles, tableaux ou courbes..( graphes, vue-mètre, des LED,…). Le programmeur
pourra donc recréer à l'écran un véritable appareil de mesure réel tel qu'un oscilloscope ou un
multimètre, ou bien créer son propre instrument qu'il pourra contrôler à l'aide de la souris ou
du clavier de l'ordinateur. Cette interface est appelé Instrument Virtuel (VI).

 Un diagramme dans lequel le programmeur va réaliser son application. Pour cela, le


programmeur dispose d'une grande quantité de bibliothèques contenant des sous-programmes,
ou sous-Vls, déjà écrits, qui permettent de réaliser une grande partie des fonctions les plus
utilisées dans le contrôle de processus (acquisition de données, contrôle d'instruments ... ). Il
existe également des bibliothèques contenant des fonctions classiques des langages de
programmation usuels (boucle For, While, manipulation de tableaux, de fichiers, points d'arrêts
... ) ainsi qu'une possibilité de visualisation du flux de données pour la mise au point. Le
programmeur a également la possibilité de personnaliser son application en créant ses propres
sous-VIs.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 3


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

III. Description des échanges face avant/diagramme.

La face avant

Les commandes
et contrôles
Les indicateurs

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 4


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

IV. Précisions à lire avant de commencer les exercices:


1) Lancement :

LabVIEW se lance soit à partir de l’icône si elle est présente sur le


« bureau » de votre PC, soit par le menu :

Démarrer  Programmes
 National Instrument LabVIEW7.1

2) Localisation sur le disque :


Les répertoires dans lesquels sont rangés les fichiers exécutables, les exemples et les
librairies de VI des instruments sont sur tous les postes dans :

C:\Program Files\National Instruments\LabVIEW7.1

Parmi ceux là, trois vous intéressent plus


particulièrement :
\Examples ; on y trouve des exemples
\Instr.lib ; librairies des instruments

Une librairie avec les fichiers résultat est disponible dans le répertoire MPI du bureau :
…\MPI\exos_LabVIEW_V23.llb

3) Sauvegarde :
Lorsque vous débuterez un nouveau VI, vous le sauvegarderez immédiatement avec un nom et
dans une librairie. Le VI portera l’extension .VI et la librairie l’extension .llb.

Vous sauvegarderez vos fichiers de travail ( *.VI) ou votre librairie de VI (*.llb) dans le
répertoire à votre nom de la façon suivante :

C:\Documents and Settings\LYCEE\Bureau\MPI\secondex\MONNOM\exo_durand.llb

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 5


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

V. Description sommaire des icônes.


1) La barre de menus de la face avant ou du diagramme :

Exécuter et exécuter en continu

Abandonner l’exécution, pause

Police du texte

Aligner les objets

Répartir les objets

Réorganiser les objets

2) La palette de contrôle :

Elle est disponible lorsque l’interface utilisateur ou ( face avant) est active. Cliquer droit sur la face
avant pour l’obtenir si elle n’est pas présente :

La première ligne d’icônes donne accès à des sous palettes de« Contrôles ou
commandes » .

la seconde ligne d’icônes donne accès à des sous-palettes d’indicateurs.

La dernière icône donne accès à tous les contrôles/commandes.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 6


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Les sous palettes des contrôles ou commandes :

Les sous palettes des indicateurs :

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 7


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Détail de la sous palette : tous les contrôles ou commandes :

La sous-palette numérique : indicateurs et contrôles associés aux données


numériques.

La sous-palette booléen : indicateurs et contrôles associés aux variables booléennes.

La sous-palette chaînes de caractères et chemin : indicateurs et contrôles associés


aux données chaînes et aux chemins.
La sous-palette Liste et Tables: : indicateurs et contrôles associés aux listes et
menus. de caractères ASCII et aux tables
La sous-palette tableaux et cluster : : indicateurs et contrôles associés aux tableaux et
cluster (regroupement de plusieurs données pouvant être de types différents, sous la
forme d’une seule variable à plusieurs champs)..
La sous-palette Graphes contient les différents types de graphes disponibles pour le
tracé de courbes.
La sous-palette Menus déroulant et Enum: : indicateurs et contrôles associés aux
menus déroulants et données énumérées
La sous-palette décoration : permet de personnaliser un VI.

La sous-palette E/S permet de placer des noms de ressources typés DAQ,GPIB etc
La sous-palette commandes utilisateur : permet de faire appel à des commandes ou
VI définis par l’utilisateur.
La sous-palette.dialogues
La sous-palette.Commandes Classiques , on y retrouve des numériques, booléens
etc en plus grand nombre.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 8


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

3) La palette des fonctions :

Elles est disponible lorsque le diagramme


est actif . Accessible par BD dans la
fenêtre de diagramme.
( elle remplace alors la palette de
contrôles).

La plus générale est la sous-palette « all functions ou toutes les fonctions ».

Dans laquelle on trouve les sous palettes suivantes :

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 9


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

La sous-palette Structures contient des structures du type( for, while), ou des


structures permettant d’imposer l’ordre d’exécution des tâches du programme.
La sous-palette numérique contient les fonctions numériques, trigonométriques ou
logarithmiques usuelles.
La sous-palette booléen contient les fonctions logiques et booléennes.
La sous-palette chaînes de caractères contient les fonctions de manipulation des
chaînes de caractères.
La sous-palette tableaux contient les fonctions de manipulation des tableaux.

La sous-palette Cluster contient les fonctions de manipulation des cluster.


La sous-palette comparaisons contient les fonctions de comparaison de données de
même type (nombres, booléens, chaînes de caractères.
La sous-palette temps et dialogue contient les fonctions permettant le séquencement
du temps programme et l’affichage de boîtes de dialogues.
La sous-palette E/S sur fichiers contient les fonctions et VI permettant la
manipulation des fichiers.
La sous-palette communication contient les VI permettant le transfert de données
VIA le réseau
La sous-palette E/S d’instruments contient les VI de contrôle d’instrument
(bibliothèque GPIB, VISA, et série)
La sous-palette acquisition de données contient les VI de contrôle de carte
d’acquisition PC NI .
La sous-palette Math contient les fonctions mathématiques
La sous-palette tutorial contient les VI utilisés dans le manuel d’apprentissage de
LabVIEW.
La sous-palette drivers d’instruments

La sous-palette génération de rapport


la sous-palette Waveforms dispose des fonctions propres aux données de type
waveform
la sous-palette sélectionner un VI : permet de sélectionner et d’insérer un sous-VI
précédemment créé et enregistré par le programmeur.
la sous-palette graphismes et sons

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 10


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

4) La palette d’outils :
Si elle n’apparaît pas ( menu :windows  show tools palette ou Fenêtre  montrer la palette d’outils)

Outil doigt (face avant) : actionne les contrôles et permet de modifier les valeurs.

Outil flèche permet de sélectionner un élément ou un groupe d’éléments.

Outil texte permet d’éditer du texte et des valeurs.

Outil Bobine (diagramme) permet de connecter les différents éléments.

Outil de menu local permet de faire apparaître le menu local d’un élément.

Outil main (face avant) permet d parcourir une fenêtre sans utiliser les barres de défilement.

Outil point d’arrêt (diagramme) : place un point d’arrêt dans un VI sur le fil considéré.

Outil sonde (diagramme) permet de placer une sonde sur une ligne pour en connaître la
valeur en cours de déroulement de programme

Outil pipette (face avant) copie la couleur d’un élément.

Ou Outil pinceau (face avant) change la couleur d’un élément.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 11


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

VII. Exercices de base de prise en main de l’interface graphique


et des commandes de LabVIEW.
1) Exercice1 : Création d’un VI ( ADD.VI) réalisant l’addition
de deux nombres.
• A partir de la première fenêtre LabVIEW choisir « Nouveau VI vide », ou New  Blank
VI .

 La face-avant :
111... Se placer dans la face-avant en cliquant dessus.
222... Sauvegarder le VI avec le nom ADD.VI dans votre librairie perso par exemple :
exos_durand.llb. Pour ceci, après « Save as » ou « Enregistrer sous », choisir Nouvelle
bibliothèque de Vis, lui donner un nom et valider cette création en cliquant sur
Bibliothèque de Vis. Dans cette bibliothèque, donner un nom au VI et valider par OK.
Vous sauvegarderez tous vos Vis dans cette bibliothèque.
333... Placer deux contrôles numériques , pour cela faire apparaître la palette des Commandes (ou
Controls dans la version anglaise) : quand on est dans la face avant, cliquer BD (bouton
droit) .
444... Choisir au choix le chemin suivant :

• Soit la première sous-palette Numériques (Numeric Controls) puis le premier


« bouton » Commande numérique (Numéric Control).
• Soit la dernière palette « Commandes », (All Controls) puis la première sous-
palette Numérique (Numeric) et la première commande (Control).
555... Placer une étiquette ou ( Label) sur chacun des ces deux éléments, respectivement nommés x
et y :
• Soit au moment où vous placer l’élément dans la face avant, le champ
étiquette/label apparaît en noir et est directement actif , vous tapez alors modifier
son texte.
• soit dans un deuxième temps, en sélectionnant l’objet entier (outil flèche de la
palette Outils, ( fenêtre  palette Outils, Windows  Show tools Palette), puis
menu contextuel par BD et Visualiser  Etiquette.

666... Avec la même démarche, placer deux indicateurs numériques : Dans la sous-palette
Numérique, choisir Indicateur numérique (Numeric Indicator).
777... Leur affecter les Label « somme » et « différence ».

Résultat :

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 15


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

 Le diagramme :

111... Activez le diagramme en cliquant dessus avec le bouton gauche de la souris ou en sélectionnant
Diagramme dans la menu Fenêtre, ou encore par le raccourci Ctrl et E.
222... Placer une fonction d’addition : Faire apparaître la palette de fonctions  BD, puis choisir la
sous palette principale « Toutes les fonctions » (All functions) puis choisir (L1C2 :Ligne 1,
Colonne2), numérique/Numeric, puis choisir l’opérateur (L1,C1) additionner/Add.
333... De la même façon, placer une fonction de soustraction.
444... A l’aide de l’outil « Bobine » de la palette d’outil, relier les contrôles X et Y aux
entrées de l’icône représentant la fonction d’addition :
• Sélectionner l’outil Bobine soit en cliquant dessus, soit en utilisant la barre d’espace du
clavier.
• Placer cet outil sur l’icône représentant le contrôle X (celle-ci doit clignoter) et cliquer
une fois avec le bouton gauche de la souris.
• Déplacer ensuite la souris jusqu’à positionner l’outil Bobine sur la première entrée de la
fonction addition (qui doit également clignoter) et cliquer à nouveau avec le bouton
gauche de la souris.

555... De la même façon réaliser les autres connexions.

Remarque :
Les éléments du diagramme (commandes ou indicateurs) ont une couleur différente suivant leur
type afin d’être immédiatement identifiables :

- Nombres entiers en bleu.


- Nombres réels: orange (flottants)
- Booléens : vert
- Caractère et chaînes de caractères (String)
- Cluster : marron ou rose.

Les fils de câblage suivent ce même code de couleur, et leur largeur dépend du format de la donnée
qu’ils véhiculent ( trait fin pour un élément simple, gras pour un tableau 1D, double pour un tableau
2D…)
De la même façon, le cadre extérieur des icônes est un trait gras ou fin suivant que celle-ci
représente un contrôle ou un indicateur .
Enfin, notez que depuis le version7 une commande présente une petite flèche noire sur sa droite
symbolisant la sortie des données, alors qu’un indicateur présente une petite flèche noire sur sa
gauche indiquant que les données doivent lui arriver de l’extérieur.

Voir le détail des types de base au chapitre traitant des structures algorithmiques.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 16


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 17


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 18


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 19


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

 Mise au point et test du VI .

111... Revenir sur la face-avant, sélectionner l’outil Doigt de la palette d’outils (ou barre
d’espace).
222... Positionner les contrôles aux valeurs souhaitées.
333... Lancer l’exécution du programme à l’aide la l’icône ou de la barre de menus.
444... Repasser dans le diagramme (ctrl E) et visualiser le flot de données en validant l ‘affichage des
variables : cliquer sur « l’ampoule » avant de lancer l’exécution du programme.
555... Vous pouvez refaire la même opération en ayant au préalable placé des sondes sur chaque
liaison qui vous intéresse. (L3,C2) de la boîte d’outils.
666... On peut également en phase de mise au point placer des points d’arrêt si nécessaire (outil STOP
L3,C1 de la boîte d’outils ).

 Modification du VI.
111... Ajouter sur la face avant un contrôle que vous nommerez Z, vous lui donnerez la forme d’un
bouton rotatif. L4,C1 dans la sous-palette numérique de la palette commande.
222... Ajoutez un indicateur auquel vous donnerez la forme d’un vu-mètre L4,C3 dans la sous-palette
numérique de la palette commande.
333... Supprimez un fil de liaison et remarquez que la flèche d’exécution est brisée signalant qu’au
moins un fil n’est pas connecté ; Ceci constitue une erreur dont la description est visible par le
menu Fenêtre  Liste des erreurs.
444... Reconnectez ce fil.
555... Câblez l ‘ensemble afin d’obtenir le résultat suivant et sauvegardez ce VI.

666... Passer à l’exécution du VI ; vous remarquerez que LabVIEW débute par les opérateurs
pour lesquels toutes les variables d’entrée sont disponibles.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 20


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

2) EXERCICE 2 : Création d’un sous-VI opération .


111... Ouvrir le VI Add.VI et se placer dans la fenêtre de face avant.
222... Placer le curseur sur la zone représentant l’icône actuelle du VI ( petit carré en haut à droite).
333... A l’aide du BD faire apparaître le menu contextuel à cette zone.
444... Choisir « Editer l’icône » (Edit Icon) et modifier l’icône existante à votre guise. Par exemple,
effacez tout et placez le texte suivant (x+y)
(x-y)
(x+y)z
555... A l’aide du menu contextuel (BD), choisir « Visualiser le connecteur » Show Connector.
666... A l’aide de l’outil Bobine, cliquer sur la « broche » du connecteur située en haut à gauche, puis
cliquer sur la variable que vous voulez lui associer, ici x.
777... Procéder de la même façon avec toutes les commandes que vous placerez à gauche sur le
connecteur et les indicateurs que vous placerez à droite sur le connecteur.
888... Repassez en mode « Visualiser l’icône » / Show Icon puis sauvegardez.

Votre VI est maintenant visible et utilisable en tant que sous-VI que vous pouvez placer autant de
fois que vous le souhaitez dans d’autre VI.

3) EXERCICE 3 : Utilisation du sous-VI créé dans une


application.
111... Ouvrir un nouveau VI le sauvegarder sous le nom operation.VI et se placer dans le diagramme.
222... Avec la palette de fonction, choisir placer un VI avec l’icône L1C7 de la palette
et cliquer sur Add.Vi.
333... Répéter cette opération deux fois.
444... Câbler ces deux VI de la façon suivante.

555... La face avant présentera 4 commandes a, b,c et d reliées à x,y,z du premier VI et z du second. Et
on fera revenir à la face avant uniquement le résultat de la sortie (x+y)z du second VI que l’on
nommera « Résultat final ». On fera apparaître une constante 7 sur l’entrée y du second Vi.
Pour ce câblage, vous pouvez directement à partir du diagramme et à l’aide l’outil Bobine placer
sur les fils à câbler faire apparaître (BD, menu contextuel) des options pour câbler indicateur,
commande ou constante.
666... Faire s’exécuter le VI et vérifier la cohérence du résultat.
777... Exécuter le VI en mode pas à pas et rentrer dans les sous VI lors de l’exécution pour suivre
l’information.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 21


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

4) Exercice 4 : Création d’un VI de génération de nombres


aléatoires.
111... Ouvrir un nouveau VI et le sauvegarder dans votre librairie avec le nom : tirage_aléat.VI
222... Placer un graphe déroulant : palette de commandes  sous-palette graphes (L2,C3)
graphe déroulant (L1,C1).
333... Changer l’échelle des ordonnées (min : 0 ; max : 1) en double-cliquant avec l’outil Texte sur
la valeur à changer.
444... Placer le bouton stop. Palette des commandes  Booléen (L1,C2), Bouton Stop
Rectangulaire (L4,C3).
555... Activer le diagramme.
666... Placer une boucle while : palette des fonctions  Strucures (L1,C1)  Boucle While
(L1,C4).
777... Agrandir la structure : cliquer sur l’angle inférieur droit et déplacer la souris tout en
maintenant le bouton enfoncé, puis relacher.
888... Placer à l’intérieur de la boucle un générateur de nombres aléatoires : Palette fonctions 
numérique (L1,C2)  Nombre aléatoire (L3,C5).
999... Déplacer le contrôle symbolisant le bouton stop et l’indicateur représentant le graphe à
l’intérieur de la boucle : avec l’outil flèche, cliquer sur l’élément avec le bouton gauche de la
souris et maintenez-le enfoncé tout en déplaçant la souris.
111000... Placer un inverseur : palette de fonctions  booléen (L1,C3)  Non (L1,C4)
111111... Connecter le contrôle stop à l’entrée de l’inverseur, la sortie de ce dernier à l’icône de
condition de réalisation de la boucle while, puis le générateur de nombres aléatoires à
l’indicateur “graphe”.
111222... Lancer l’exécution du VI puis cliquer sur STOP pour arrêter le défilement.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 22


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

 Modification du VI pour arriver au résultat suivant :

On ajoute un seuil de référence, une fonction de comparaison ainsi qu’une fonction Condition.

111... Placer sur la face-avant une commande « seuil » : palette des commandes  numérique (L1C1)
 commande numérique (L1C1).
222... Dans le diagramme, ajouter dans la boucle un comparateur : Palette de fonctions 
Comparaisons (L3C1), « Plus grand que ? » greater ? (L1C3), un graphe déroulant ainsi qu’une
fonction assembler qui se trouve dans la sous-palette cluster.

333... Réaliser les connexions.


444... Placer à l’intérieur de la boucle while une structure condition : Fonction  structure (L1C1) 
Condition (L1C4).
555... Réaliser les connexions.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 23


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

666... Dans l’étape Vraie ou True de la structure condition, placer une Constante chaîne de texte L2C1
puis L4C1, la remplir avec le texte « Val supérieur au seuil » et la relier au bord droit de la
structure créant ainsi un « tunnel de passage », relier ce tunnel à un indicateur chaîne de texte
placé en face avant que vous nommerez « message qui sort du test ».
777... Dans l’étape Faux ou False de la structure condition, placer une Constante chaîne de texte en y
entrant le texte « Valeur inférieur au seuil » et la relier au tunnel précédemment créé. Sur le
bord droit de la structure condition.
888... Réaliser la câblage et tester le programme en mode pas à pas.
999... Détailler pour 5 pas complets ce qui se passe . Les tirages aléatoires sont (0.2 , 0.8, 0.82, 0.45,
0.1).
111000... Appeler le prof pour validation de l’explication.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 24


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

VIII. Les structures algorithmiques de base et les types


particuliers.
1) Rappels ou notions de base d’algorithmique:
 Définition :
Un algorithme est la description en français, respectant un codage syntaxique spécifique limité, du
déroulement d’un programme ou du déroulement d’une succession d’actions et de tests.
Il a vocation à rendre plus clair l’approche du problème à décrire ou à résoudre et de ce fait, à
faciliter son « codage ».

Avant de reprendre les grands classiques que constituent les boucles, rappelons que les rudiments
d’algorithmique qui permettent de coder un programme en français avant de passer à l’écriture dans
un langage spécifique , qu’il soit textuel ou graphique sont l’affectation d’une valeur à une variable
et le test.

 L’affectation :
L’affectation en algorithmique est « codée » par le signe égal qui signifie que le membre de gauche
du signal égal se voit attribué la valeur du membre de droite.
A=b ; la variable A se voit attribué la valeur de la variable b.
A = 23 ; la variable A se voit attribué la valeur constante 23.

 Le test :
Le test est représenté par une égalité entre parenthèse, cette égalité est censée être vraie ou fausse,
valoir 0 ou 1.

Si (a=b) alors faire acion1, sinon faire action2.

 DEBUT et FIN :
Tout codage algorithmique se doit de débuter par « DEBUT » et terminer par « FIN ». De la même
façon ,dès qu’un nouveau codage apparaîtra, on l’encadrera par ces deux termes, en allant dans
certains cas jusqu’à indicer ces « DEBUT » et « FIN » pour ne pas les confondre.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 28


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

2) La boucle while (palette fonction  structures) :


Elle répond au codage algorithmique suivant :

Faire :
Exécuter le diagramme contenu à l’intérieur de la boucle
Tant que la condition est vraie

Elle présente un Terminal d’itération « i » qui est une sortie, il contient


le nombre de fois que la boucle s’est exécutée, sa valeur initiale est zéro
et vaudra zéro si la boucle ne s’exécute qu’une fois.
Elle présente également un terminal conditionnel qui est une entrée ; cette entrée est testée à la fin
de chaque itération. Lorsque ce terminal est de couleur verte, la boucle continue à s’exécuter tant
que la valeur du fil arrivant au terminal est « vraie ou True » . La boucle s’exécute donc toujours au
moins une fois.
On peut changer l’état de cette condition et le passer en rouge signifiant que la boucle continuera à
s’exécuter tant que la condition sera fausse.
Nous avons utilisé cette boucle lors de l’exercice n°4 « génération d’un nombre aléatoire ».

3) La boucle FOR :
Elle répond au codage algorithmique suivant :

Pour i=0 jusqu’à i=N-1 Faire :


Exécuter le diagramme contenu à l’intérieur de la boucle

Cette boucle s’exécute un nombre préétabli de fois, c’est le termine d’entré N qui détermine ce
nombre. « i » est un terminal de comptage dont on peut ou non se servir suivant l’application.

4) Exercice 5 : boucle FOR


Placer dans un nouveau diagramme une boucle FOR qui s’exécutera 20 fois. A l’intérieur, vous
placerez un tirage de nombres aléatoire qui, comme à l’exercice4, sera relié à un graphe déroulant et
de la face avant ayant pour valeurs max 20 en abscisses et 1 en ordonnées, à un indicateur
numérique. Vous prendrez l’habitude de placer un « timer » cadencé à de 100 à 500 ms si
l’application ne nécessite pas de vitesse d’exécution pour éviter que le PC ne « s’écroule » . Le prof
fera une démo à la classe pour démontrer l’effet de ce « cadenceur » sur les ressources PC.

( fichier exo_for.vi)

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 29


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

5) Les registres à décalage :


Les registres à décalage (disponibles pour les boucles While et For) servent au transfert des données
entre deux itérations successives. Pour créer un registre à décalage, il faut cliquer sur le bord droit
de la boucle et sélectionner Ajouter un registre à décalage dans le menu local.

Le registre à décalage contient deux terminaux situés de part et d'autre des bords verticaux du
cadre de la boucle. Celui de droite conserve les données pendant toute l'itération. A la fin, elles
passent sur le terminal de gauche, où elles apparaissent au début de l'itération suivante (voir
l'illustration suivante). Un registre à décalage peut contenir n'importe quel type de données:
numérique, booléen, chaîne de caractères, tableau,
Les registres à décalage permettent aussi de conserver des données entre des itérations
précédentes. Cette caractéristique permet notamment d'établir des moyennes entre plusieurs points
acquis lors d'itérations successives. Il suffit pour cela de créer des terminaux supplémentaires en
cliquant sur le terminal de gauche pour ouvrir son menu local et choisir l'option Ajouter un
élément. Si, par exemple, le registre à décalage contient trois éléments pour son terminal de
gauche, vous pouvez accéder aux valeurs des trois dernières itérations.

6) Exercice 6 : Moyenne sur 4 valeurs.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 30


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

1. Ouvrir le VI moyenne_vraie_boucle for et le faire s’exécuter sur 10 tirages. Expliquez son


fonctionnement pour les valeurs suivantes :

instant n-3 n-2 n-1 n n+1 N+2


val 0,8 0,2 0,5 0,44
moy

2. Ouvrir le VI moyenne_vraie_boucle for, mettre la valeur 0 en entrée du cadenceur et le faire


s’exécuter sur 100 000 tirages. Conclure quant à la valeur de la moyenne obtenue.

3. Créer un nouveau VI (moyenne.VI) et placer les éléments conformément à la face avant et au


diagramme suivants . Exécuter le VI en pas à pas, placer des sondes sur les fils intermédiaires et
observez les résultats.
4. Expliquez le fonctionnement de ce VI en imaginant que la moyenne à l’instant N est notée
moy(n), celle à l’instant d’avant est notée moy(n-1), de même pour le tirage noté val(n), val (n-1),
val(n—2), val(n-3) .
On donne les valeurs suivantes :

instant n-3 n-2 n-1 n n+1 N+2


val 0,8 0,7 0,33 0,2 0,75 0,9
moy

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 31


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

7) Exercice 7 : Recherche des valeurs max et min sur 100


tirages. (maxmin.VI)

Elaborer un VI utilisant une boucle FOR qui renvoie la valeur max et la valeur min de 100 tirages
aléatoires.
La fonction donnant le max et le min de deux nombres existe dans la sous palette comparaison.
Elle correspond à l’algorithme suivant :
Max_et_Min (a,b) :

DEBUT
Si (a>b) alors Max = a; Min = b ;
Sinon Max = b ; Min = a ;
FIN

Son symbole est le suivant, il se trouve dans la sous-palette comparaison.

L’algorithme de la fonction max (N val) est le suivant :

DEBUT
Max = 0 ;
Max(i-1) = 0 ; initialisation
Pour i allant de 1 à N, faire :
DEBUT
Si (val(i) > Max(i-1)) Alors Max = val(i) ;
Sinon Max = Max(i-1) ;
FIN
FIN

8) Exercice7 : Moyenne réelle de N tirages, puis arrêt


automatique.
L’algorithme correspondant au calcul de la moyenne vous est donné. créer le VI (moyenne_N.VI)
correspondant réalisant la moyenne des N tirages aléatoires effectués.

DEBUT
Pour (I allant de 0 à N-1), faire :
DEBUT
Si (i=0) Alors Moyenne(i) = val(i) ;
Sinon Moyenne(i) = (Moyenne (i-1)+ Val(i))/(i+1) ;
FIN
FIN

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 32


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Le VI (moyenne_stop_auto.VI) permettant l’arrêt automatiquement si les cinq dernières moyennes


sont comprises entre 0.49999 et 0.50001 vous est donné. Expliquez son fonctionnement.

 Remarque : Observation des graphes.


Pour réinitialiser un graphe avant de relancer le VI passer par le menu contextuel  opération sur
les données  effacer le graphe déroulant. (clear chart)
Dans ce même menu, vous essaierez les trois options de la ligne mode de mise à jour.

9) La structure Condition :
Diagramme

Elle répond au codage algorithmique suivant :

DEBUT
Si (condition vraie)alors effectuer diagramme Vrai
Sinon effectuer diagramme Faux
FIN

10) La structure Séquence :


Elle répond au codage algorithmique suivant :

DEBUT
effectuer diagramme étape 0
effectuer diagramme étape 1
effectuer diagramme étape 2

effectuer diagramme étape n


FIN
Pour faire apparaître une étape supplémentaire, se placer sur le bord et BD « ajouter une étape après ».

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 33


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

11) Exercice 8 : strucures Condition et Séquence ( VI fluke45)


Compte tenu de la simplicité de ces deux dernières structures présentées et pour passer à des
application plus concrètes, vous allez ouvrir le VI fluk45 Initialise.VI qui se trouve dans la
bibliothèque fluke45.llb, elle même située dans le répertoire sur le bureau
LabVIEW\inst.lib\fluke45 ou dans la librairie d’exercices corrigés fournie.

Vérifiez que sa face avant est conforme à la suivante ( en effet de versions différentes peuvent être
présentes sur le poste).

Le travail consiste, sur le diagramme, à envisager tous les cas de test et d’étape et à comprendre la
logique qui a amené à cette organisation. Notamment, que se passe-t-il lorsque le Contrôle Booléen
ID Query est positionné sur Yes ?
Vous utiliserez l’aide et visualiserez les informations concernant les VI et le format des différentes
liaisons.

NB : Vous disposez dans la document intitulé « Annexe » de la documentation complète des VI du


Fluke45 et donc en particulier de du VI Fluke45 Initialise.VI ainsi que de la documentation
constructeur qui vous donnera la liste des commandes dites « à distance » de cet appareil.
Vous pourrez ensuite ouvrir sans l’exécuter le VI getting started fluke 45 et regarder comment il est
constitué.

Si vous voulez tester le VI en le faisant « tourner », référez vous avant au paragraphe sur la
commande des instruments plus loin dans ce cours.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 34


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

12) Exercice 9 : strucures Condition et Séquence .


(structure.VI)
Saisir la face avant suivante et le
diagramme.
Paramétrer les commandes et les
indicateurs comme indiqué en passant
par les menus contextuels pour chaque
élément.
Dans le diagramme, faire apparaître une
séquence.

A l’aide du menu contextuel(BD) faire apparaître


deux étapes supplémentaires ; (il faut se placer sur le
contour avant de cliquer BD.
De la même façon, faire apparaître une variable
locale sur l’étape 0.

13) Boîte de calcul, Exercice 10 :


Cette fenêtre permet d’insérer des expressions mathématiques « complexes» et des expressions
conditionnelles entre les entrées et les sorties.
• Réalisez et tester le VI suivant : (boite_calcul.VI).

A la première ligne, on affecte à S1 la valeur de (x² + x) ; A la deuxième ligne , on calcule la racine


carrée de x si x est positif que l’on affecte à Y ; dans l’autre cas, on affecte –99 à Y.
Voir l’aide pour plus de détails.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 35


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

14) Tableaux Cluster et chaînes de caractères et graphes.


Un tableau est un ensemble de données de même type ; on peut créer des tableaux de tous types
sauf de tableaux.
Un tableau de N éléments est indicé de 0 à N-1. On peut créer des commandes et des indicateurs de
type tableau.
Un cluster permet de manipuler des données de types différents en les rangeant en plusieurs
champs. A la hauteur de l’indice i, on trouvera n éléments relatifs à i. Les données restent rangées
par indice et accessibles en bloc au rang i ou séparément.
Survoler les fonctions que propose la sous palette Cluster.

Un indicateur de graphe est un affichage à deux dimensions d’un ou plusieurs tableaux de données
que l’on appelle tracés. On trouve les graphes XY , les graphes oscilloscopiques et les graphes
d’intensité. Nous utiliserons les deux premiers.

15) Exercice 11: Création d’un tableau par auto-indexation.


Lorsque qu’un élément sort d’une boucle, LabVIEW crée un tableau constitué des éléments qui vont
sortir tour à tour de la boucle. On peut supprimer cette action par défaut en cliquant sur le lien et
par le menu contextuel en supprimant l’auto indexation.

Créer le VI suivant (ONDE.VI):

111... Placer sur la face avant un graphe et non pas un graphe déroulant.
222... Le VI Générer une onde se trouve dans la sous-palette Tutorial.
333... Placer sur le diagramme une fonction assembler ( sous palette Cluster)
444... Ajouter un élément en agrandissant l’objet posé.
555... X0 représente la valeur initiale d’affichage en x, delta x représente l’incrément. Les données
assemblées forment un cluster à 3 champs de types différents.
666... Lancer l’exécution du VI ; Allez vérifier le contenu du tableau en modifiant l’indice.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 36


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

16) Exercice 12 : survol des fonctions associées aux tableaux.


Placez-vous sur la librairie …\examples\general\array.llb
Ouvrir les différents VI , particulièrement building array.VI et How to replace element of array.VI
ainsi que le VI Temperature Analysis de la librairie array.llb.
L’exécution de ces VI en mode pas à pas doit vous permettre de comprendre comment sont
organisées les données et de quelles façon on y accède.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 37


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

17) Exercice 13 : Création et initialisation de tableaux.


Créez un VI utilisant dans son diagramme la fonction conversion chaîne de caractères en tableau
d’octets.
Placez en face avant une commande chaîne de caractères et un indicateur tableau.
(convert_chaîne_nombre.vi)

18) Exercice 14 : Chaîne de caractères.


Reproduire le VI suivant (chaîne .vi) et lancer l’exécution. Comparer avec le VI configure
Measurement et Read Measurement. du fluke 45.

Pour la glissière, placer une glissière verticale numérique : palette de fonction


L4C2 puis  L1C1 puis  L4C1
Activer les menus : éléments visibles  affichage du texte
Etiquette texte
Sur l’afficheur numérique  BD  ajouter un élément

19) E/S sur fichiers, exercice 16


 Saisir ou ouvrir le VI Waveform Arrays to file.vi de la librairie ..\file\smplfile.llb
 Observer le résultat en passant en mode exécution.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 38


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Ouvrir avec Excel le fichier créé et observer les données stockées dans le fichier.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 39


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

IX. Utilisation des VI express.

La version 7 ( dite 7 express) de LabVIEW, outre qu’elle a introduit des outils très performants de
communication via le réseau, offre la possibilité pour un certain nombre de fonctionnalités d’utiliser
des assistants à la création des VI, ce qu’on appelle des VI express. Il peut dans certains cas être très
intéressant de les utiliser. Afin de rendre le code réutilisable et « déboggable », on préferera pour un
produit à livrer à un client avoir les VI en « dur ». Notez toutefois qu’une fois le VI express exécuté,
on peut accéder au code généré et le modifier (B sur le VI express).

Les VI express se présentent sur fond bleu clair quand vous passez sur la palette correspondante.

Les palettes sont les suivantes :

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 40


Outils logiciels pour l'instrumentation et la mesure.
Première partie :Bases de programmation LabVIEW

Application : faire aux VI express pour développer le VI de traitement du signal suivant.


Génération d’un signal bruité, filtrage paramétrable, affichage des signaux en temporel et des
spectres, génération du résultat sur une carte DAQ.

Daniel GARAULT,Hervé GARNIER dgarault@yahoo.fr version 1.4 du 19/02/06 page 41

Vous aimerez peut-être aussi