Académique Documents
Professionnel Documents
Culture Documents
Première partie :
Grandeur
physique + Liaison,
Capteur transmission
Liaison :
inter-machines
Inter-protocole
internet
Présentation
des données
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).
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).
La face avant
Les commandes
et contrôles
Les indicateurs
Démarrer Programmes
National Instrument LabVIEW7.1
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 :
Police du texte
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 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.
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 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
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 :
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 :
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.
Remarque :
Les éléments du diagramme (commandes ou indicateurs) ont une couleur différente suivant leur
type afin d’être immédiatement identifiables :
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.
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.
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.
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.
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.
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.
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.
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.
Faire :
Exécuter le diagramme contenu à l’intérieur de la boucle
Tant que la condition est vraie
3) La boucle FOR :
Elle répond au codage algorithmique suivant :
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.
( fichier exo_for.vi)
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.
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
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
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
9) La structure Condition :
Diagramme
DEBUT
Si (condition vraie)alors effectuer diagramme Vrai
Sinon effectuer diagramme Faux
FIN
DEBUT
effectuer diagramme étape 0
effectuer diagramme étape 1
effectuer diagramme étape 2
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.
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.
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.
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.
Ouvrir avec Excel le fichier créé et observer les données stockées dans le fichier.
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.