Vous êtes sur la page 1sur 47

Module Instrumentation

Programmable
IUT Lyon 1 - Département GEII

Introduction
• Instrumentation Programmable
– Du capteur à l’ordinateur
– Logiciel utilisé pour l’acquisition de données :
• Labview
Introduction à Labview
• Langage de programmation graphique
• Développé par National Instruments

• Labview 2012 est installé sur vos PC

Introduction à Labview
• Ce cours d’introduction sur Labview a été
largement inspiré du cours de Jean-Michel
FLEURIAULT disponible de façon plus étoffé
sur http://www.fleuriault.net/
Lancement de Labview
• Lancer Labview 2012 (et non Labview 2005
qui est aussi installé)
• Fichier > Nouveau VI
• 2 fenêtre s’ouvrent :
– Diagramme
– Face avant
– Appuyer sur Ctrl+T

Face avant
• Clic droit sur la face avant ->
menu commande
• Contient les commandes et
les indicateurs
• C’est sur cette face avant que
se trouvent les commandes
du programme et que les
résultats (ou les graphiques)
apparaissent
Diagramme
• Sur l’autre fenêtre (diagramme)
se trouveront les VI (Virtual
Instrument), les opérations
mathématiques, les
constantes, … Un VI est un
programme ou un sous-
programme sous forme
d’icones
• Clic droit -> menu fonction

Diagramme
• Shift + Clic droit > menu outil (pour effectuer
le câblage, ajouter du texte, déplacer les
objets, …)
Exercice 1
• Création d’un VI qui compare 2 nombres A et
B:
– Lorsque A > B un premier voyant s’allume
– Lorsque A = B un deuxième voyant s’allume
– Lorsque A < B un troisième voyant s’allume

Exercice 1
• Sur la face avant (fenêtre grise),
clic droit -> fenêtre commande
• Déplacer la souris sur numérique
• Puis cliquer sur « commande
numérique »
• Cette commande numérique
permettra de définir le nombre A
Exercice 1
• Placer la commande numérique
sur la face avant
• Nommer la commande :
« Nombre A »
• Faîtes la même opération pour
définir le nombre B

Exercice 1
• Vous avez placé les 2 commandes
• Maintenant, vous allez placer les
« indicateurs ». Dans cet exercice,
les indicateurs sont trois voyants
• Toujours sur la face avant : clic
droit -> menu commande
• Trouver le menu Booléen et
cliquer sur LED circulaire
Exercice 1
• Placer 3 LED circulaires et nommez-les « A > B »,
« A = B » et « A < B »

Exercice 1
• Sur la fenêtre « diagramme », vous allez placer
les opérations permettant d’allumer les voyants
• Les 2 nombres et les 3 voyants apparaissent sur
le « diagramme ». Vous pouvez les déplacer, si
vous le désirez, sans que cela ne les change de
place sur la fenêtre « face avant ».
Exercice 1
• Sur le diagramme, clic droit, menu comparaison.
• Cliquer sur la fonction « supérieur ? » et placer le
entre les nombres et les voyants

Exercice 1
• Faîtes un clic gauche sur la fonction supérieur
pour le sélectionner puis cliquez sur l’aide (en
haut à droite de la fenêtre)
• Une aide apparaît permettant d’expliquer le
fonctionnement de la fonction
Exercice 1
• Câblage
• Dans la palette outil (shift+clic droit),
sélectionnez l’outil de câblage (bobine de fil). Le
curseur change de forme
• Reliez le nombre A à l’entrée du haut de la
fonction comparaison
• Reliez le nombre B à l’entrée du bas de la
fonction comparaison

Exercice 1
• Câblage
• Reliez maintenant la sortie de la fonction
comparaison au voyant « A > B »
Exercice 1
• Câblage
• Les câbles sont soit horizontaux, soit verticaux,
jamais en diagonale
• Labview a son propre « code couleur » : les
nombres (numériques) ainsi que les câbles
associés à une information numérique sont en
orange. Les informations de type booléen sont
en pointillé vert

Exercice 1
• Insérez sur le diagramme les fonctions « égaux ?
» et « inférieurs ? » (clique droit et menu
comparaison)
• Effectuez le câblage entre les nombres A et B et
les deux autres voyants
Exercice 1

Exercice 1
Exécution en continu
• Exécutez maintenant votre programme en
cliquant sur l’icone suivant :

• Vous verrez plus tard que nous n’utiliserons plus


cet icone pour exécutez les programmes
• Modifiez les nombres A et B pour vérifier le bon
fonctionnement de votre programme
Exercice 1
Exécution en continu
• Pour arrêter l’exécution du programme, cliquez
sur l’icone « abandonner l’exécution »

Exercice 2
Dans ce nouvel exercice, nous allons créer un VI
permettant de convertir des vitesses de km/h en
m/s et en miles/h

• Fichier > Nouveau VI


Exercice 2
• Sur la face avant, placez une commande
numérique « km/h » et deux indicateurs
numériques « m/s » et « miles/h »

Exercice 2
• La face avant est terminée
• Programmez maintenant le diagramme
• Vous aurez besoin de constante numérique pour
convertir les vitesses de km/h en m/s ou en
miles/h.
• Vitesse (m/s) = vitesse (km/h) * 1000/3600
= vitesse (km/h) * 0,278
• Vitesse (miles/h) = vitesse (km/h) * 0,621
Exercice 2
• Sur le diagramme : clic droit > menu numérique.
Cliquez sur constante numérique

Exercice 2
• Sur le diagramme : clic droit > menu numérique.
Cliquez sur multiplier
• Effectuez le câblage et ajouter si nécessaire
d’autres fonctions multiplier et d’autres
constantes numériques
Exercice 2

• Exécutez le programme et vérifiez le bon


fonctionnement

Création de sous-VIs
• Dans Labview, il est possible d’utiliser des
sous-VIs existants ou de créer ses propres
sous-Vis
• Les sous-VIs sont équivalents à des fonctions
• Il permettent d’alléger l’affichage sur le
diagramme
Création de sous-VIs
• Sur le diagramme, sélectionner l'ensemble du
programme excepté la commande et les
indicateurs numériques.
• Dans le menu édition, cliquer sur créer un
sous-vi.
• Les sous-VIs sont équivalents à des fonctions

Création de sous-VIs
• Double-cliquer sur le sous-vi. Un autre VI
s'ouvre. Enregistrer le sous le nom
"conversion_vitesse.vi"
• L’icone de la fonction peut être créé en
cliquant ici (clic droit, éditer l'icone)
Création de sous-VIs
• Modifiez l’icone, par exemple en y faisant
apparaitre le texte « conv vitesse »

Création de sous-Vis- Exercice 3


• Il faut maintenant définir les entrées et sorties
du VI.
• Dans l’exemple, il y a une entrée (vitesse en
km/h) et deux sorties (vitesse en m/s et
vitesse en miles/h).
• Clic-droit ici
Création de sous-VIs
• Sélectionnez Modèles puis cliquez sur un
modèle qui contient au moins une entrée et
deux sorties (les entrées sont à gauche, les
sorties sont à droite)
Ici, modèle avec 2
entrées et deux
sorties

Création de sous-VIs
• Choisissez ce modèle :

• Ensuite , outil bobine et cliquez sur la case en


haut à gauche puis sur l’entrée km/h sur la face
avant.
• Faîtes de même avec les deux cases de droites du
modèle et les deux sorties
• Les cases du modèles deviennent orange.
• Sauvegardez le sous-VI
Utilisation de sous-VIs
• Créez un nouveau VI (Fichier > Nouveau VI)
• Sur le diagramme, clic droit
• Puis « sélectionner un vi… »
• Choisir le sous-VI que vous
venez de créer
• Le déposer sur le diagramme

Utilisation de sous-VIs
• Dans l’exercice précédent, les
entrées et sorties étaient
connectées à des commandes
numériques et des indicateurs
numériques
• Vous pouvez utiliser d’autres
formes d’entrée ou de sorties,
par exemple des jauges
Utilisation de sous-VIs
• Déposez la jauge sur la face avant.
• Par défaut, la jauge est une sortie (elle reçoit
des données)
• Clic droit sur la jauge et cliquez sur changez en
commande. La jauge est maintenant une
entrée. Modifiez les valeurs min et max pour
que la jauge aille de 0 à 150 km/h

Utilisation de sous-VIs
• Déposez deux jauges (ou choisissez d’autres
formes d’affichage) pour les sorties.
• Réalisez le câblage
• Vérifiez le bon fonctionnement
Utilisation de sous-VIs

Fonction sélectionner
• Equivalent d’un multiplexeur.
• 2 entrées – 1 sortie -1 commande pour définir
l’entrée qui sera relié à la sortie
Entrée si condition vraie
condition Sortie
Entrée si condition fausse

• Créez un nouveau VI.


• Sur le diagramme, clic droit, menu comparaison et
cliquer sur la fonction sélectionner
• Placer la fonction sur le diagramme
Exercice 4 : Fonction sélectionner
• Réaliser un programme qui permet de
soustraire ou d’additionner deux nombre A et
B. Le choix de l’addition ou de la soustraction
sera fait avec un interrupteur

Exercice 4 :Fonction sélectionner


• Avec la barre d’outil, rajouter du texte sur la
face avant (étiquette) comme dans l’exemple
ci-dessous.
• Modifier les tailles et les couleurs des textes
rajoutés.
Boucle While
• Vous allez ajouter maintenant une boucle
while qui permettra de stopper l’exécution du
programme de l’exercice 4
• Sur le diagramme, menu structure, cliquez sur
la fonction « boucle while »
• Placer la boucle while autour du programme
de l’exercice 4.

Boucle While

Compteur d’itération Terminal conditionnel (fin de la boule while)


Boucle While
• Dans la boucle While, poser un indicateur
numérique pour observer le compteur
d’itération
• Sur la face avant, placer un bouton STOP
(menu booléen) et relier au terminal
conditionnel de la boucle while

Boucle While
• Exécutez le programme en cliquant sur
exécuter
Boucle While
• Cliquez sur le bouton STOP pour arrêter
l’exécution du programme
• Observez le compteur d’itération. Comment
progresse-t-il ?
• On peut ralentir l’exécution de la boucle

Boucle While
• Sur le diagramme, clic droit, menu
informations temporelles, cliquez sur
« attendre un multiple de ms » et placez le
dans la boucle While
Boucle While
• Relier une constante numérique et exécutez le
programme. Que remarquez-vous sur le
compteur d’itération?

Boucle While cadencée


• Supprimer l’icone « attendre un multiple de
ms » ainsi que sa constante numérique
• Cliquer sur le contour de la boucle while et
sélectionner « Remplacer par une boucle
cadencée ».
• En double-cliquant sur la partie en haut à
gauche, régler la boucle cadencée pour qu’elle
s’exécute toutes les 100 ms comme
précédemment
Boucle While cadencée
• Vérifier que votre programme fonctionne
• Les boucles cadencées sont très utiles dans les
VI avec plusieurs boucles nécessitant des
cadencements précis et différents (à utiliser
lors du projet).

Exercice 5
• Construisez un VI qui génère des nombres
entiers aléatoires entre 0 et 1000 jusqu’à ce
que le nombre généré soit égal à un nombre
prédéterminé. Le programme s’arrête alors.
• Le terminal de comptage de la boucle
mémorise le nombre d’itération nécessaire
pour y parvenir.
Exercice 6 : Boucle FOR
• Créez un nouveau VI
• Sur le diagramme, ajoutez une boucle for

Boucle FOR
• Exemple : pour N = 5, i prendra les valeurs 0, 1,
2, 3 puis 4.
• Pour donner la valeur de N, il faut relier une
constante numérique.
Exercice 6 – Boucle FOR
• Créez un VI pour déterminer le plus petit de
20 nombres entiers aléatoires compris entre 0
et 100.
• Sur la face avant, vous aurez besoin de 3
indicateurs :
– Nombre
– Minimum (en cours)
– Minimum (résultat final)

Exercice 6 – Boucle FOR


• Sur le diagramme :
– Ajouter une boucle FOR
– Définir 20 itérations de la boucle FOR
– Dans la boucle FOR, placer un générateur de
nombre aléatoire, multiplier le résultat par 100,
puis utiliser la fonction « arrondir à l’entier le plus
proche » pour avoir un nombre entier
– Toujours dans la boucle FOR, placer une fonction
« Max et Min. »
Exercice 6 – Boucle FOR
• Connecter l’indicateur « Nombre » à la sortie
de la fonction « arrondir à l’entier le plus
proche ».
• Vous aurez besoin de comparer le nombre
entier aléatoire généré avec la valeur
minimum des entiers générés auparavant.
Donc, il faut « garder en mémoire » cette
valeur minimum. Pour cela, vous utiliserez des
« registres à décalage »

Exercice 6 – Boucle FOR


• Faîtes un clic droit sur le bord droit de la
boucle FOR et cliquez sur ajouter un registre à
décalage.
• Connectez la sortie min(x,y) à l’élément du
registre à décalage à droite de la boucle.
Exercice 6 – Boucle FOR

À chaque itération de i, la donnée sur le bord


droit du registre à décalage est reportée sur le
bord gauche du registre à décalage

Exercice 6 – Boucle FOR


• On peut placer plusieurs registres à décalage
(ici, un seul suffit).
• Chaque registre n’accepte qu’un valeur en
entrée
• A gauche et à l’extérieur de la boucle FOR, on
peut initialiser la valeur du registre à décalage
(nécessaire pour avoir une valeur au début
lorsque i =0). A quelle valeur le registre doit
être initialisé ?
Exercice 6 – Boucle FOR

Exercice 6 – Boucle FOR


• Avec l’aide de la fonction « Max et Min. », finissez le
programme
• Un indicateur « Minimum (en cours) doit être placé dans
la boucle FOR
• Un indicateur « Minimum (résultat final) sera placé à
l’extérieur de la boucle et relié au registre à décalage. Il
donne la valeur du registre à décalage lorsque la boucle
FOR est terminée.
• Dans la boucle FOR, placer une fonction « attendre un
multiple de ms » pour que l’itération de la boucle FOR se
fasse toutes les 500 ms
• Exécutez votre programme
Exercice 6 – Boucle FOR

Création d’un tableau


• Lors des TP, vous aurez besoin de créer des tableaux
• Créer un nouveau VI
• Sur la face avant, créer un tableau
Création d’un tableau
• Placer un indicateur numérique et vérifier son
format. Ici, on veut créer un tableau de DBL
(doubles)

• Faîtes glisser l’indicateur numérique dans le tableau

Boîte de calcul
• Permet d’effectuer des calculs sans devoir
placer des fonctions mathématiques et sans
devoir les câbler entre elles
Boîte de calcul – Exercice 7
• Créer un nouveau VI
• Sur la face avant, placer une commande
numérique « X » (gamme 1-100, incrément 1,
entier) et un indicateur numérique « Y »

Boîte de calcul – Exercice 7


• Sur le diagramme, créer une boite de calcul
(clic droit > structure)
• Ecrire dans la boîte de calcul, la formule
mathématique « Y = 3*X**2 + 4*X – 10; »
Cette opération donne Y = 3X² + 4X -10
Boîte de calcul – Exercice 7
• Sur le côté gauche de la boîte de calcul, clic
droit, « ajouter une entrée » que vous
nommerez X et que vous relierez à la
commande X
• Sur le côté droit de la boîte de calcul, clic
droit, « ajouter une sortie » que vous
nommerez Y et que vous relierez à l’indicateur
Y

Boîte de calcul – Exercice 7


• Vérifiez le bon fonctionnement de votre
programme
• Il peut y avoir plusieurs lignes de calcul
• Les lignes de calcul se terminent par ;
• Des choix peuvent être inclus (if, else, …)
Boîte de calcul – Exercice 7

Structure Condition
• Permet d’exécuter différentes action en
fonction de la valeur d’une entrée
• Équivalent du switch/case en langage C
• L’entrée peut être de n’importe quelle forme
(booléenne, numérique, …). Par défaut,
l’entrée est booléenne (vrai ou faux)
Structure Condition – Exercice 8
• Créez un nouveau VI
• Ce VI permettra de calculer la racine carré
d’un nombre, en gérant les nombres négatifs
• Sur la face avant, placez une commande
« nombre » et un indicateur « racine carrée »
• Placez sur le diagramme une structure
condition

Structure Condition – Exercice 8


• Sur le diagramme, ajouter une fonction de
comparaison « >=0 »
• Nombre et « >=0 » doivent être à gauche et à
l’extérieur de structure condition
• Relier nombre à la fonction « >=0 » et relier la
sortie de « >=0 » à l’entrée « ? »de la structure
condition.
Structure Condition – Exercice 8
• Sur le diagramme, sélectionner l’option
« vrai » de la structure condition.
• Ajouter une fonction numérique « racine
carrée » dans la structure condition
• Placez l’indicateur « racine carrée » à
l’extérieur et à droite de la structure condition

Structure Condition – Exercice 8


• Toujours sur le diagramme, relier nombre à
l’entrée de la fonction « racine carrée ». On peut
remarquer le tunnel (carré orange sur le bord
gauche de la structure)
• Relier la sortie de la fonction « racine carrée » à
l’indicateur « racine carrée ». On peut remarquer
que le tunnel est blanc car aucune valeur n’est
fourni dans le cas Faux de la structure condition.
Le VI n’est d’ailleurs pas exécutable (flèche brisée)
Structure Condition – Exercice 8
• Sélectionnez le cas Faux dans la structure
condition
• Placer dans la structure, une constante
numérique « -99999 » à relier au tunnel de
sortie (le tunnel se remplit et le VI devient
exécutable).

Structure Condition – Exercice 8


• Placer une fonction « Boîte de dialogue à 1
bouton »
• Relier une constante chaîne « erreur, nombre
négatif » à la 1ère entrée
• Relier une constante chaîne « OK » à la 2e
entrée
• Exécuter le programme (pas en continu) en
essayer plusieurs valeurs (positives et
négatives » pour la commande « nombre »
Structure Condition – Exercice 8

Structure Séquence
• Permet de programmer différents sous-
diagrammes qui s’exécutent séquentiellement
• Exercice 9 : mesurer le temps entre deux clics
sur des boutons
• Sur la face avant, placez 2 boutons « début »
et « stop ». Dans les propriétés des boutons,
régler : Action mécanique : commutation
jusqu’au relâchement
Structure Séquence – Exercice 9
• Toujours sur la face avant, placer trois
indicateurs numériques « temps initial (ms) »,
« temps final (ms)», « durée écoulée (ms)

Structure Séquence – Exercice 9


• Sur le diagramme, ajouter une structure
Séquence déroulée
• Clic droit sur la structure, « ajouter une étape
après ». La séquence comprend alors 2 étapes
• Recommencer pour avoir 4 étapes
• La première étape est dans le carré de gauche,
la dernière dans le carré de droite
Structure Séquence – Exercice 9
• Créez les 4 étapes de la façon suivante :
Boucle While

Arrêter sur
Condition vraie Compteur d’impulsions
d’horloge (ms)

Structure Séquence – Exercice 9


• Pour pouvoir calculer le temps écoulé, il y a
besoin de connaître dans la quatrième étape
le temps initial
• Clic droit sur la séquence > Palette structure >
Variable locale
• Placer la variable dans la 4ème étape
• Clic droit sur la variable > Sélectionner un
élément > temps initial
Structure Séquence – Exercice 9
• Clic droit sur la variable locale > changer en
lecture
• Relier la variable locale au soustracteur
• Exécuter le programme

Structure Séquence – Exercice 9


Exercice 10
• En utilisant le programme de l’exercice 9,
déterminez le temps nécessaire pour générer
un nombre aléatoire égal à un nombre que
vous prédéfinissez

Exercice 11 : Conversion
Nombre ↔ chaine de caractère
• Créer un nouveau VI
• Sur la face avant, insérer une commande numérique,
un indicateur chaîne et un indicateur numérique
intitulé « numéro de groupe »
• Dans la commande numérique, sélectionner 7 ou 8
suivant votre numéro de groupe.
Exercice 11 : Conversion
Nombre ↔ chaine de caractère
• Sur le diagramme, à l’aide d’une chaîne de caractère,
des fonctions « nombre en chaîne décimale »,
« concaténer des chaînes », concevez un VI
permettant d’afficher le message suivant sur la face
avant.

Exercice 11 : Conversion
Nombre ↔ chaine de caractère
• Sur le diagramme, à l’aide de constantes numériques,
des fonctions « sous-ensemble d’une chaîne »,
« chaîne décimale en nombre », concevez un VI
permettant d’afficher votre numéro de groupe sur
l’indicateur numérique de la face avant.
Exercice 11 : Conversion
Nombre ↔ chaine de caractère
• Pour embellir
votre face avant,
rajouter des
formes et du
texte.

Exercice 12
• Construisez un VI utilisant la boîte de calcul
pour calculer une équation y = sin(x) et
vous affichez la fonction dans un graphe XY
( x variant de 0 à 10 avec un incrément de
0,01)

Vous aimerez peut-être aussi