Cours LabView (Izbaim)
Cours LabView (Izbaim)
Cours : LabVIEW
MASTER SYSTEMES ET TELECOMMUNICATIONS
Driss IZBAIM
1
SOMMAIRE 3
1. Introduction à LabVIEW 4
1.1. LabVIEW 4
3. Créer un sous VI 23
Sous VI 23
2
Icône et connecteur 24
Création de l’icône 24
Définir le connecteur 24
Sélectionner ou modifier le motif du connecteur 25
Affectation de terminaux aux commandes et aux indicateurs 25
Boucles For 37
Auto Indexation 39
Boucles et Tableaux 2D 40
3
1. INTRODUCTION A LABVIEW
1.1. LabVIEW
LabView (Laboratory Virtual Instrument Engineering Workbench) est un langage de
programmation dédié au contrôle d’instruments et l’analyse de données.
Contrairement à la nature séquentielle des langages textuels, LabView est basé sur un
environnement de programmation graphique utilisant la notion de flot de données pour
ordonnancer les opérations. Il intègre l’acquisition, l’analyse, le traitement et la
présentation de données.
4
1.2. LES INSTRUMENTS VIRTUELS
Les programmes LabView s’appellent des Instruments Virtuels (VIs). Ces VIs ont trois parties
principales : la Face Avant, le Diagramme et l’Icône/Connecteur.
La face avant d’un VI est avant tout une combinaison de commandes et d’indicateurs. Les commandes
sont les entrées des VIs, elles fournissent les données au diagramme. Les indicateurs sont les sorties
des VIs et affichent les données générées par le diagramme. Vous pouvez utiliser plusieurs types de
commandes et d’indicateurs tels que les commandes et les indicateurs numériques, à curseur,
booléens, chaîne de caractères, les tables et les graphes (Figure 1).
Chaque objet déposé sur la face avant génère dans le diagramme un symbole appelé Terminal. Ce
terminal contient la valeur de l’objet graphique correspondant. Le symbole représente le
type de la donnée
(par ex. DBL pour double), le sens du flot, (maigre avec une flèche à droite s’il s’agit d’un
indicateur, gras avec une flèche à gauche s’il s’agit d’une commande)
5
1.3. ENVIRONNEMENT LABVIEW
Au lancement de l’application, la boite de dialogue suivante apparaît.
6
Figure 6. Le diagramme
7
1.3.3. BARRE D’OUTILS DU DIAGRAMME
La barre d’outils suivante est présente sur le diagramme, elle donne accès aux outils de mise au
point et de présentation.
Fait apparaître le flot de données sur les fils et sur les connexions des VI.
Entre dans une structure ou dans un sous VI, lors de l’exécution pas à pas. Chaque
structure ou sous VI se met à clignoter lorsqu’il est prêt à être exécuté.
Saute l’exécution détaillée d’une structure ou un VI lors de l’exécution pas à pas.
Termine l’exécution détaillée d’une boucle ou d’un sous VI.
Dénote un problème d’exécution potentiel, mais n’empêchant pas le programme
d’être exécuté. Cette option n’est pas naturellement active, on y accède par
Outils » Options » Déboguage.
1.3.5. MENUS
Une partie des menus contient des fonctions classiques d’enregistrement, d’édition, de changement
de fenêtres… . D’autres sont spécifiques à LabView.
1.3.6. PALETTES
LabVIEW possède trois palettes flottantes respectivement nommées: Outils, Commandes, et
Fonctions.
8
a- PALETTE D’OUTILS
La palette d’outils existe sur le diagramme et sur la face avant. Elle permet de modifier des valeurs,
des couleurs, mais aussi de câbler les entrées et les sorties des icônes entre elles, de poser des
points d’arrêt, des sondes…
9
b- PALETTE DE COMMANDE
La palette de commandes est disponible dans la fenêtre de face avant. Elle apparaît lors d’un clic
droit dans un endroit vierge de la fenêtre, ou par Fenêtre »Afficher la palette de commandes.
Elle contient tous les éléments graphiques disponibles pour créer l’interface utilisateur. Ceux-ci
sont hiérarchisés par type de données ou par grandes familles d’objets. Voici ci-dessous la palette
de commandes.
c- PALETTE DE FONCTIONS
Elle est accessible dans le diagramme par les mêmes méthodes que celle de commandes. Elle
contient l’ensemble des fonctions de LabVIEW regroupées par type de fonctionnalités
(Programmation, acquisition, traitement mathématiques, connectivité….).
10
1.3.7. ENREGISTREMENT DES VIS
Utilisez les commandes Enregistrer, Enregistrer sous, Enregistrer tout ou Enregistrer avec
options du menu Fichier pour enregistrer vos VIs. Il est possible de créer des librairies d’extension
.llb regroupant plusieurs VI. Cette fonctionnalité date de l’époque des noms limités à 8 caractères par
MSDOS, National Instruments recommande actuellement d’enregistrer les VIs individuellement dans
une architecture répertoire/sous répertoire.
LabVIEW utilise des boites de dialogues propres à NI pour les accès fichiers (pour une compatibilité
avec d’autres plateformes), cette option peut être désactivée dans le menu Outils»Options»Item
Divers du menu déroulant.
11
Utilisez l’outil Doigt pour changer la valeur des commandes, soit en tournant les boutons, (en
cliquant sur la marque d’index et en faisant tourner), soit en cliquant sur les flèches à gauche des
commandes, ou en entrant une valeur numérique dans l’afficheur numérique.
Lorsque vous entrez une valeur numérique, celle-ci n’est prise en compte qu’après validation par
le bouton Entrer, ou par la touche Entr du pavé numérique (pas la touche Entrée de la zone alpha
qui introduit un retour chariot s’il s’agit d’une zone texte).
Diagramme
Vous y voyez la plupart des éléments disponibles sur un diagramme, des fonctions, des sous VIs,
des structures, des constantes...Ces notions seront détaillées dans ce cours.
En double-cliquant avec l’outil de sélection sur le sous VI suivant. Vous ouvrez la face
avant du sous VI nommé Demo Fluke 8840A
La face avant est conçue pour ressembler l’appareil réel c’est pourquoi les applications LabView
sont nommées instruments virtuels. La hiérarchisation des applications en sous VIs permet
d’améliorer la réutilisation du code.
Fermez le sous-VI Demo Fluke 8840A, et gardez le VI Frequency Response en mémoire.
12
1.4. AIDE ET MANUELS
Elle s’affiche soit par le menu Aide»Aide contextuelle soit par le raccourci <Ctrl-H> ou
enfin en cliquant sur l’icône. La fenêtre d’aide affiche continûment une information sur
l’objet situé sous le curseur. Ce peut être une information sur la nature d’une liaison, le
type de données à fournir à un indicateur, le fonctionnement d’un sous VI ou d’une
fonction. Ci-dessous un exemple de contenu d’une aide contextuelle.
13
7
Les deux objets les plus couramment utilisés sont les contrôles et les indicateurs numériques,
représentés ci-dessous
Pour saisir ou modifier la valeur d’un contrôle numérique, on peut utiliser les flèches
d’incrément ou entrer une valeur avec l’outil texte.
A utiliser pour saisir et afficher des valeurs binaires. Les objets booléens les plus communs sont
les interrupteurs à bascules et les diodes LED.
Pour configurer les contrôles et indicateurs, utilisez leur menu contextuel, accessible par un clic
droit sur l’objet concerné.
14
2.1.2. DIAGRAMME
a- NŒUDS
Les nœuds sont des objets sur le diagramme. Ils possèdent des entrées et/ou des sorties et
effectuent des tâches spécifiques lorsqu’un VI fonctionne. Ils sont équivalents à des fonctions
dans les langages textuels.
b- TERMINAUX
Les objets situés dans la face avant apparaissent comme des terminaux dans le diagramme.
Les terminaux reflètent le type de données du contrôle ou de l’indicateur. Ainsi le terminal
situé à gauche représente un contrôle numérique, défini comme un réel en double précision.
Les terminaux sont des ports de communication entre la face avant et le diagramme. Ils sont
équivalents aux paramètres et aux constantes dans les langages textuels. Les données
rentrées dans les contrôles de la face avant (A et B Fig. 2-1) entrent dans le diagramme par
les terminaux. La fonction addition produit une nouvelle donnée qui arrive sur le terminal
de l’indicateur et s’affiche dans la face avant.
c- FILS
Les fils transfèrent les données dans le diagramme, ils sont ainsi analogues aux variables dans
les langages textuels. Chaque fil provient d’une seule source mais peut être réuni à beaucoup de
VIs ou de fonctions destinées à les traiter.
15
Type de la
Scalaire Tableau 1D Tableau 2D Couleur
donnée
Orange (réel)
Numérique
Bleu (entier)
Booléen Vert
Chaîne Rose
LabVIEW peut connecter automatiquement les objets lors de leur placement dans le diagramme.
Lorsqu’un objet est approché près des autres, LabVIEW visualise provisoirement les connexions
possibles. Lors du lâcher, LabVIEW établit les connexions proposées.
Le mode de câblage automatique s’enclenche lorsqu’un objet est déplacé par l’outil de
déplacement (flèche), la barre d’espacement étant maintenue enfoncée. Les paramètres de câblage
automatique sont définis dans le menu Outils >> Options.
16
La fonction « Ajouter », la fonction « Nombre Aléatoire » ou la fonction « Diviser » ?
Impossible à savoir : les entrées des fonctions « Additionner » et « Diviser » sont validées au
même moment et la fonction Nombre
Aléatoire n’a pas d’entrée. Dans cette situation si un segment de code doit s’exécuter avant un
autre et qu’il n’y a pas de dépendance entre les fonctions, il est nécessaire d’utiliser la structure
Séquence pour donner un ordre d’exécution.
Exercice : Conversion C to F VI
Dans les dessins illustrant le câblage, la flèche à la pointe de la souris indique où cliquer. Le
nombre à l’extrémité de la flèche précise le nombre de clics à effectuer.
Face Avant
Ecrire ‘deg C’ dans l’étiquette puis cliquer en dehors de celle-ci ou valider le raccourci Entrée,
situé à gauche dans la barre d’outils ou bien frapper la touche Entrée du pavé numérique. Sinon
LabVIEW utilise une valeur par défaut qu’il est possible de modifier en utilisant l’outil
d’écriture.
17
Créer un indicateur numérique et l’utiliser pour spécifier la température exprimée en degré
Fahrenheit
Sélectionner et placer un indicateur numérique.
Ecrire ‘deg F’ dans la zone d’étiquette.
LabVIEW crée le contrôle et l’indicateur ainsi que les terminaux sur le diagramme. Le
terminal est caractéristique du contrôle ou de l’indicateur associé. Ainsi, le terminal ci-contre
représente un contrôle de type réel double précision.
Diagramme
Pour relier un terminal à l’autre, cliquer à l’aide de la bobine sur le premier terminal, déplacer la
jusqu’au second, cliquer dessus comme montré ci-dessous.
Ancrer le fil à l’aide d’un clic de souris puis le courber à
angles droits. Un appui sur la barre d’espace commute la
direction proposée pour le câblage.
Pour identifier proprement les terminaux des nœuds,
effectuer un clic droit sur les fonctions Multiplier puis
Figure 22. Connection des terminaux
Additionner. Sélectionner Eléments visibles»Terminaux
pour afficher le connecteur. La même opération affiche à
nouveau les icônes.
Quand la bobine passe sur un terminal celui-ci clignote, indiquant qu’un clic effectuerait la
connexion. De plus un message précisant le nom du terminal apparaît.
Pour supprimer un fil en cours de création, appuyer sur <Echap>, cliquer à droite ou à gauche
sur la source du fil.
18
Note : Enregistrer tous les VIs de ce cours dans le répertoire c:\exercises\LV Basics I.
Enregistrer sous le nom Convert C to F.vi.
Fin de l’exercice
Diverses méthodes permettent d’insérer des objets et de modifier les faces avant et les
diagrammes
CREATION D’OBJETS
La création d’objets est possible à partir de la palette de contrôle mais également en effectuant
un clic à droite sur le terminal d’un nœud puis en sélectionnant l’option Créer.
La suppression des contrôles et des indicateurs est possible depuis la face avant ou le
diagramme. Les terminaux correspondants disparaissent alors automatiquement.
Pour déplacer un objet, le sélectionner puis le tirer jusqu’à la position choisie ou le déplacer à
l’aide des flèches. Le déplacement peut être limité à une seule direction (horizontale ou
verticale) en appuyant sur la touche < majuscule> pendant la translation.
Appuyer sur la touche <Suppr> une fois l’objet à supprimer est sélectionné,
En cas d’erreur d’édition d’un VI, on peut Annuler ou Rétablir les étapes précédentes en
choisissant l’option correspondante dans le menu Edition. Le nombre d’actions pouvant ainsi
être annulées ou revalidées est défini dans le menu Outils»Options»Diagramme.
Sélectionner l’objet à dupliquer, enfoncer la touche <Ctrl>, puis tirer l’objet ainsi dupliqué vers
sa position finale. Copier/Coller permet d’obtenir le même résultat.
Utiliser les étiquettes pour identifier les objets sur la face avant et le diagramme. Associées aux
objets, celles ci se déplacent avec eux, leur position vis à vis de l’objet est cependant
modifiable.
Il est possible d’écrire dans des zones de texte, rattachées à aucun objet, pour insérer des
commentaires. Pour créer une zone de texte, utiliser l’outil texte.
19
SELECTION OU SUPPRESSION DE FILS
FILS CASSES
Un fil cassé apparaît en pointillé. Cela arrive si l’on tente de relier 2 objets véhiculant des
données incompatibles.
En plaçant la bobine de fil sur un fil cassé, un message apparaît décrivant l’origine du
conflit. Pour supprimer un fil, effectuer un triple clic dessus et frapper la touche <Suppr>.
Pour supprimer tous les fils cassés utiliser le raccourci <CTRL>+B
Attention : un fil apparaît parfois en pointillé tant que le diagramme n’est pas
complètement câblé. Modification de la police, du style ou de la taille du texte
Pour changer l’aspect d’un texte, utiliser le menu <Police de l’application> situé dans
la barre d’outils.
Modification de la taille des objets
La taille de la majorité des objets peut être changée. Après avoir pointé sur un objet
avec la flèche de sélection, des poignées apparaissent dans les coins des objets de forme
rectangulaire ou autour des objets circulaires. Lors de la modification de taille, la police
reste la même. Etirer les objets jusqu’à obtenir la taille recherchée. En appuyant sur la
touche <Majuscule> pendant l’étirement, les proportions de l’objet sont conservées.
Alignement, distribution et dimensionnement des objets
Pour aligner des objets sur un axe : sélectionner les puis utiliser le menu <Aligner> les
objets dans la barre d’outils. Pour les distribuer de façon homogène, utiliser le menu
20
<Répartir>. Enfin, pour homogénéiser la taille d’objets de la face avant, utiliser le
menu <Redimensionner>. Ordonner, Regrouper, Bloquer des objets
Si des objets se chevauchent, il est possible d’imposer qui est devant qui est derrière.
Sélectionner un objet et imposer sa position en utilisant <Réorganiser > de la barre
d’outils.
Il est possible de grouper et/ou verrouiller des objets depuis le menu <Réorganiser >.
Les objets groupés gardent leurs dispositions relatives. Les objets verrouillés conservent
leur emplacement sur la face avant et ne peuvent pas être supprimés.
Face Avant
Déposez sur la face avant trois interrupteurs à bascules et trois LED sans vous soucier
de leurs labels ni de leurs positions. Vous pouvez utiliser le clonage avec la touche
<CTRL>.
Diagramme
Câblez chaque indicateur à chaque contrôle, écrire des commentaires en texte libre,
essayez les fonctionnalités de câblage automatique présentées plus haut.
Fin de l’exercice
21
Si le bouton <Lancer un VI> semble cassé, comme montré ci contre, le VI n’est pas
exécutable. Si en fin de câblage la flèche est toujours cassée le VI ne fonctionnera pas,
cela veut dire qu’il y a encore des erreurs qu’il faut chercher.
Cliquer sur le bouton Exécuter ou choisir le menu Fenêtre»liste des erreurs. Un double
clic sur la description de l’erreur met en surbrillance l’objet qui contient l’erreur.
Visualisation du flot de données
Une visualisation du flot de données est obtenue en cliquant sur le menu Animer
l’exécution. Cette option utilisée conjointement avec le mode pas à pas permet de
visualiser les données transmises d’un nœud à l’autre.
Le mode pas à pas visualise intégralement le déroulement d’un VI ou sous VI. Ce mode
affecte exclusivement un seul VI à la fois. Pour rentrer dans ce mode, cliquer sur le
bouton Commencer l’exécution en mode pas à pas (icône ci-contre). Déplacer la
souris sur Commencer l’exécution. Un message annonçant la tâche à venir apparaît. On
peut exécuter les sous VIs en pas à pas ou normalement.
Si le mode pas à pas est activé ainsi que la visualisation du flot, une flèche verte, en
surimpression, apparaît sur les icônes des VIs en train de s’exécuter.
Utiliser l’outil Sonde pour visualiser immédiatement la valeur qui chemine dans une
connexion quand le VI fonctionne. En mode pas à pas ou après un point d’arrêt, il est
possible de visualiser la valeur qui vient de transiter dans un fil. Les sondes disparaissent
lorsque le VI est fermé.
Points d’arrêt
Utiliser l’outil point d’arrêt, présenté ci contre, pour placer un point d’arrêt sur un VI, un
nœud ou un fil du diagramme et arrêter l’exécution du diagramme en ce point.
Placé sur un fil, l’exécution stoppe après que la donnée y ait transité. Placé sur un
diagramme, le VI stoppe son exécution une fois tous les nœuds exécutés. Quand un VI
est mis en pause, LabVIEW l’entoure d’un listel rouge.
Positionner l’outil Point d’arrêt sur le point d’arrêt ou sur la structure concernée, pour
l’enlever.
Resumé et Astuces
Resumé
- Les contrôles et les indicateurs sont les entrées et sorties interactives du VI.
- La bordure d’un contrôle est plus épaisse que celle d’un indicateur.
- Pour transformer un contrôle en indicateur, choisir dans le menu contextuel Changer en indicateur.
- Utiliser l’outil doigt pour configurer les contrôles et les indicateurs
- Utiliser l’outil position (flèche) pour choisir, déplacer, modifier la taille des objets.
- Utiliser l’outil loupe pour effectuer des recherches dans les palettes de contrôles et de fonctions.
22
- Lorsque la flèche <Lancer> est cassée le VI ne s’exécute pas. Cliquer sur la flèche cassée, affiche les
erreurs
- Utiliser la lampe d’animation, le pas à pas, les sondes et les points d’arrêt pour la mise au point.
Conseils et Astuces
La plus part des raccourcis combinent la touche CTRL avec une autre touche :
<Ctrl-S> Sauve un VI.
<Ctrl-R> Lance un VI.
<Ctrl-E> Commute de la face avant au diagramme.
<Ctrl-H> Affiche l’aide contextuelle.
<Ctrl-B> Supprime les mauvais fils (Bad wires).
<Ctrl-F> Trouve les VIs, les textes, les objets chargés en mémoire ou dans une liste de VIs.
Pour balayer les objets de la palette d’outils, presser la touche TAB.
Pour passer de la flèche à la bobine, appuyer sur la barre d’espace.
Pour incrémenter ou décrémenter rapidement des contrôles, appuyer simultanément sur la
touche<majuscules> et sur les flèches du clavier numérique.
3. CREER UN SOUS VI
3.1. SOUS VI
Après avoir crée un VI, son icône et son connecteur, il est possible de l’utiliser dans un autre
VI. Un VI inclus dans un autre VI est appelé "sous VI". Il correspond à une fonction dans un
langage textuel.
Le nœud d’appel du sous VI correspond à l’appel de la fonction. L’usage de sous VI
augmente la lisibilité, la réutilisation de code et le déboguage.
La comparaison entre le code ci dessous et le diagramme montre l’analogie entre les
approches.
Sous VI
23
3.2. ICONE ET CONNECTEUR
Après avoir créé une face avant et son diagramme, il faut personnaliser l’icône associée et
son connecteur.
Chaque VI possède une icône dans le coin supérieur droit de la face avant et du
diagramme. L’icône est la représentation graphique du VI. Si un VI est utilisé en tant que
sous VI, il est identifié par son icône.
L’icône par défaut est représentée à gauche. Utilisez l’éditeur d’icône pour personnaliser
l’icône en sélectionnant Editer l’icône dans le menu contextuel de l’icône par défaut.
Utilisez les outils situés sur la droite pour concevoir l’icône dans la zone d’édition.
L’éditeur d’icones permet de concevoir des icones a partir de motif prédéfinis, d’ajouter
du texte, des images d’une bibliothèque, de concevoir l’icône à partir de plusieurs
couches avec des transparences…
L'éditeur d'icones
24
Connecteur = liste des paramètres
Note : Eviter de définir plus de 16 connexions sur le même VI. Trop de terminaux
réduisent sa lisibilité du VI et sa facilité de mise en œuvre. Il est toujours possible de
faire un cluster de plusieurs fils (mis dans une gaine). Dans ce cas on passe alors la
gaine et non les fils individuellement.
Après avoir choisi un modèle de connecteur, il faut le câbler. Placez de préférence les entrées
à gauche et sorties à droite.
Pour faire correspondre un terminal à un contrôle (ou un indicateur) cliquer sur le terminal
avec la bobine puis sur l’objet graphique correspondant. Le terminal prend la couleur du type
d’objet auquel il correspond. L’ordre dans lequel on clique sur les objets n’a pas
d’importance.
Note : Bien que les liens soient établis en utilisant l’outil bobine, aucun trait (câble) ne relie
le connecteur et les objets avec lesquels il communique.
25
Exercice : Conversion °C en degré F
OBJECTIF: CREER UNE ICONE ET UN CONNECTEUR POUR UTILISER CE VI EN TANT QUE SOUS VI
Suivre les étapes suivantes pour créer une icône et un connecteur pour le VI déjà existant qui
transforme des °C en Fahrenheit
Dessiner l’icône
Cliquez à droite sur l’icône et choisir Visualiser le connecteur pour définir les terminaux.
26
3.3. UTILISATION DES SOUS VIS
Une fois un VI créé, celui-ci est utilisable en tant que sous VI. Pour le placer dans le
diagramme d’un autre VI, utilisez Sélection d’un VI, accessible depuis la palette de
fonctions, l’icône. Si le VI est déjà ouvert vous pouvez, à l’aide de l’outil de sélection,
cliquer dans son icône et la déposer dans le diagramme du VI appelant.
Pour ouvrir la face avant d’un sous VI depuis un VI appelant, double cliquez avec l’outil
sélection sur l’icône. Les changements que vous opérez n’affecteront que cette instance tant
que le sous VI n’est pas enregistré. Une fois la modification enregistrée, elle affectera
toutes les instances dans tous les programmes où ce VI est déjà utilisé !
Exercice : Thermomètre VI
OBJECTIF: CREER UN VI UTILISANT UN SOUS VI.
Vous disposez d’un capteur fournissant une tension proportionnelle à la température tel que
T(°C) = 100*V. On se propose de réaliser un thermomètre utilisant ce capteur et capable
d’afficher la température en °C ou °F.
Face Avant
Dans un nouveau VI créez la face avant :
Diagramme
Vous utilisez les éléments suivants :
27
Numérique»Multiplier pour le coefficient de proportionnalité de 100.0. La constante
peut être placée directement en déroulant le menu contextuel de l’entrée y en en
sélectionnant Créer»Constante.
Sélection d’un VI, pour placer votre VI Convert C to F.vi.
Comparaison»Sélectionner permet d’aiguiller l’une ou l’autre de ses deux entrées
vers la sortie en fonction d’un booléen.
Reliez un connecteur de sortie à l’indicateur Température et un connecteur d’entrée
au contrôle Echelle. Enregistrez le VI sous le nom Thermometer.vi .Affichez la face
avant et exécutez le code. Vous avez la possibilité d’exécuter en boucle le code sans
structure particulière dans la phase de test en utilisant le bouton Exécuter en continu
au lieu du bouton Exécuter.
Fin de l’exercice
Il est possible de créer un sous VI en sélectionnant une partie de diagramme puis en utilisant
Edition»Créer un sous VI. LabVIEW crée automatiquement un sous VI contenant les
contrôles et indicateurs nécessaires. D’un point de vue conceptuel il ne semble pas que cette
fonctionnalité fournisse un code bien réfléchi !
Identique à une structure de type Faire…Répéter tant que, la boucle While exécute
le code contenu dans son cadre tant qu’une condition est Vraie ou Fausse. Cette
boucle est située dans la palette Fonctions»Structures.
La souris est utilisée pour définir la zone de code à répéter. Lors du relâchement du
bouton de la souris, la zone sélectionnée, enfermée à l’intérieur de la structure sera
répétée.
28
La condition d’arrêt, présentée ci-contre, permet de contrôler l’exécution de la
boucle. La condition par défaut est Continuer si vrai. D’un clic droit il est possible
d’inverser cette condition pour devenir Arrêter si vrai.
Le nombre d’itérations effectuées est contenu dans l’icône présentée à gauche. Cette
variable est initialisée à 0 lors de la première itération.
La boucle While
29
Le graphe déroulant est une fenêtre dans laquelle l’ensemble des données est décalé d’un
point vers la gauche à chaque nouvelle arrivée. L’oscillographe efface complètement la
fenêtre à chaque nouveau remplissage du buffer. Enfin le graphe à balayage efface les
anciennes données à chaque nouvelle arrivée, une barre sépare les anciennes des nouvelles,
façon écran radar.
L’entrée d’un graphe déroulant est un scalaire. Le terminal d’entrée du graphe s’adapte
automatiquement au type de données.
A l’aide de l’outil Texte, entrez Stop comme label du bouton puis les
commentaires Marche et Arrêt. La validation se fait en cliquant sur l’icône Entrée
ou par la touche Entrer du pavé numérique.
30
Placez un graphe déroulant, modifiez les labels d’axe, de légende et de graphe en
conséquence.
Le VI est sensé mesurer la température de la pièce, changez (directement sur l’axe) du
graphe les valeurs minimum et maximum de l’axe Y en 0 et 50.
Diagramme
Passez à la fenêtre diagramme (CTRL-E).
Rajoutez une boucle While autour des deux terminaux présents (Eventuellement les
rapprocher avant). Pour cela :
Connectez la sortie du VI au graphe déroulant. Pour obtenir une température en °C, il faut
connecter une constante booléenne vraie à l’entrée du VI, accessible par un clic droit sur son
entrée. Choisissez l’option Créer » Constante.
Enregistrez ce VI sous le nom "Surveillance de température.vi", vous le réutiliserez plus tard.
Lancez l’exécution en cliquant sur la flèche de la barre d’outils ou en tapant < CTRL-R >.
Le programme exécute la section de code à l’intérieur de la boucle tant que la condition
d’arrêt est VRAIE.
Basculez l’interrupteur en position Arrêt pour mettre fin au VI.
Vous pouvez modifier l’aspect des graduations, la mise à l’échelle, le format des points, la
grille… par un clic droit sur le graphe, à vous de jouer...
Lorsque vous appuyez sur l’interrupteur pour mettre fin au VI, l’interrupteur demeure en
position Arrêt. Il est possible de changer le comportement mécanique en sélectionnant Action
mécanique dans les propriétés de l’interrupteur.
31
Actions bufférisées (l’action de l’utilisateur est enregistrée jusqu’au moment où le
programme lit la valeur du contrôle correspondant, utile pour les boutons poussoirs.)
Armement à l’appui—La commande change de valeur à l’appui sur le bouton de souris
et retombe lors de la première lecture de cet état par le programme (mono coup). Cette
commande est lue une et une seule fois à chaque action de l’utilisateur.
Armement au relâchement —Idem mais au relâchement du bouton de souris.
Armement jusqu’au relâchement — La commande change de valeur à l’appui sur le
bouton de souris et retombe lors de la première lecture après le relâchement. La valeur
est donc vraie tant que le bouton reste enfoncé. Elle peut ainsi être lue plusieurs fois.
Modifiez l’action mécanique de l’interrupteur pour qu’il revienne seul en position par défaut
lorsqu’il est appuyé.
Enregistrez et lancez l’exécution.
Ajouter une temporisation. Lors que le VI s’exécute dans la boucle, il tourne aussi vite que
possible, il est possible de ralentir l’exécution de la boucle à l’aide d’une temporisation. Nous
utiliserons une temporisation de 0.5s.
Placez la fonction Attendre un Multiple de ms située dans la palette Fonctions» Temps &
Dialogues. Cette fonction bloque le programme jusqu’à ce que l’horloge interne atteigne un
multiple entier de son entrée, en l’occurrence 500 ms.
Note: si le temps d’exécution des autres VIs de la boucle est inférieur à 500 ms, cette
fonction assure un timing parfait. De plus, la fonction met cette partie de code dans un état
“idle” (inhibé) ce qui rend du temps processeur pour les autres parties du programme.
Pour placer très simplement une constante à l’entrée d’un VI donné, cliquez à droite au
niveau de la connexion d’entrée, et choisissez Créer»Constante
Fin de l’exercice
32
Configurez l’interrupteur pour qu’il revienne en position marche à chaque départ
d’exécution, définissez les graduations du bouton (connexion jusqu’au relâchement), les
labels…
Construisez le diagramme en suivant les recommandations suivantes :
Utiliser Générer un nombre aléatoire situé dans Fonctions » Numérique pour fabriquer le
données.
Multiplier la valeur du bouton rotatif par 1000 pour obtenir des ms, unité utilisée par le timer.
Enregistrez votre VI et l’exécuter changez la temporisation durant l’exécution et vérifiez son
effet.
Fin de l’exercice
Face Avant
Créer la face avant suivante :
Nombre à obtenir est le nombre que vous voulez voir sortir au tirage.
Tirage actuel est le nombre compris entre 0 et 100 000 que l’ordinateur vient de choisir.
Nombre d’itérations est le nombre de coups nécessaires pour obtenir le tirage.
Utilisez la propriété Gamme des données des objets numériques pour limiter l’étendue des
valeurs possibles.
Par un clic droit, ouvrez la propriété Gamme des données de la commande Nombre à obtenir.
Sélectionnez les options suivantes. (U32 pour Unsigned 32 bits)
33
Diagramme
Construisez le diagramme, en vous aidant des indications suivantes :
Générer un nombre aléatoire fournit un nombre compris entre 0 et 1, il faut donc
le multiplier pour obtenir un nombre entre 0 et 100 000.
Fonctions»Numérique»Arrondir à l’entier le plus proche permet d’arrondir la
valeur obtenue après multiplication.
Fonctions»Comparaison»Différent retourne une valeur booléenne capable
d’arrêter l’exécution de la boucle While.
Ce terminal contient le numéro de l’itération courante (attention la première itération
a le numéro 0 !). Il faut sortir cette valeur de la boucle en la connectant à un tunnel
créé automatiquement en câblant cet élément à une entrée de fonction ou à un
indicateur extérieur à la boucle.
Fonctions»Numérique»Incrémenter incrémente de 1 l’entrée. Pour palier la valeur
0 associée à l’itération 1…
Sauvegardez votre VI sous le nom Avec de la chance.vi
Entrez un nombre dans la commande "Nombre à obtenir" et lancer le VI.
Vous pouvez observer le fonctionnement de la boucle grâce à l’outil Animer
l’exécution qui fait apparaître le flot de données le long des fils, et les valeurs qui y
circulent.
Entrez un nombre supérieur à 100000 ou inférieur à 0 et vérifiez que lors du
lancement, LabVIEW contraint l’entrée au mini ou maxi le plus proche.
Fin de l’exercice
34
Au temps 0, la valeur initiale est transférée dans le registre à décalage. Au temps 1, premier
tour de boucle, la valeur initiale 0 est transférée pour être incrémentée, la valeur 1 est stockée
dans la partie droite du registre. Lorsque tout le code contenu dans la boucle a été exécuté, la
valeur 1 est transférée de la partie droite à la partie gauche du registre à décalage. Au temps
2, deuxième tour de boucle, la valeur 1 est extraite du registre gauche puis incrémentée, le
résultat 2 est stocké dans la partie droite du registre … lorsque la boucle se termine, la
dernière valeur peut sortir de la boucle par une connexion du registre extérieure à la boucle.
Il est possible de rajouter des éléments aux registres de gauche pour obtenir les valeurs à t-1,
t-2, t-3…. comme l’illustre la figure ci après.
35
Les nœuds de rétroactions ont des options de configuration qui dépassent le cadre d’une
initiation. Sachez que l’on peut les initialiser, et qu’ils ne peuvent avoir qu’une sortie. Les
noeuds de rétroactions peuvent être cablés hors d’une boucle, dans ce cas, tout se passe
comme s’ils étaient dans une boucle avec une condition de fin toujours vraie.
36
contextuelle sur les graphes fournit les renseignements essentiels pour cette
opération.
Enregistrez les modifications et exécutez le VI, changez le type d’affichage des
points, des traits… pour chacune des courbes affichées.
Fin de l’exercice
37
Utilisez un registre à décalage pour conserver les trois dernières valeurs.
Vous pouvez utiliser une boite de calcul (Fonctions » Structures » Boite de calcul) pour
réaliser le tirage, la somme et la division.
Enregistrez les modifications et exécutez le VI.
Fin de l’exercice
EXERCICE SUPPLEMENTAIRE
Réaliser un VI qui lise l’état d’un bouton rotatif une fois par seconde et l’affiche sur un
graphe déroulant. Deux commandes situées sur la face avant permettent de fixer des seuils
d’alarmes haute et basse. Deux voyants s’allument lorsque ces seuils sont dépassés dans un
sens ou dans l’autre. En plus de la température instantanée, le graphe (de type multi-courbe)
affiche les valeurs minimale et maximale du contrôle.
Vous pouvez changer la taille de l’affichage des éléments, ainsi que le nombre d’éléments
visibles. L’index indique le numéro du premier élément affiché.
38
5.1.2. TABLEAUX A DEUX DIMENSIONS
Les données des tableaux à deux dimensions sont affichées dans une grille lignes/colonnes.
On augmente la dimension en redimensionnant l’affichage de l’index vers le bas.
La méthode s’applique aux tableaux de toutes dimensions. Cependant, l’affichage reste 2D…
39
L’auto indexation est désactivée en cliquant à droite sur le tunnel et en sélectionnant
Désactiver l’indexation.
Note : Parce que les boucles FOR sont plus spécifiquement dédiées à l’exploration des
tableaux, l’auto indexation y est automatiquement activée, en revanche dans les boucles
While, elle ne l’est pas, il faut agir comme ci-dessus en sélectionnant Activer l’indexation.
40