0% ont trouvé ce document utile (0 vote)
93 vues40 pages

Cours LabView (Izbaim)

Transféré par

abdelbasset.rachid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
93 vues40 pages

Cours LabView (Izbaim)

Transféré par

abdelbasset.rachid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE IBN ZOHR

Faculté des Sciences - Agadir


Département de Physique

Cours : LabVIEW
MASTER SYSTEMES ET TELECOMMUNICATIONS

Driss IZBAIM

Année universitaire : 2022/2023

1
SOMMAIRE 3

1. Introduction à LabVIEW 4
1.1. LabVIEW 4

1.2. Les Instruments Virtuels 5

1.3. Environnement LabVIEW 6


Les fenêtres de la face avant et du diagramme 6
Barre d’outils de la face avant 7
Barre d’outils du diagramme 8
Menus contextuels 8
Menus 8
Palettes 8
Palette d’outils 9
Palette de commandes 10
Palette de Fonctions 10
Enregistrement des VIs 11

1.4. Aide et Manuels 13


Aide contextuelle 13
Aide LabVIEW 13

2. Création, Modification, mise au point d’un VI 14


Création d’un VI 14
Face Avant 14
Diagramme 15
Nœuds 15
Terminaux 15
Fils 15
Câblage automatique des données 16
Programmation par flots de données 16
Recherche de contrôles, de VIs et de fonctions 17
Techniques de modification 19
Création d’objets 19
Déplacement, Effacement et duplication d’objets 19
Nommer les objets 19
Sélection ou suppression de fils 20
Fils cassés 20
Outils d’édition de la face avant 20
Resumé et Astuces 22

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

Utilisation des sous VIs 27


Ouverture / Edition de sous VIs 27

Création d’un sous VI à partir d’une sélection. 28

4. Boucles et graphes déroulants 28


Boucles de répétition conditionnelle (While) 28
Les graphes déroulants 29
Câblage des graphes déroulants. 30
Les registres à décalages 34
Initialisation des registres 35
Nœuds de rétroaction (feedback node) 35

Boucles For 37

5. Tableau, Graphes et clusters 38


Les Tableaux 38
Créer des tableaux sur la face avant. 38
Tableaux à deux dimensions 39
Tableaux de constantes 39

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.

Pour l’acquisition de données et le contrôle d’instruments, LabView supporte les


standards RS-232/422, USB, IEEE 488 (GPIB) et VXI/PXI, ainsi que les cartes
d’acquisition de données.

Pour l’analyse et le traitement des données, la bibliothèque d’analyse étendue contient


les fonctions pour la génération et le traitement de signaux, les filtres, les fenêtres, les
statistiques, la régression, l’algèbre linéaire et l’arithmétique matricielle.

LabView intègre un grand nombre d’éléments de présentation tels les graphes


déroulants, des graphes XY, des abaques de Smith, jauges, cadrans à aiguille…

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).

Vous construisez la face avant en plaçant des


éléments graphiques accessibles dans une
palette. Vous disposez de boutons,
d’indicateurs numériques et de chaînes, de
graphes, de LEDs, de listes déroulantes, de
menus…

Figure 1. La face avant d'un VI

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)

Le diagramme contient les terminaux, les sous


VIs, les fonctions, les constantes, les structures
ainsi que les fils qui relient les différents objets
pour leur transmettre les données.
Après avoir construit la face avant et le
diagramme, vous pouvez créer son icône et son
connecteur. Si ce VI est utilisé dans un autre
VI, il devient un Sous VI, il correspond à une
routine dans un langage classique, le connecteur
représente alors les paramètres entrant et sortant
Figure 2. La face avant et son diagramme de la routine.

L’icône identifiera le VI comme le ferait le nom de la routine. La


hiérarchisation des applications facilite grandement la réutilisation du
code et le débogage. Figure 3. L'icone et son
connecteur

5
1.3. ENVIRONNEMENT LABVIEW
Au lancement de l’application, la boite de dialogue suivante apparaît.

Elle permet les actions suivantes:

Dans la zone New il est possible d’ouvrir


un nouveau VI ou un nouveau projet.
L’option More… permet de créer d’autres
types d’objets LabVIEW (des contrôles
personnalisés, des variables globales, des
VIs polymorphes, des VI pré-remplis à
partir de modèles…).

La zone Open permet d’ouvrir un VI


existant.

La zone de droite donne accès à l’aide et


aux exemples ainsi qu’aux différentes
Figure 4. Fenêtre de démarrage
ressources d’aide disponibles sur la toile.

1.3.1. LES FENETRES DE LA FACE AVANT ET DU DIAGRAMME


Lorsque l’on ouvre un nouveau VI, une fenêtre de face avant et une fenêtre de diagramme
apparaissent. L’illustration suivante présente les principaux éléments de ces deux fenêtres.

Figure 5. La face avant


9

6
Figure 6. Le diagramme

1.3.2. BARRE D’OUTILS DE LA FACE AVANT


La barre d’outils suivante est présente sur la face avant, elle donne accès aux outils d’exécution et de
présentation.

Lance l’exécution du VI.


Indique que le VI est en cours d’exécution et qu’il s’agit d’un VI de niveau
supérieur (il n’a pas été appelé par un autre VI).
Indique que le VI est en cours d’exécution et qu’il s’agit d’un sous VI (il a
été appelé par un autre VI)
Le bouton d’exécution apparaît brisé : le VI n’est pas exécutable (il contient
des erreurs).
Relance continuellement le VI après chaque fin d’exécution (équivalent à
déposer le VI dans une boucle infinie). Les boutons stop ou pause arrêtent
l’exécution.
Arrête l’exécution du VI.
Suspend l’exécution du VI, l’icône devient rouge pour indiquer que le Vi
est en pause, Appuyer de nouveau sur le bouton pour continuer l’exécution.

Permet de choisir la fonte, la graisse, la couleur…d’un champ


contenant du texte.

Permet d’aligner des objets, d’en égaliser l’espacement et la taille.

Cache ou affiche l’aide contextuelle.

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.4. MENUS CONTEXTUELS


La plupart des objets présents dans les fenêtres de face avant et de diagramme possèdent des menus
contextuels accessibles par un clic droit de souris.

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.

Fichier donne accès à l’ouverture, l’enregistrement ou l’impression de VIs.


Edition permet les copier/coller, la recherche, la création de menus…
Exécution exécute, arrête, accède aux options d’exécution d’un VI.
Outils facilite par le biais d’outils spécifiques, la communication avec des instruments,
l’édition de bibliothèques, la comparaison de VIs…
Parcourir facilite la navigation dans un VI et dans sa hiérarchie.
Fenêtre accède aux fenêtres de l’application et aux palettes d’outils.
Aide affiche l’aide, donne accès aux exemples...

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…

On y accède par Fenêtre » Afficher la palette d’outils.

Figure 7. La palette d'outils

Active la sélection automatique des outils. Dans ce mode, LabVIEW choisit


l’outil adapté en fonction de l’emplacement du curseur (pas toujours très pratique). On
peut lui préférer le raccourci claviern touche espace », qui commute les deux outils
des plus utilisés (sélection et doigt dans la face avant, sélection et bobine dans le
diagramme) ou la « touche Tab » qui propose successivement les quatre outils les plus
courants.
L’outil « doigt » change la valeur d’une commande, sélectionne un texte, Le curseur
adopte la forme lorsqu’il est placé dans une zone contenant des caractères.
L’outil « flèche » sélectionne, déplace, redimensionne les objets. Il adopte l’une des
formes suivantes lorsqu’il est sur l’angle d’un objet redimensionnable.
L’outil « édition de texte » permet de changer les étiquettes, d’éditer des objets de type
caractère et de placer du texte libre dans une fenêtre.
L’outil « bobine » sert au câblage des VI’s.
Accède au menu contextuel par un clic à gauche (utilité douteuse !).
Pour se déplacer dans une fenêtre sans les ascenseurs.
L’outil « point d’arrêts » définit l’emplacement sur le diagramme où le programme
passera en pause pour permettre le déboguage.
L’outil « sonde » visualise la valeur de connections particulières.
L’outil « pipette » mesure la couleur d’un point.
Le pinceau colorie un objet.

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.

Figure 8. 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é….).

Figure 9. La palette de fonctions

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.

Exercice 1-1 : Simulation de réponse en fréquence

Objectif: Ouvrir et executer un vi.

Démarrez l’application LabVIEW.

Cliquez sur la flèche de déroulement du bouton Aide, situé


sur le panneau d’accueil, sélectionnez Recherche
d’exemples.
Les exemples sont également accessibles depuis le menu
aide situé dans la barre de menu de l’application. Une boite
de dialogue affiche l’ensemble des exemples disponibles.
Figure 10. Recherche d'exemples
Dans l’onglet Browse, sélectionnez Structure des
répertoires et chargez Frequency Response.VI dans
l’arborescence Apps\ Freqresp.llb.
Face Avant

Exécutez le VI en cliquant sur le bouton Run. Ce VI simule un test de réponse en


fréquence d’un filtre, et affiche la courbe de réponse sur l’écran.

Figure 11. Face avant de frequency response

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).

Relancez le VI de nouveau pour constater les changements effectués.

Diagramme

Visualisez la diagramme par le biais du menu Fenêtre» Diagramme ou par le raccourci


<Ctrl-E>

Figure 12. Diagramme de frequency response

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

Figure 13. 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.

Fin de l’exercice 1-1

12
1.4. AIDE ET MANUELS

LabVIEW possède une aide classique, et une aide contextuelle.

1.4.1. AIDE CONTEXTUELLE

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.

Figure 14. Fenêtre d'aide contextuelle

Ce bouton affiche ou non les connections optionnelles d’un VI.


Ce bouton fige le contenu de la fenêtre (le déplacement de la souris ne met plus à jour la
fenêtre).
Affiche l’aide classique (plus détaillée), associée à l’item correspondant au moment de
l’appui.

1.4.2. AIDE LABVIEW

L’aide de LabView détaille l’ensemble des fonctionnalités de l’application. National Instruments


fournit également des tutoriaux et des manuels au format PDF. Le site www.ni.com contient de
nombreux exemples, des notes d’applications, des liens…

13
7

2. CREATION, MODIFICATION, MISE AU POINT D’UN VI

2.1. CREATION D’UN VI


Les VI comportent trois parties – la face avant, le diagramme ainsi que l’icône et son
connecteur.

2.1.1. FACE AVANT


La face avant comporte des indicateurs et des contrôles qui sont les entrées et les sorties du VI.
Les boutons poussoirs ou rotatifs sont par défaut des contrôles.
Les graphiques, voyants, vumètres sont par défaut des indicateurs.
Les contrôles simulent les entrées des instruments virtuels et fournissent les données au
diagramme. Les indicateurs simulent la réponse des instruments et affichent les données
acquises ou engendrées par les VIs.
Utilisez la palette de commandes pour placer contrôles et indicateurs sur la face avant.

a- CONTROLES ET INDICATEURS NUMERIQUES

Les deux objets les plus couramment utilisés sont les contrôles et les indicateurs numériques,
représentés ci-dessous

Figure 15. Contrôles et indicateurs

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.

b- CONTROLES ET INDICATEURS BOOLEENS

A utiliser pour saisir et afficher des valeurs binaires. Les objets booléens les plus communs sont
les interrupteurs à bascules et les diodes LED.

Figure 16. Les booléens

c- CONFIGURATION DES CONTROLES ET DES INDICATEURS

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

Le diagramme est composé de nœuds, terminaux, connexions comme le montre la figure


suivante :

Figure 17. Les controles et leurs terminaux

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.

Les connecteurs des opérateurs peuvent être visualisés en sélectionnant l’option


Terminaux visibles du menu contextuel.

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

Tableau 2. types de fils

d- CABLAGE AUTOMATIQUE DES DONNEES

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.

2.1.3. PROGRAMMATION PAR FLOTS DE DONNEES


Utilisant le principe du contrôle de flot de données,
LabVIEW n’exécute un nœud que lorsque l’ensemble des
données arrivant sur ses entrées est présent. Après
exécution, le nœud transmet les données sur ses sorties, les
passant ainsi au nœud suivant.

Considérons le diagramme suivant : Figure 18. Le flux de donnée détermine


Il additionne deux nombres et soustrait 50 au résultat de l'ordre d'exécution

l’addition. Dans ce cas, le diagramme s’exécute de la gauche


vers la droite, non pas parce que les objets sont placés dans
cet ordre, mais parce que l’une des entrées de la fonction «
Soustraire » reste invalide tant que la fonction

« Additionner » n’a pas fini son exécution. Retenir qu’un


nœud (fonction) s’exécute seulement quand les données sont
disponibles à tous ses terminaux d’entrée et il ne fournit les
données à ses terminaux de sortie qu’une fois l’exécution
Figure 19. Exécution parallèle
achevée.
Dans cet exemple quel segment de code devrait s’exécuter en premier :

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.

2.1.4. RECHERCHE DE CONTROLES, DE VIS ET DE FONCTIONS


Les boutons de la palette de fonctions permettent de naviguer et de rechercher les contrôles, les VIs
et les fonctions.

Remonter— Remonte d’un cran dans la hiérarchie de la palette.


Options—Ouvre l’option Parcourir les fonctions (Browser), à partir de la quelle vous pouvez
reconfigurer les palettes.
Rechercher —Change la palette en mode recherche. Celle-ci permet d’effectuer des recherches
textuelles pour localiser les contrôles, les VIs, les fonctions dans les palettes.

Exercice : Conversion C to F VI

Objectif: Creer un vi.

Créer un VI qui convertit un nombre, exprimé en degrés Celsius, en degrés Fahrenheit.

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

Choisir Fichier»Nouveau pour ouvrir


une nouvelle face avant. Puis créer
une face avant rassemblant à :
Sélectionner Fenêtre»Mosaïque
horizontale pour afficher la face avant
et le diagramme côte à côte
Figure 20. Exercice : la face avant Créer un contrôle numérique pour
saisir la température exprimée en
degrés Celsius.
Sélectionner Commande numérique dans la palette Numérique. Si la palette « Commandes »
n’est pas visible, effectuer un clic à droite dans une zone libre de la face avant pour l’afficher.

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

Afficher le diagramme (Fenêtre»Afficher le diagramme)

Choisir les fonctions Multiplication et Addition dans la


palette fonctions numériques. Si celle ci n’est pas
visible, cliquer dans le diagramme dans une zone libre

Placer deux constantes numériques dans le diagramme.


Lors de son placement initial, celle-ci est en
surbrillance indiquant qu’une valeur peut y être Figure 21. Diagramme l'exercice
directement saisie.
Saisir 1.8 dans l’une des constantes et 32.0 dans l’autre.
Utiliser l’outil de câblage pour réaliser le câblage du 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.

Afficher la face avant

Enregistrer le VI car il servira plus tard.


Choisir Fichier»Enregistrer, Aller en c:\exercises\LV Basics I.

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.

Entrer un nombre dans le contrôle numérique et lancer le VI.

A l’aide de l’outil contrôle ou de l’outil d’écriture saisir un nouveau nombre.


Essayer plusieurs nombres et relancer le VI.

Fin de l’exercice

2.1.4. TECHNIQUES DE MODIFICATION

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.

DEPLACEMENT, EFFACEMENT ET DUPLICATION D’OBJETS

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.

NOMMER LES OBJETS

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

Un segment de fil est un tronçon horizontal ou vertical. Pour sélectionner un segment


cliquer une fois dessus, pour une branche cliquer 2 fois, pour un fil entier 3fois.

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

OUTILS D’EDITION DE LA FACE AVANT

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.

Exercice: Edition d’un VI

OBJECTIF: UTILISER LES OUTILS D’EDITION.

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>.

Utilisez l’outil de sélection pour sélectionner les trois interrupteurs.


Alignez les interrupteurs avec l’option Bords gauches de l’outil d’alignement.
Réorganisez la disposition avec l’option Compression verticale de l’outil de
répartion.
Groupez les trois objets ensembles, notez que vous ne pouvez plus déplacer
individuellement les interrupteurs.
Effectuez les mêmes opérations sur le groupe de LEDs.
Changez les états ON et OFF des LEDs en utilisant l’outil doigt, et l’outil pinceau
pour modifier sa couleur.
Chargez les noms de labels, les fontes, la couleur du texte.....

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.

3.2.1. CREATION DE L’ICONE

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

3.2.2. DEFINIR LE CONNECTEUR

Pour utiliser un sous VI il faut définir un connecteur. Le connecteur est un ensemble de


terminaux qui correspondent à tout ou partie des contrôles et indicateurs du VI à la façon
des paramètres passés dans l’appel d’une fonction en langage textuel. Le connecteur
définit ainsi les entrées/sorties du VI.
Pour visualiser les bornes du connecteur, effectuer un clic droit sur l’icône dans la face
avant, choisir l’option Visualiser le connecteur. Chaque rectangle sur le connecteur
représente une connexion. Le nombre de connexions par défaut est égal au nombre de
contrôles et d’indicateurs de la face avant. Dans l’exemple ci-dessous, on distingue trois
contrôles et un indicateur.

24
Connecteur = liste des paramètres

3.2.3. SELECTIONNER OU MODIFIER LE MOTIF DU CONNECTEUR

Pour sélectionner un autre connecteur, appeler le menu contextuel du connecteur et


choisir Modèles. Il est souvent préférable de choisir une configuration avec un
nombre de connexions plus important que nécessaire. Les connexions
supplémentaires peuvent rester non câblées. Le nombre maximum de terminaux pour
un sous VI est fixé à 28.

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.

3.2.4. AFFECTATION DE TERMINAUX AUX COMMANDES ET AUX INDICATEURS

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

Afficher la Face avant


Ouvrir Convert C to F.vi
La face avant ci dessous apparaît.

Dessiner l’icône

Créer les connexions

Cliquez à droite sur l’icône et choisir Visualiser le connecteur pour définir les terminaux.

LabVIEW choisit une configuration basée sur le nombre de contrôles et


d’indicateurs de la face avant. Celle-ci comporte 2 terminaux degC et
degF, LabVIEW propose une configuration avec 2 connexions.
Assignez deux terminaux, l’un au contrôle, l’autre à l’indicateur.
Affichez l’aide contextuelle (Ctrl +H).

Cliquez sur le terminal de gauche, l’outil bobine apparaît automatiquement. La connexion se


colore en noir.
Cliquez sur deg C, le terminal devient orange et un pointillé entoure la connexion affectée.
Cliquez dans une zone libre de la face avant. Le pointillé disparaît et la connexion se pare de
la couleur de l’objet.
Opérez de même avec l’indicateur deg F.
Déplacez le curseur sur le connecteur. La fenêtre d’aide montre 2 terminaux orange (réels) et
leurs labels.
Sauvegarder le VI. Fin de l’exercice 3-1

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.

3.3.1. OUVERTURE / EDITION DE SOUS VIS

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 :

Le thermomètre est dans la palette Numérique.

Définir les propriétés de l’objet dans le menu contextuel Eléments visibles»Afficheur


numérique.
L’interrupteur à bascule est vrai en haut, on peut s’en assurer par le menu contextuel
Opération sur les données»Changer la valeur en...
Il est possible de documenter le VI (cette description apparaîtra dans l’aide contextuelle) en
sélectionnant dans le menu contextuel de l’icône Propriété du VI puis Documentation dans la
liste déroulante. Entrez une brève description du VI dans le cadre.

Diagramme
Vous utilisez les éléments suivants :

Numérique»Nombre aléatoire pour simuler une tension mesurée.

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

3.4. CREATION D’UN SOUS VI A PARTIR D’UNE SELECTION

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 !

Création d'un sous VI à partir d'une sélection

4. BOUCLES ET GRAPHES DEROULANTS


4.1. BOUCLES DE REPETITION CONDITIONNELLE (WHILE)

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.

L’exemple suivant présente une boucle dont


l’exécution se poursuit tant que la sortie du sous-VI
est inférieure à 10, ou que le bouton stop est faux
(continuer tant que vrai, arrêter dès que faux).

La boucle While

4.1.1. LES GRAPHES DEROULANTS


Les graphes déroulants sont des indicateurs numériques destinés à afficher l’évolution d’une
(ou plusieurs) variable(s) sur une (ou plusieurs) courbe(s). L’axe des X a donc pour échelle
un numéro d’ordre d’arrivée du point. Les graphes déroulants sont situés dans la palette
Graphes. La figure ci-dessous présente un graphe multi courbes.

Ce type de graphe dispose de trois modes de rafraîchissement accessibles depuis le menu


contextuel Avancé»Mode de rafraîchissement.

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.

a- CABLAGE DES GRAPHES DEROULANTS.

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.

L’affichage de courbes multiples s’obtient en assemblant plusieurs courbes uniques à l’aide


de la fonction <Assembler> située dans la palette Fonctions»Cluster.

Exercice : Surveillance de température


OBJECTIF: UTILISER UNE BOUCLE WHILE ET UN GRAPHE DEROULANT POUR FAIRE UNE
ACQUISITION ET AFFICHER DES DONNEES.
Réalisez les étapes suivantes pour simuler un suivi et une acquisition de température.
Face Avant
Créez une nouvelle face avant ci-dessous.

Prenez un interrupteur à bascule verticale, il servira à arrêter le programme. Il se situe


dans la palette Commandes »Booléen. Positionnez le vers haut à l’aide de l’outil doigt,
d’un clic droit. Imposez cette position comme position par défaut, depuis le menu
contextuel : Opération sur les données»Désigner les valeurs actuelles comme défaut.

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 :

Sélectionnez la boucle While dans Fonctions»Structures.


Cliquez et agrandissez le rectangle de sélection autour des deux terminaux.
Utilisez l’outil de positionnement pour retoucher la boucle si nécessaire.
Positionnez le VI Thermometer.vi que vous avez créé.

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.

Commutation à l’appui—L’interrupteur bascule entre deux positions stables à chaque


appui du bouton de souris (interrupteur bistable à bascule). Il peut être sensible au
relâchement du bouton de la souris en choisissant Commutation au relâchement.
Commutation jusqu’au relâchement —La valeur du contrôle reproduit fidèlement
l’état d’un bouton monostable.

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

Enregistrez et lancez l’exécution.

Fin de l’exercice

Exercice : Signal aléatoire

OBJECTIF: CREER UN VI QUI GENERE UN NOMBRE ALEATOIRE ET L’AFFICHE A L’ECRAN. AJOUTER


UNE TEMPORISATION VARIABLE A UN GRAPHE DEROULANT.

Réalisez les étapes suivantes :


Placez un bouton rotatif, un interrupteur et un graphe déroulant sur la face avant.

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

Exercice : Avec de la chance


OBJECTIF: RENVOYER DES DONNEES AU TRAVERS D’UNE BOUCLE, VIA UN TUNNEL.
Réalisez les étapes suivantes pour créer un VI qui génère des nombres aléatoires entiers
compris entre 0 et 100 000 tant qu’aucun ne correspond à un nombre spécifié par l’utilisateur.
La boucle, une fois terminée, fournit le nombre d’itérations nécessaires.

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

4.1.2. LES REGISTRES A DECALAGES


Les registres à décalages sont présents uniquement dans les boucles, et permettent à une
itération I, de connaître la valeur d’une variable évaluée à l’itération I-1 (mais aussi I-2, I-
3…).On insère un registre à décalage en cliquant à droite, à l’aide la bobine, sur le coté d’une
boucle et en choisissant l’option « Ajouter un registre à décalage.»

Les registres à décalage apparaissent sous la forme d’une paire de terminaux. Le


registre de droite reçoit des données de l’intérieur de la boucle, elles sont
transférées au registre de gauche au début de l’itération suivante. Le registre de
gauche est alors une source de données pour les éléments de l’intérieur de la
boucle.
L’illustration suivante montre le fonctionnement du registre à décalage

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.

Pour rajouter des éléments au


registre :

Cliquez sur le bord de la structure


avec la flèche de sélection, puis
Tirez vers le bas.

a- INITIALISATION DES REGISTRES


Pour initialiser un registre, nous avons vu qu’il suffisait de câbler une valeur, externe à la
boucle, au registre de gauche. Si cette valeur n’est pas câblée, au premier appel du VI, le
registre est initialisé à 0, s’il s’agit d’un numérique et à FAUX, s’il s’agit d’un booléen.
Aux appels suivants, les registres gardent la valeur qu’ils avaient au dernier appel.

b- NŒUDS DE RETROACTION (FEEDBACK NODE)


Si un grand nombre de registres à décalage sont utilisés, le diagramme s’encombre
rapidement. Il est possible de transformer les registres à décalages en nœud de rétroaction
par un clic droit sur le registre en sélectionnant Remplacer par un nœud de rétroaction.

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.

Exercice : Moyennage de Température

OBJECTIF: UTILISER UN REGISTRE A DECALAGE POUR REALISER UNE MOYENNE GLISSANTE.


Reprenez le code de l’exercice 4-1 Surveillance de température.vi Modifiez le VI pour
afficher, non pas la température instantanée, mais la moyenne des trois dernières prises de
points.
Face Avant
Pas de modifications, sélectionnez Fichier»Enregistrer sous et renommez le fichier
Surveillance de température moyenne.vi.
Diagramme
Ajoutez un registre à décalage à la boucle.
Ajoutez un élément au registre de gauche (lors de la prise de température à l’instant
t, vous aurez les valeurs aux instants t-1 et t-2 pour moyenner sur trois éléments.
Modifiez le diagramme pour visualiser la moyenne des trois derniers points sur le
graphe. Tenez compte des remarques suivantes :
L’opérateur Fonctions»Numérique»Opérateur arithméti-que permet d’appliquer
le même opérateur à plusieurs entrées (simplification du diagramme).
Placez une temporisation de 500 ms pour modérer les ardeurs de l’exécution.
Enregistrez les modifications et exécutez le VI.
A chaque itération, le VI thermomètre fournit une température, le VI additionne
cette température aux deux dernières stockées dans le registre et divise le résultat par
trois. Placez la fonction Fonctions»Cluster»Assembler pour permettre l’affichage
simultané de la température instantanée et de la température moyenne. L’aide

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

4.2. BOUCLE FOR

La boucle d’itération (boucle For) représentée à gauche exécute un nombre de fois


déterminé la partie de diagramme qu’elle englobe. Ce type de boucle est accessible
dans : Fonctions»Structures»Boucles For. Une fois lancée, il est possible d’arrêter
l’itération prématurément (équivalent du break), il faut au préalable afficher le
terminal de condition d’arrêt avec un click droit en bordure du cadre de la boucle.
L’entrée N correspond au nombre d’itérations à faire. Le terminal i, au numéro de
l’itération en cours.
La boucle suivante tire 100 nombres aléatoires.

Tandis que l’autre en tire un million et possède un bouton d’arrêt.

Exercice : Moyenne de nombres aléatoires


OBJECTIF: CREER UN VI QUI AFFICHE DEUX COURBES, UN NOMBRE ALEATOIRE, ET UNE MOYENNE
GLISSANTE DES 4 DERNIERS POINTS.
Construisez un VI en suivant les recommandations suivantes:
Utilisez une boucle For de 200 itérations.
Créez une face avant ressemblant à celle-ci :

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.

5. TABLEAU, GRAPHES ET CLUSTERS


5.1. LES TABLEAUX
Les tableaux sont des groupements ordonnés de données de même type. La dimension d’un
tableau est le nombre d’indices définissant un élément. (1 dimension, le tableau contient 1
seule colonne, 2 dimensions : ligne/ colonne, 3 dimensions : ligne/ colonne/ profondeur…).
Chaque élément est ainsi repéré de façon unique par ses coordonnées.
Les tableaux peuvent contenir n’importe quel type d’éléments (diodes, interrupteurs…),
excepté d’autres tableaux.

5.1.1. CREER DES TABLEAUX SUR LA FACE AVANT


Pour créer un tableau sur la face avant, sélectionnez Commande»Tableaux et
Cluster»Tableaux. Cette commande place un tableau vide sur la face avant. A présent
déposez un indicateur ou une commande du type voulu, à l’intérieur du tableau.

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.

Il devient alors possible d’étirer aussi l’affichage des éléments.

La méthode s’applique aux tableaux de toutes dimensions. Cependant, l’affichage reste 2D…

5.1.3. TABLEAUX DE CONSTANTES


Même méthode, mais dans le diagramme : Fonctions » Tableau » Constante tableau puis
placer une constante du type voulu dans la structure vide.

5.2. AUTO INDEXATION


Lorsque l’on câble une connexion vers l’extérieur d’une boucle FOR, LabVIEW stocke
automatiquement les valeurs successives dans un tableau, c’est l’Auto Indexation. De façon
réciproque, un tableau connecté à l’entrée d’une boucle sera automatiquement désindexé (les
éléments sont passés un à un), et la boucle sera exécutée autant de fois qu’il y a d’éléments
dans le tableau. L’illustration suivante illustre ce mécanisme.

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.

5.2.1. BOUCLES ET TABLEAUX 2D


Pour construire un tableau 2D, il suffit d’imbriquer deux boucles FOR. La boucle intérieure
crée les colonnes, la boucle extérieure, les lignes. Notez, l’augmentation de l’épaisseur des
fils de liaisons avec le nombre de dimensions du tableau. Le tableau 2D peut être également
créé en ajoutant les lignes les unes aux autres

40

Vous aimerez peut-être aussi