Cours Programmation LabVIEW
Adnen .A Programmation LabVIEW FSM 2023 1
Partie 1:
Introduction au LabVIEW
Adnen .A Programmation LabVIEW FSM 2023 2
Partie 1: Introduction au LabVIEW
Introduction
• Le langage de programmation Labview (Laboratory Virtual
Instrument Engineering Workbench)
• Un environnement de programmation à caractère universel
bien adapté pour la mesure, les tests, l’instrumentation et
l’automatisation
• Un langage de programmation graphique qui utilise des
icônes, au lieu des lignes de textes utilisées en C par
exemple
• LabVIEW utilise la programmation par flux de données.
C’est ce flux de données qui déterminera l’ordre d’exécution du
programme.
Adnen .A Programmation LabVIEW FSM 2023 3
Partie 1: Introduction au LabVIEW
Introduction
Domaine d’utilisation
Adnen .A Programmation LabVIEW FSM 2023 4
Partie 1: Introduction au LabVIEW
Introduction
Programmation G
• C’est un système de programmation à usage général,
disposant de bibliothèques de fonctions étendues
convenant à toute tâche de programmation.
• Il dispose aussi de bibliothèques spécifiques pour
l’acquisition de données, le contrôle d’instruments (GPIB et
série), ainsi que l’analyse, la présentation et le stockage
de données.
• un langage de programmation orienté objet (POO) tel que le
visuel basic, le visuel C, le Delphi …, offre l’opportunité à des
généralistes de produire des applications de haut niveau.
Adnen .A Programmation LabVIEW FSM 2023 5
Partie 1: Introduction au LabVIEW
Introduction
Programmation G
• Orienté instrumentation et les bancs d’essais
• un système très ouvert qui permet l’intégration aisée de
composants de régulation, commandes d’axes,
visionique, entrées-sorties déportées, serveurs pour
automatisation industrielle.
• En raison de leur parenté avec les instruments réels, les
programmes écrits en G sont appelés VIs (pour Virtual
Instruments : Instruments Virtuels).
• Les VIs peuvent être assemblés entre eux pour produire des
applications complexes et modulaires, ce sont alors des sous-
VIs composant le VI de l'application.
Adnen .A Programmation LabVIEW FSM 2023 6
Partie 1: Introduction au LabVIEW
Présentation du LabVIEW
LabVIEW est un outils d’acquisition, d’analyse et de
présentation de données
Acquisition Analyse Présentation
Adnen .A Programmation LabVIEW FSM 2023 7
Partie 1: Introduction au LabVIEW
Acquisition avec LabVIEW
LabVIEW permet l’acquisition de données par
l’intermédiaire de diverses connectiques :
•PCI (Peripheral Component Interconnect) •USB (Universal Serial Bus)
• CompactFlash •GPIB (IEEE 488) (General
• LAN (Local Area Network) Purpose Interface Bus)
• PXI (PCI eXtensions for Instrumentation) • Firewire (IEEE 1394)
•PCMCIA (Personal Computer Memory
• Ethernet
Card International Association)
•Série (RS 232, RS 449, RS
•Wi-Fi (IEEE 802.11 b/g/n) (Wireless
422, RS 423, RS 485)
Fidelity)
•VXI (VME eXtensions for
• Bluetooth
Instrumentation)
• IrDA (Infrared Data Association)
Adnen .A Programmation LabVIEW FSM 2023 8
Partie 1: Introduction au LabVIEW
Analyse avec LabVIEW
LabVIEW inclut des outils pour l’analyse des
données :
• Traitement du signal : Convolution, analyse
spectrale, transformées de Fourier,…
• Traitement d’images : Masque, détection de
contours, profils, manipulations de pixels,…
• Mathématiques : Interpolation, statistiques
(moyennes, écart-type,…), équations
différentielles,…
Adnen .A Programmation LabVIEW FSM 2023 9
Partie 1: Introduction au LabVIEW
Présentation avec LabVIEW
LabVIEW inclut des outils d’aide à la présentation
(communication) des données :
• Graphiques, tableaux, images, génération de
rapport,…
• Par l’intermédiaire d’Internet : outils de
publication web, serveur datasocket, TCP/IP,
envoie d’alertes par email,…
Adnen .A Programmation LabVIEW FSM 2023 10
Partie 2:
Interfaces LABVIEW et
environnement de programmation
Adnen .A Programmation LabVIEW FSM 2023 11
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
LV étant plus particulièrement destiné à l'instrumentation,
Un programme LV apparaît comme un appareil de mesure
Commande et contrôle
Front panel
Traitement et fonctionnalités (cœur du programme)
Block diagram
Adnen .A Programmation LabVIEW FSM 2023 12
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Un programme écrit en G est appelé VIs (pour Virtual
Instruments : Instruments Virtuels). Il contient 3 éléments:
oFace avant (Front panel): l’interface utilisateur
oFace arrière (Bloc diagramme): Contient le code source
sous forme graphique qui définit les fonctionnalités du VI.
oIcône et pattes de connections : identifie le VI pour l’utiliser
dans un autre VI (sous-VI).
Un sous-VI correspond à une sous –routine ou fonction dans un
langage de programmation textuel (C, C++, …)
Adnen .A Programmation LabVIEW FSM 2023 13
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Un programme informatique manipule des données fournies
par l'environnement extérieur :
- Entrées au clavier par l'utilisateur,
- Acquises par une carte d'acquisition (mesure de
Température par exemple),
- Délivrées par un appareil de mesure (Voltmètre, via une
liaison informatique),
-Tirées d'un fichier tableur,
- Etc.
Ces données constituent des variables d’entrées.
Adnen .A Programmation LabVIEW FSM 2023 14
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Le traitement des variables d’entrées donne naissance a des
résultats:
- exemple, affichage d'un graphe d'évolution de la
température mesurée, ou
- engendre des actions de commande délivrées par
l'ordinateur (commande d'arrêt de chauffage).
Ces informations constituent des variables de sorties
L’élaboration d’un algorithme nécessite de bien identifier
les entrées/sorties
Adnen .A Programmation LabVIEW FSM 2023 15
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Entrées/Sorties dans LabVIEW
Entrées Sorties
o boutons poussoirs o écran d’oscilloscope
o interrupteurs o afficheur numérique en
o potentiomètres rotatifs ou écriture (affichage)
glissière o Vumètre
o afficheur numérique en o Etc
lecture
o Etc
Adnen .A Programmation LabVIEW FSM 2023 16
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Entrées : Commandes Sorties : Indicateurs
Adnen .A Programmation LabVIEW FSM 2023 17
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Fac Avant Bloc Diagramme
- Commandes (entrées) Code source: Fonctions
(icones) , liaisons (fils), boucles
(cadres)etc
-Indicateurs (sorties) VI
Les contrôles (Controls) ont des bordures plus épaisses que les indicateurs
(Indicators)
Adnen .A Programmation LabVIEW FSM 2023 18
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Ic ône/c onnecte u r d ’u n VI
• Chaque VI affiche une icône, dans le coin
supérieur droit des fenêtres de la face-
Icône par défaut avant et du diagramme. Une icône
est la représentation graphique d’un VI.
• Un connecteur est un ensemble
de terminaux correspondant aux
commandes et aux indicateurs du
VI qui sont accessibles.
Adnen .A Programmation LabVIEW FSM 2023 19
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Diagramme : Fonctions et connexions Traitement
Dans le diagramme nous trouverons tous les éléments propres
au code développé (structures, fonctions, constantes,…).
Adnen .A Programmation LabVIEW FSM 2023 20
Partie 2: Interfaces LABVIEW et
environnement de programmation
Structure d’un programme Labview
Adnen .A Programmation LabVIEW FSM 2023 21
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interface d’accueil de LABVIEW
Ouvrir un VI vide ou
un projet vide
Ouvrir un
ancien VI
Se connecter vers
des formations ou
des forums de
discussion
Adnen .A Programmation LabVIEW FSM 2023 22
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interfaces d’accueil de LABVIEW
2 faces superposées
Adnen .A Programmation LabVIEW FSM 2023 23
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interfaces d’accueil de LABVIEW
2 faces superposées : Face Avant
Adnen .A Programmation LabVIEW FSM 2023 24
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interfaces d’accueil de LABVIEW
2 faces superposées : Diagramme
Adnen .A Programmation LabVIEW FSM 2023 25
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interface d’accueil de LABVIEW
Barre d’outils de la face-avant
Bouton Exécution du programme
(VI) Bouton Exécution continue Aide contextuelle
Bouton d’Arrêt d’exécution
Bouton Pause/Reprendre
Configuration du format du texte (taille, style, couleur,…)
Aligner les objets
Égalisation de l’espacement entre les objets
Plan de l’objet (premier ou arrière plan,…)
Redimensionner les objets de la face avant
Adnen .A Programmation LabVIEW FSM 2023 26
Partie 2: Interfaces LABVIEW et
environnement de programmation
Interface d’accueil de LABVIEW
Barre d’outils du diagramme
Animer l’exécution pour animer le diagramme et voir les
données transiter.
Exécuter de façon détailler : Exécute le programme
de la façon la plus détaillée possible action par action.
Exécuter sans détailler : Exécute le programme nœud
par nœud sans rentrer dans le détail de leur exécution
interne.
Terminer l’exécution
Adnen .A Programmation LabVIEW FSM 2023 27
Partie 2: Interfaces LABVIEW et
environnement de programmation
Palettes de commandes : Face avant
Disponible à partir de la fenêtre face avant par un clic droit
avec la souris ou dans la barre des menus : “ Fenêtre”.
Remonter l’arborescence
Rechercher un élément
Personnalisation de la palette
Dans cette palette nous trouverons tous les éléments
(commandes et indicateurs) nécessaires à la création de la face-
avant.
Adnen .A Programmation LabVIEW FSM 2023 28
Partie 2: Interfaces LABVIEW et
environnement de programmation
Palettes de commandes : Face avant
Adnen .A Programmation LabVIEW FSM 2023 29
Partie 2: Interfaces LABVIEW et
environnement de programmation
Palettes des fonctions : Digramme
Palettes de fonctions (disponible à partir de la
fenêtre diagramme par un clic droit avec la souris
ou dans la barre des menus : “ Fenêtre”).
Adnen .A Programmation LabVIEW FSM 2023 30
Partie 2: Interfaces LABVIEW et
environnement de programmation
Palettes des fonctions: Digramme
L es Fonctions, le s VI e t le s VI E xpress
• Les Fonctions de base : Éléments d’exploitation fondamentaux de LabVIEW.
• Les VI Standards :VI qui peuvent être personnalisés.
• Les VI Express :VI interactifs avec une page de dialogue configurable.
Adnen .A Programmation LabVIEW FSM 2023 31
Partie 2: Interfaces LABVIEW et
environnement de programmation
Palettes d’outils : Face avant/Digramme
Utilisée pour agir sur les objets de la face avant et du diagramme
(disponible dans la barre des menus : “ Fenêtre”).
Possibilité de changer d’outils à l’aide de la touche tabulation
du clavier de l’ordinateur
Outil sélection automatique (actif
lorsque la LED verte est allumée) Outil défilement
Outil d’action sur la face avant Outil de point d’arrêt
(saisie de valeurs) Outil sonde de données
Outil déplacement , sélection et taille Outil copie couleur
Outil texte (éditeur de texte)
Outil de coloriage
Outil connexion par fils
Outil raccourci menu
Adnen .A Programmation LabVIEW FSM 2023 32
Environnement de programmation : écriture
d’un programme LabVIEW
Paramétrage des constantes / commandes
Paramétrage des propriétés de la commande numérique
Clic droit sur la commande (ou la constante) numérique
Format scientifique avec 2
chiffres de précision
Format virgule flottante
avec 2 chiffres de précision
Adnen .A Programmation LabVIEW FSM 2023 33
Environnement de programmation : écriture
d’un programme LabVIEW
Paramétrage des constantes / commandes
Possibilités de modifier le type de donnée de la commande : entiers
(mot long, mot, octet), réels (précision étendue, double précision,
simple précision),…
Indication sur le
type de donnée
Permet de fixer une valeur par défaut à la commande
Adnen .A Programmation LabVIEW FSM 2023 34
Environnement de programmation : écriture
d’un programme LabVIEW
Paramétrage des constantes / commandes
Adnen .A Programmation LabVIEW FSM 2023 35
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Il y a essentiellement 4 types de variables :
Numériques
Plusieurs représentations modifiables pour le type Numerique :
Booléens Chaînes de caractères Clusters
Adnen .A Programmation LabVIEW FSM 2023 36
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Numériques
Adnen .A Programmation LabVIEW FSM 2023 37
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Variables booléennes
N'existe pas dans tous les langages :
OK en labVIEW mais pas en C !
Adnen .A Programmation LabVIEW FSM 2023 38
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Variables booléennes
Plusieurs actions mécaniques pour le
type Boolean :
- Switch when pressed (à l’appui)
- Switch when released (au relâchement)
- Switch until released (jusqu’au relâchement)
- Latch when pressed (armement à l’appui)
- Latch when released
- Latch until released
• L ’ action Switch: le contrôle garde son
état jusqu’ au prochain changement
• L ’ action Latch: le contrôle revient à son
état par défaut dès sa lecture
Adnen .A Programmation LabVIEW FSM 2023 39
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Chaîne de caractères (string): (Contrôle, constant ou indicateur)
Les chaînes de caractères sont représentés en rose.
• Une chaîne de caractères est une séquence de caractères (ASCII).
• Utilisations possibles : affichage de messages (boîte de dialogue),
communications avec des instruments, fichiers d’entrée/sortie,…
• Les contrôles ou indicateurs de chaînes sont dans le menu :
Commandes >> Commandes Texte ou Indicateur Texte
Adnen .A Programmation LabVIEW FSM 2023 40
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Chaîne de caractères (string): (Contrôle, constant ou indicateur)
Commandes
Fonctions
Adnen .A Programmation LabVIEW FSM 2023 41
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Clusters
Structures qui regroupent plusieurs données.
Les données peuvent être de différents types.
Les éléments doivent tous être, soit des contrôles, soit des
indicateurs.
Cela est similaire au câblage de fils dans une même gaine : facilite la
gestion du programme.
Adnen .A Programmation LabVIEW FSM 2023 42
Environnement de programmation : écriture
d’un programme LabVIEW
Type Variables / constantes
Clusters
Adnen .A Programmation LabVIEW FSM 2023 43
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 44
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 45
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 46
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 47
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 48
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 49
Environnement de programmation : écriture
d’un programme LabVIEW
Outils d’aide en LabView
Adnen .A Programmation LabVIEW FSM 2023 50
Environnement de programmation : écriture
d’un programme LabVIEW
Type de variables : Codage
Couleurs associées aux variables
Servent à l’acheminement des données entre terminaux vis les nœuds du V.I.
Circulation unidirectionnelle : Commande Indicateur
Type de variable Représentation Code couleur
Booléenne Vert
Chaîne de caractère Rose
Nombre réel Orangé
Nombre entier Bleu
Épaisseur du fil nature des données (scalaire, tableau 1D, tableau 2D)
Adnen .A Programmation LabVIEW FSM 2023 51
Environnement de programmation : écriture
d’un programme LabVIEW
Type de connexions : Codage
Couleurs associées aux fils de connexions
Épaisseur du fil nature des données (scalaire, tableau 1D, tableau 2D)
Adnen .A Programmation LabVIEW FSM 2023 52
Environnement de programmation : écriture
d’un programme LabVIEW
Type de connexions : Codage
Codage des nombres entiers : sur un octet
Adnen .A Programmation LabVIEW FSM 2023 53
Environnement de programmation : écriture
d’un programme LabVIEW
Type de connexions : Codage
Codage des nombres entiers : sur deux octet
Adnen .A Programmation LabVIEW FSM 2023 54
Environnement de programmation : écriture
d’un programme LabVIEW
Type de connexions : Codage
Codage des nombres Virgule flottante
Adnen .A Programmation LabVIEW FSM 2023 55
Environnement de programmation : écriture
d’un programme LabVIEW
Fonctions de base
La bobine sert à connecter
les différents éléments.
Adnen .A Programmation LabVIEW FSM 2023 56
Environnement de programmation : écriture
d’un programme LabVIEW
Fonctions de base: Astuces de connexions
Adnen .A Programmation LabVIEW FSM 2023 57
Environnement de programmation : écriture
d’un programme LabVIEW
Programmation par flux de données
exécution parallèle
le flux de donnée détermine l'ordre d'exécution
• L’exécution du diagramme dépend du flux de données.
• L’exécution du nœud se fait quand les données sont disponibles à tous les
terminaux d’entrée.
• Puis les nœuds fournissent des données à tous les terminaux de sortie.
• La plupart des langages de programmation textuel (Visual Basic, C++,
Java,…) utilisent des modèles de flux de commandes. C’est l’ordre
séquentiel des éléments du programme qui détermine l’ordre
d’exécution du programme.
Adnen .A Programmation LabVIEW FSM 2023 58
Environnement de programmation : écriture
d’un programme LabVIEW
Ouvrir un VI / Créer un VI vide
Adnen .A Programmation LabVIEW FSM 2023 59
Environnement de programmation : écriture
d’un programme LabVIEW
Révision
Adnen .A Programmation LabVIEW FSM 2023 60
Environnement de programmation : écriture
d’un programme LabVIEW
Révision
Adnen .A Programmation LabVIEW FSM 2023 61
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 1 - Conversion de °C en °F et en K
Réaliser un VI qui permet d’effectuer une conversion de °C en K et
en °F à partir de fonctions de base de labVIEW.
Conversion de °C en K : K = °C + 273,15
Conversion de °C en °F : °F = ((9 x °C) / 5) + 32
Adnen .A Programmation LabVIEW FSM 2023 62
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 2 -
Réaliser un VI qui permet de c alculer c = 2(a+b)(a-3b) ou a, b et c des
réels.
Bouton Terminaux de
Nœud Terminaux
Incrémenter / contrôle (entrées) d’indicateur
Décrémenter
(sortie)
Commande numérique Indicateur numérique
Fils de liaisons
Cadre gras Cadre fin
Adnen .A Programmation LabVIEW FSM 2023 63
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 3 -
On veut créer une interface qui permet de saisir une température
actuelle, une température maximale et une température minimale,
et qui permet d’afficher les messages suivant :
• "Pas de mise en garde" : si la température actuelle est comprise entre Tmax et Tmin.
• "Mise en garde canicule" : si la température actuelle est supérieure Tmax.
• "Mise en garde gel" : si la température actuelle est inférieure à Tmin.
L’interface utilisateur contient aussi un indicateur booléen de couleur vert
s’il n’y pas de mise en garde ou de couleur rouge s’il y a mise en garde.
Les fonctions qu’on va utiliser sont :
réaliser le programme en LabVIEW de mise en garde et l’exécuter.
Adnen .A Programmation LabVIEW FSM 2023 64
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 3 -
Fonction SELECT
Solution
Adnen .A Programmation LabVIEW FSM 2023 65
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 3 - Exemple de solution possible
Implémenter ce VI. Lancer l’exécution. Commenter.
Pointeur de la sourie + Ctrl + H = Aide pour chaque fonction
Adnen .A Programmation LabVIEW FSM 2023 66
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 4 – fonctions numériques
Créer quatre indicateurs numériques que vous pourrez nommer
• ‘ somme ’
• ‘ soustraction ’
• ‘ multiplication ’
• ‘ division
Adnen .A Programmation LabVIEW FSM 2023 67
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 5 – fonctions booléennes
Réaliser la face avant et le diagramme d’un VI montrant quelques opérations
booléennes :
• ET
• OU
• OU exclusif (XOR)
• Opération composée (plusieurs entrées)
Solution
Adnen .A Programmation LabVIEW FSM 2023 68
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 6 – fonctions booléennes
Réaliser un programme qui allume un afficheur booléen si deux interrupteurs K1
et K2 sont enfoncés.
Solution
Adnen .A Programmation LabVIEW FSM 2023 69
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 7 – Fonction chaine de caractères
Réaliser un programme qui affiche sur un indicateur chaîne de caractère unique le
contenu deux commandes de chaines de caractère..
Solution
Adnen .A Programmation LabVIEW FSM 2023 70
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 8 –
À l’aide des sous-menus du menu Commande, reproduire la face avant
représentée ci-dessous
Adnen .A Programmation LabVIEW FSM 2023 71
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 8 –
À l’aide des sous-menus
du menu Fonctions,
reproduire le
diagramme représenté
ci-contre
Adnen .A Programmation LabVIEW FSM 2023 72
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 8 –
Exécuter le VI, corriger les erreurs si nécessaire et analyser les résultats
Adnen .A Programmation LabVIEW FSM 2023 73
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 8 – Technique de développement et
débogage
Flèche brisée dans la barre d’outils = exécution impossible !
Recherche d’erreur double-clic sur la flèche brisée !
Mise au point d’un diagramme mode pas à pas !
Exécute le diagramme nœud par nœud !
Visualisation séquentielle du déroulement du diagramme mode animation !
Permet de suivre à vitesse lente le flux de données au sein du diagramme !
Mise en place d’indicateur locaux mode sonde !
Visualiser des données dans un fil au fur et à mesure de leurs acheminement !
Adnen .A Programmation LabVIEW FSM 2023 74
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
•Qu’est-ce qu’un sous VI ?
•Assigner un connecteur et réaliser
une icône pour un sous VI.
• Utiliser un VI en tant que sous VI.
Adnen .A Programmation LabVIEW FSM 2023 75
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Un sous VI est un VI
qui peut être utilisé
dans un autre VI de
plus haut niveau.
Avantages :
• Modularité (création de blocs de
base réutilisable pour diverses
applications : gain de productivité)
• Facilite le « débogage »
• Nécessite une seule création de
code.
Adnen .A Programmation LabVIEW FSM 2023 76
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Sous VI Icône représentative du VI de plus
haut niveau
Icône représentative du sous VI
Sous VI
VI Principal
Adnen .A Programmation LabVIEW FSM 2023 77
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Étapes de création d’un sous VI
• Créer l’icône
• Visualiser le connecteur
• Assigner les terminaux
• Sauvegarder le VI
• Insérer le VI dans un VI de plus haut niveau
Adnen .A Programmation LabVIEW FSM 2023 78
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Créer une icône
- Cliquez avec le bouton droit sur l’icône de la face avant (en haut à
droite), ou sur l’icône du diagramme et choisir “Éditer l’icône”.
- La personnalisation de l’icône est tout à fait facultative et ne changera
rien au fonctionnement du sous VI.
Palette d’outils d’édition du dessin
Adnen .A Programmation LabVIEW FSM 2023 79
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Visualiser le connecteur
Cliquer avec le bouton droit sur l’icône (face avant seulement) et choisir
“Visualiser le connecteur”.
Adnen .A Programmation LabVIEW FSM 2023 80
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme) En général, on choisira
Assigner les terminaux de mettre les entrées à
gauche et les sorties à
droite.
Adnen .A Programmation LabVIEW FSM 2023 81
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Assigner les terminaux
Terminaux « nécessaires », « recommandés », « optionnels ».
Lorsque l’on assigne les connecteurs il est possible de définir
leur importance en leur attachant un des trois termes suivants:
« Nécessaire », « Recommandée », « Optionnelle »
Icône :
Adnen .A Programmation LabVIEW FSM 2023 82
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Sauvegarde du VI
• Choisir un emplacement adéquat
• Organiser par fonctionnalités
– Sauvegarder les VI similaires dans un même répertoire
(ex : Outils mathématiques, traitement d’images, gestion
multimètres, gestion moteur,…)
• Organiser par applications
– Sauvegarder tous les VI utilisés pour une application spécifique
dans un répertoire ou une librairie.
(ex : Étalonnage micromètres objet, Pilotage TGV,…)
Les librairies (.llb) combinent plusieurs VI dans un seul fichier. Ceci
est idéal pour transférer des applications complètes vers d’autres
ordinateurs.
Adnen .A Programmation LabVIEW FSM 2023 83
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Insérez le sous VI dans un VI de niveau supérieur
Accès aux sous-VI personnels :
Fonctions >> Toutes les Fonctions >>…
… >> Sélection d’un VI
OU
Faire glisser l’icône du sous VI sur le diagramme
cible de haut niveau.
Adnen .A Programmation LabVIEW FSM 2023 84
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Autre méthode de création d’un sous VI
• Sélectionner une zone à convertir en sous VI.
• Sélectionner dans la barre des menus “Édition” : “Créer un sous VI”.
Icône par défaut
Adnen .A Programmation LabVIEW FSM 2023 85
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Astuces pour travailler dans LabVIEW
Quelques raccourcis clavier
<Ctrl+H> – Activer/désactiver la fenêtre d’aide contextuelle.
<Ctrl+B> – Supprimer les connexions erronées du diagramme.
<Ctrl+E> – Basculer entre la face avant et le diagramme.
<Ctrl+T> – Mosaïque verticale des fenêtres.
<Ctrl+Z> – Annuler (aussi dans le menu Édition).
<Ctrl+C> – Copier un objet.
<Ctrl+V> – Coller un objet.
Adnen .A Programmation LabVIEW FSM 2023 86
Environnement de programmation : écriture
d’un programme LabVIEW
Sous VI (sous programme)
Exemple de création d’un sous VI
Adnen .A Programmation LabVIEW FSM 2023 87
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 9 : Sous-VI
1-Réaliser un programme qui convertit une température en °C en °K
(avec °K = °C +273.15)
2- Rendre ce VI en sous-VI : (créer l’icône, le connecteur et de l’aide).
icône : , aide : «Conversion de °C en °K »
3- Utiliser ce VI pour réaliser un VI qui permet d’afficher sur un thermomètre la
valeur en °C et allume un afficheur booléen (°C) ou la valeur en °K et allume un
afficheur booléen (°K) selon la face avant suivante:
Adnen .A Programmation LabVIEW FSM 2023 88
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 9 : Sous-VI
Solution
1- Réalisation d’un VI qui convertit une température en °C en °K
2- Création d’un sou-VI qui convertit une température en °C en °K
3- Création de l’icône du sou-VI
Adnen .A Programmation LabVIEW FSM 2023 89
Environnement de programmation : écriture
d’un programme LabVIEW
Exercice 9 : Sous-VI
Solution
Création du connecteur
Création de l’aide
3- Réalisation du VI principal
Adnen .A Programmation LabVIEW FSM 2023 90
Partie 3:
Structure conditionnelles et structure
itératives
Adnen .A Programmation LabVIEW FSM 2023 91
Partie 3 : Structure conditionnelles et
structure itératives
• Concept de boucle et de structure
• Structures itératives :
- Boucle “For”, Boucle “While”.
- Tunnel et Registre à décalages.
- Graphiques : Affichages de plusieurs courbes sur un même
graphique.
• Structures Conditionnelles :
- Condition, à choix multiples, Séquence
Adnen .A Programmation LabVIEW FSM 2023 92
Partie 3 : Structure conditionnelles et
structure itératives
Concept de boucle et de structure
Boucles permettent l’exécution d’un programme, d’un sous-
programme ou d’une partie de programme jusqu’à une
action ou une valeur définie par l’opérateur.
Boucles identique à celles mises en jeu en programmation en
langage C ou en langage BASIC
Structures contrôlent le flux de données dans un VI.
Structurespermettent d’organiser, de séquencer ou de
conditionner des éléments d’un V.I. ou un VI. complet
Structure:
conditions = if, then, else…
temporelle = déroulement du programme (pas de flux de
données)…
Adnen .A Programmation LabVIEW FSM 2023 93
Partie 3 : Structure conditionnelles et
structure itératives
Concept de boucle et de structure
Bibliothèque boucles et structures …
Adnen .A Programmation LabVIEW FSM 2023 94
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : Boucle For
Adnen .A Programmation LabVIEW FSM 2023 95
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : Boucle For
NB. Boucle for conditionnelle :
Boucle avec terminal d’arrêt pour arrêter
l’exécution avant à nombre d’itération < N
Clic droit >> Terminal de condition
Terminal d’arrêt
Adnen .A Programmation LabVIEW FSM 2023 96
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : While (tant que)
Adnen .A Programmation LabVIEW FSM 2023 97
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : While (tant que)
Répète le code diagramme contenu à l’intérieur de la
boucle jusqu’à un changement d’état de la variable
booléenne associé au terminal conditionnel
Teste la valeur du Boucle comparable
terminal à la boucle
conditionnel à DO…WHILE en
chaque itération
programmation en
langage C ou BASIC
Au moins une
exécution !
Terminal Terminal
conditionnel
d’itération
Terminal de commande
booléenne
Adnen .A Programmation LabVIEW FSM 2023 98
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : While (tant que)
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. L’icône
prend alors l’allure présentée à gauche.
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.
- Terminale de condition = arrêter si condition vrai
- Terminale de commande booléene = Faux
Boucle infinie
Le changement de la valeur de la commande n’arrête pas la boucle
infinie parce que la valeur n’est lue qu’une fois, avant que la boucle
ne démarre.
Adnen .A Programmation LabVIEW FSM 2023 99
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : While Vs for
• La boucle While (tant que)
– Possède un compteur d’itération.
– S’exécute toujours au moins
une fois.
– Continue de s’exécuter tant que
l’on a pas appuyer sur le bouton
Stop.
Itération
• La boucle For
– Possède un compteur d’itération.
– S’exécute N fois (N
paramétrable).
– Pour N = 4, i = 0, 1, 2, 3.
Adnen .A Programmation LabVIEW FSM 2023 100
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative : Création
1. Choisissez votre boucle. 2. Encadrer le code qui doit être répété.
3. Placez les nœuds additionnels (contrôle booléen : bouton stop par
exemple) et reliez-les.
Adnen .A Programmation LabVIEW FSM 2023 101
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative et les Tunnel
Les tunnels acheminent les données vers l’intérieur et l’extérieur
des boucles ou des structures.
-Le tunnel apparaît comme un carré
coloré sur le bord de la boucle While.
- La couleur du tunnel correspond à
celle du type de données câblé au
tunnel.
- Les données sortent de la boucle une
fois les l’exécution de la boucle est
achevée.
-Lorsqu’un tunnel transmet des données
à une boucle, celle-ci ne s’exécute
qu’une fois les données arrivées au
tunnel.
Adnen .A Programmation LabVIEW FSM 2023 102
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative et les Tunnel
Exemple :
Modifié le diagramme de la figure précédente en plaçant
l’indicateur Itérations en dehors de la boucle while. Exécuter le
VI et noter vos remarques.
Adnen .A Programmation LabVIEW FSM 2023 103
Partie 3 : Structure conditionnelles et
structure itératives
Registre à décalage
- Variables locales qui
transfèrent des données entre
deux itérations consécutives
d’une même boucle 2
terminaux placés au bord droit
et gauche de la boucle.
- Structure disponible également sur les boucles WHILE.
- terminaux ajoutés aux bords latéraux de 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.
Adnen .A Programmation LabVIEW FSM 2023 104
Partie 3 : Structure conditionnelles et
structure itératives
Registre à décalage
- Un registre à décalage prend des données du côté droit et les
reporte du côté gauche à l’itération suivante
Un registre à décalage peut être utilisé avec une boule For et
une boucle While
Adnen .A Programmation LabVIEW FSM 2023 105
Partie 3 : Structure conditionnelles et
structure itératives
Registre à décalage
Attention !! L’initialisation du registre à décalage est importante
pour éviter les erreurs !
Adnen .A Programmation LabVIEW FSM 2023 106
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative - Graphiques
Le graphique est un indicateur numérique particulier qui propose
un historique des valeurs.
Commandes >> Toutes les commandes >> Graphes
Adnen .A Programmation LabVIEW FSM 2023 107
Partie 3 : Structure conditionnelles et
structure itératives
Structure itérative – Graphiques et Connexions
Une seule courbe
Plusieurs courbes
La fonction “Fusionner les signaux” sert
à combiner des données dans un type
de données dynamiques (informations
générées ou acquises par un VI Express).
Adnen .A Programmation LabVIEW FSM 2023 108
Partie 3 : Structure conditionnelles et
structure itératives
Exercice - Utilisation d’une boucle
Créer un VI qui génère un nombre aléatoire avec un temps
d’attente que l’utilisateur peut modifier.
L’arrêt du programme se fait à l’aide du bouton stop de la face
avant.
Exemples de solutions possible
Adnen .A Programmation LabVIEW FSM 2023 109
Partie 3 : Structure conditionnelles et
structure itératives
Structure alternative : CONDITION
Dans la sous palette Structures de la palette de Fonctions.
Uniquement un seul cas est visible à la fois.
Adnen .A Programmation LabVIEW FSM 2023 110
Partie 3 : Structure conditionnelles et
structure itératives
Structure alternative : CONDITION
Adnen .A Programmation LabVIEW FSM 2023 111
Partie 3 : Structure conditionnelles et
structure itératives
Structure à choix multiples: selon le cas ….. faire
Adnen .A Programmation LabVIEW FSM 2023 112
Partie 3 : Structure conditionnelles et
structure itératives
Structure Séquentielle: Séquence
Permet l’exécution de sous-diagramme de manière séquentielle
Structure chronologique des actions
Cet outil permet ) LabVIEW de contrôler l’ordre dans lequel les nœuds du VI
doivent s’exécuter
Adnen .A Programmation LabVIEW FSM 2023 113
Partie 3 : Structure conditionnelles et
structure itératives
Structure Séquentielle: Séquence empilée ou
déroulée
Palette Fonctions et sous palette Structure.
Exécute le diagramme de façon séquentielle.
Clic droit sur la structure pour ajouter une nouvelle étape.
Structure séquence déroulée
Structure séquence empilée
Adnen .A Programmation LabVIEW FSM 2023 114
Partie 4:
Tableaux, Graphiques, Clusters et
fichiers
Adnen .A Programmation LabVIEW FSM 2023 115
Partie 4 :Tableaux, Graphiques, Clusters et
fichiers
• Tableaux
- Concept, Construction, Fonctions de bases
• Clusters
- Clusters Assembler/désassembler, Clusters d’erreurs.
• Graphiques
- Types de Graphiques
• Fichiers
Adnen .A Programmation LabVIEW FSM 2023 116
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Concept d’un tableau LabVIEW
Les tableaux combinent des données du même type dans une
structure de données.
Les tableaux sont utiles, par exemple, pour stocker des
données générées, la plupart du temps, dans des boucles lors de
chaque itération.
Il est possible de construire des tableaux de données
numériques, de booléens, de chemins, de clusters, de chaînes de
caractères,…
Attention: Il n’est pas possible de créer des tableaux de
tableaux!!!
Adnen .A Programmation LabVIEW FSM 2023 117
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Concept d’un tableau LabVIEW
Exemple de tableau.
Chaque éléments d’un tableau est
accessible par son indice.
Ainsi la valeur (l’élément) « 0,658384 » est à
l’indice 0. L’élément « 0,659422 » est à l’indice 3,...
Adnen .A Programmation LabVIEW FSM 2023 118
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Concept d’un tableau LabVIEW
Adnen .A Programmation LabVIEW FSM 2023 119
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : manuelle
Tableau de commandes ou Tableau de constantes
d’indicateurs (palette fonctions)
Déposez le tableau vide sur la face avant
Adnen .A Programmation LabVIEW FSM 2023 120
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : manuelle
Placez un objet dans le tableau (un contrôle, une constante
numérique, une chaîne de caractères, un booléen,…).
Tableau de constantes
Tableau de contrôle
Possibilité de créer un tableau 1D sous forme d’une ligne ou d’une
colonne suivant les besoins de l’application.
Adnen .A Programmation LabVIEW FSM 2023 121
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Auto-indexation activée !
Auto-indexation désactivée !
Attention : Pas d’auto-
indextion avec la boucle
While par défaut tunnel
dernière valeur !!!!
Adnen .A Programmation LabVIEW FSM 2023 122
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Auto-indexation avec boucle For
Un tableau 2D est caractérisé par la présence de 2 indices (un
pour la ligne et un pour la colonne).
Adnen .A Programmation LabVIEW FSM 2023 123
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Attention: pas d’auto-indexation par défaut avec la boucle while
Adnen .A Programmation LabVIEW FSM 2023 124
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Tableau en ENTRÉE d’une boucle For
Si l’indexation automatique est activée pour un tableau câblé en
entrée d’une boucle For, le terminal (N) de décompte s’adapte
automatiquement à la taille du tableau.
La boucle For s’exécute alors un nombre de fois égal au nombre
d’éléments du tableau.
fonction Polymorphe (fonction intelligente )
Adnen .A Programmation LabVIEW FSM 2023 125
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Tableau en ENTRÉE d’une boucle For
Observer la largeur des fils dans la deuxième boucle: on traite les
éléments un par un grâce à l’auto indexation.
Il est alors inutile de relier N, sa valeur sera celle du
nombre d’éléments du tableau d’entrée.
Adnen .A Programmation LabVIEW FSM 2023 126
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Tableau en ENTRÉE d’une boucle For
Adnen .A Programmation LabVIEW FSM 2023 127
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Construire un tableau : Automatique (auto-indexation boucle For)
Tableau en ENTRÉE d’une boucle For
Si deux tableaux sont connectés en entrée de la boucle ainsi que le
terminal de décompte (N), alors la boucle effectuera un nombre
d’itérations égal au plus petit nombre disponible.
Dans l’exemple ci-dessus, le premier tableau a 7 éléments, le
second en a 4 et la valeur 6 est câblée à N. Donc la boucle For ne
s’exécute que 4 fois.
Adnen .A Programmation LabVIEW FSM 2023 128
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Les fonctions de base
Commandes >> Toutes les commandes >> Tableau et cluster >> Tableau
Adnen .A Programmation LabVIEW FSM 2023 129
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux : Les fonctions de base
Taille d’un tableau
Initialize Array
Adnen .A Programmation LabVIEW FSM 2023 130
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux : Les fonctions de base
Initialize Array
Array Subset
Adnen .A Programmation LabVIEW FSM 2023 131
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux : Les fonctions de base
Build Array
Adnen .A Programmation LabVIEW FSM 2023 132
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux : Les fonctions de base
I ndex Array
Adnen .A Programmation LabVIEW FSM 2023 133
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Les fonctions de base
Résumé
Adnen .A Programmation LabVIEW FSM 2023 134
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Tableaux
Les fonctions de base : fonction « Construire un tableau »
Adnen .A Programmation LabVIEW FSM 2023 135
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Clusters
Clusters Assembler / désassembler
Manipulations correctes des graphes maîtrise des clusters
Exemple: Sur un graphe déroulant peuvent être affichés simultanément
plusieurs tracé Utilisation de la fonction Assembler (Bundle)
Assembler permet la combinaison de plusieurs données en cluster
Assembler par nom
Modification d’un cluster
Adnen .A Programmation LabVIEW FSM 2023 136
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Clusters
Clusters Assembler / désassembler
Adnen .A Programmation LabVIEW FSM 2023 137
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Clusters
Clusters d’erreurs
• Un cluster d’erreur permet la visualisation d’un problème lors de
l’exécution d’un VI.
• Un cluster d’erreur contient les informations suivantes :
– État rapporte si une erreur se produit (valeur booléenne).
– Code rapporte le code spécifique de l’erreur (Entier 32 bits).
– Source donne des informations sur l’erreur (Chaîne de caractères).
Pas d’erreur Erreur
Adnen .A Programmation LabVIEW FSM 2023 138
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Clusters
Clusters d’erreurs
• L’information d’erreur est passée d’un sous VI au suivant.
• Si une erreur se produit dans un sous VI, tous les sous VI suivants ne
sont pas exécutés de la façon habituelle.
• Gestion d’erreur automatique.
Exemple
Clusters d’erreurs
Adnen .A Programmation LabVIEW FSM 2023 139
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Exercice - Cluster, manipulation d’erreurs et
structure condition
• Générer un VI qui permet de visualiser une erreur lorsque l’on
essaye de calculer la racine carré d’un nombre négatif.
Exemples de solutions possible
Le programme fonctionne en continu grâce à la
boucle While. Celle- ci s’arrête dès que l’on appui
sur le bouton Stop où dès que l’on rentre une
valeur négative dans la commande « Numérique ».
Adnen .A Programmation LabVIEW FSM 2023 140
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Graphiques
Types des Graphiques
• Graphe déroulant : Trace les données
en continu, en plaçant les anciennes
données sur la gauche et les nouvelles à
droite. Les anciennes données
disparaissent au fur et à mesure que
de nouvelles arrivent.
• Graphe : Trace un tableau de
nombres en fonction de leurs indices.
• Graphe XY (Express) :Trace un seul
tableau en fonction de deux autres
tableaux.
• Graphe numérique : Trace des bits
depuis des données binaires.
Adnen .A Programmation LabVIEW FSM 2023 141
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Graphiques
Paramétrage des Graphiques
Faire un clic droit sur le graphique et sélectionner “propriétés”
pour personnaliser l’affichage (échelle, couleurs, curseurs,…).
Adnen .A Programmation LabVIEW FSM 2023 142
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Graphiques
Types des Graphiques: Graphe Numérique
Utilisation des clusters
Adnen .A Programmation LabVIEW FSM 2023 143
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Graphiques
Types des Graphiques: Graphe XY
Adnen .A Programmation LabVIEW FSM 2023 144
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Exercice 4 - Utilisation de graphiques
• Générer un VI qui simule un signal sinusoïdal et un signal carré
dont on peut modifier la fréquence et l’amplitude ainsi que le rapport
cyclique (pour le signal carré).
• Afficher les deux courbes sur le même graphe.
Exemples de solutions possible
Assembler
signaux
Adnen .A Programmation LabVIEW FSM 2023 145
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Exercice - Utilisation de graphiques
•Palettes fonctions >> Express >> analyse des signaux >> simuler un
signal
Adnen .A Programmation LabVIEW FSM 2023 146
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Introduction aux E/S sur fichiers
• Les E/S sur fichier écrivent ou lisent des données dans un fichier.
• Une opération d’E/S sur fichiers se compose habituellement des étapes
suivantes
1- Créer ou ouvrir un fichier. Lorsque le fichier est ouvert, un
identificateur unique appelé un refnum le représente.
2- Le VI ou la fonction d’E/S sur fichiers lit le fichier ou y écrit.
3- Fermer le fichier.
4- Vérifier s’il y a des erreurs.
Open/ Read
Close Check for
Create/ and/or
File Errors
Replace File Write to File
Adnen .A Programmation LabVIEW FSM 2023 147
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Format de Fichier
• Les fichiers peuvent être des éléments binaires, du texte, ou des
tableaux.
Il y a trois types de fichiers:
• Fichiers ASCII (qui peuvent être lus par d’autres logiciels comme Excel,
Origin…): Un fichier ASCII est un type de fichier binaire spécifique
fichier .txt
• Fichiers data log (format propre à Labview et qui peut contenir de
multiple formats de données): c’est un fichier texte délimité par des
tabulations. Il peut être ouvert avec tableur ou texte. Ce format de fichier
est un type de fichier ASCII spécifiquement créé pour LabVIEW fichier
LVM
• Fichiers binaires (les plus rapides et petits): sont à la base de tous les
autre formats de fichier.
Adnen .A Programmation LabVIEW FSM 2023 148
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
VI d’E/S de haut niveau
• Certains VIs d’E/S sur fichier, de la bibliothèque labVIEW, effectuent les
trois étapes d’un processus d’E/S sur fichier : l’ouverture, la lecture ou
l’écriture ou la fermeture.
VI d’E/S de bas niveau
• Effectuent la lecture ou l’écriture avec une boucle While ou une boucle
For
• Chaque VI et fonction d’E/S sur fichier bas niveau effectue une étape
spécifique du processus d’E/S sur fichier
• Il existe, par exemple, une fonction qui ouvre un fichier ASCII, une
fonction qui lit un fichier ASCII et une fonction qui ferme un fichier ASCII
Adnen .A Programmation LabVIEW FSM 2023 149
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers: VI d’E/S Haut niveau (Lire/écrire sur un tableau)
VI d’E/S LVM (fichier de mesure (xls)
VI d’E/S Bas niveau
Adnen .A Programmation LabVIEW FSM 2023 150
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers: VI d’E/S Haut niveau (Lire/écrire sur un tableau)
Format :
%.3f : double précision
%s : chaine
%d: entier
Adnen .A Programmation LabVIEW FSM 2023 151
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Exemple: Écrire / lire dans un fichier de haut niveau.
Adnen .A Programmation LabVIEW FSM 2023 152
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Écrire / lire dans un fichier de bas niveau.
① Ouvrir/créer/Remplacer un fichier
② Ecrire/lire dans le fichier boucle (chaque itération = un caractère)
③ Fermer un fichier
④ Vérifier s’il y a des erreurs
②
donnée ③ ④
①
Contrôle d’erreur
Adnen .A Programmation LabVIEW FSM 2023 153
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Exemple : Écrire / lire dans un fichier de bas niveau.
① ③ ④
① Ouvrir un fichier
② Ecrire dans le fichier
③ Fermer un fichier
④ Vérifier s’il y a des erreurs
Adnen .A Programmation LabVIEW FSM 2023 154
Partie 4 : Tableaux, Graphiques, Clusters et
fichiers
Les Fichiers:
Écrire / lire le fichier LVMeasurements (*.lvm) à l’aide de VI Express.
Lire un fichier *.lvm
Écrire dans un fichier *.lvm
• Inclut les fonctions ouvrir, écrire, fermer et gérer les erreurs.
• Gère le formatage des chaînes avec soit une tabulation soit une virgule
comme délimiteur.
• La fonction “Fusionner les signaux” sert à combiner des données
dans un type de données dynamiques.
Adnen .A Programmation LabVIEW FSM 2023 155
Partie 5:
Les interfaces dynamiques
Adnen .A Programmation LabVIEW FSM 2023 156
Partie 5 : Les interfaces dynamiques
• Variables locales
• Variables globales
• Les Commandes énumérations
• Les constantes énumérations
• Les nœuds de propriétés
Adnen .A Programmation LabVIEW FSM 2023 157
Partie 5 : Les interfaces dynamiques
Les variables locales(VL)
Définition : duplications de terminaux dans un même diagramme
Fonctionnalités : pouvoir écrire (même pour les terminaux commande)
ou lire (même pour les terminaux indicateur) en n’importe quel point du
diagramme
Intérêts : initialisation de valeurs en face avant ou asservissement de
commandes
Comment la créer : dans le diagramme, menu Structures dans la palette
Fonctions mais elle n’est associée à aucun terminal !
Associer la variable : clic droit sur la variable puis sélectionner un
élément pour associer un terminal
Alternative : clic droit sur le terminal puis créer la variable locale
Une variable locale n’est visible que dans un seul VI.
Adnen .A Programmation LabVIEW FSM 2023 158
Partie 5 : Les interfaces dynamiques
Les variables locales(VL)
Comment la créer ?
dans le diagramme, menu Structures dans la palette Fonctions
mais elle n’est associée à aucun terminal !
Adnen .A Programmation LabVIEW FSM 2023 159
Partie 5 : Les interfaces dynamiques
Les variables locales(VL)
Comment la créer ?
Alternative : clic droit sur le terminal (Numérique, Booléen ou chaîne)
puis créer la variable locale. Chaque terminal peut avoir une V.L
Une variable locale n’est visible que sur le diagramme
Une variable locale n’est visible que dans un seul VI.
Adnen .A Programmation LabVIEW FSM 2023 160
Partie 5 : Les interfaces dynamiques
Les variables locales(VL)
Exemple1: utilisation des variables locales
V. Locale de l’objet affichage
La variable locale permet d’afficher l’un des trois résultats (a>b ,a=b, a<b) sur le
même indicateur affichage « affichage »
Adnen .A Programmation LabVIEW FSM 2023 161
Partie 5 : Les interfaces dynamiques
Les variables locales(VL)
Exemple 2: utilisation des variables locales
Variation du courant : ok
-commande courant(A) est validée
-commande tension(V) bloquée
Variation du tension : ok
-commande courant(A) bloquée
-commande tension(V) est validée
Adnen .A Programmation LabVIEW FSM 2023 162
Partie 5 : Les interfaces dynamiques
Les variables globales(VG)
Définition: duplications de terminaux utilisables dans n’importe quel programme
Présentation : sous-VI représenté uniquement par une face avant
Fonctionnalités: partage de données
Comment la créer: dans le diagramme, menu Structures dans la palette
Fonctions
mais c’est alors une structure vide !
une structure vide (sans
données) variable
vide sans type
Une variable globale agit de la même façon
qu’une variable locale excepté le fait que l’on peut
transférer cette variable d’un VI à l’autre par
l’utilisation du sous VI crée
Adnen .A Programmation LabVIEW FSM 2023 163
Partie 5 : Les interfaces dynamiques
Les variables globales(VG): création et utilisation
Adnen .A Programmation LabVIEW FSM 2023 164
Partie 5 : Les interfaces dynamiques
Les variables globales(VG): création et utilisation
Créer les données composant la variable globale déjà créée
1- double clic droit sur l’icône de la variable pour ouvrir sa face avant
2- Créer les différentes données (numériques, booléennes, tableaux, cluster,…)
3- Sauvegarder la variable globale avec l’extension .gbl
Adnen .A Programmation LabVIEW FSM 2023 165
Partie 5 : Les interfaces dynamiques
Les nœuds de propriété NP
Définition : permet l’accès à certains éléments d’un objet en lecture ou en
écriture.
Fonctionnalités : changer la valeur, redimensionner, rendre visible, faire clignoter,
changer la couleur… d’éléments de la face avant
Permet l’accès aux propriétés d’un objet de la face avant
Intérêts : pouvoir modifier par programmation l’apparence des objets de la face
avant en réponse à certaines commandes
Exemple
Clignoter une led lors de la saisie d’un mauvais mot de passe
Changer la couleur d’un thermomètre suivant les consignes des valeurs de la
température
afficher/masquer des objets de la face avant
Dans la programmation Labview, les nœuds de propriété sont très
puissants et ont de nombreux usages
Adnen .A Programmation LabVIEW FSM 2023 166
Partie 5 : Les interfaces dynamiques
Les nœuds de propriété: création
1- Dans le diagramme, menu Contrôles d’application dans la palette Fonctions
2- Clic droit pour lier avec un objet ou terminal
Dans un premier temps il faut
relier le nœud de propriété à
un objet précis.
Dans un second temps il faut
choisir les propriétés de
l’objet qui nous intéressent.
mais elle n’est associée à
aucun terminal !
Adnen .A Programmation LabVIEW FSM 2023 167
Partie 5 : Les interfaces dynamiques
Les nœuds de propriété: création d’alternative
Clic droit sur le terminal puis créer le nœud de propriété puis choisir la propriété
Adnen .A Programmation LabVIEW FSM 2023 168
Partie 5 : Les interfaces dynamiques
Les nœuds de propriété:
Propriétés
Un nœud de propriété se crée sur le diagramme
Un nœud de propriété est lié implicitement à son objet de la face avant
Un nœud de propriété à par défaut l’étiquette de son objet qu’on peut la
modifiée
Un objet ou terminal peut avoir plusieurs nœuds de propriété
Un nœud de propriété peut avoir une ou plusieurs propriétés
(redimensionner)
Chaque terminal du nœud de propriété est associé à une propriété différente
Les nœuds de propriété exécutent tous les terminaux dans
l’ordre, du haut en bas.
Adnen .A Programmation LabVIEW FSM 2023 169
Partie 5 : Les interfaces dynamiques
Les nœuds de propriété:
Utilisation
Mode lecture: pour obtenir l’état actuel (les informations) de la propriété de
l’objet
Mode écriture : pour définir l’état (les informations) de la propriété de l’objet
Exemple : Visible
Nœud de propriété d’une
commande numérique avec la
propriété Visible en mode
écriture
Adnen .A Programmation LabVIEW FSM 2023 170
Partie 5 : Les interfaces dynamiques
Les nœuds de propriétés: utilisation des clusters
Cluster :
Plusieurs propriétés accessibles avec les fonctions de cluster
Exemple :
Assembler pour écrire des données dans ces propriétés groupées (ex. left, top)
Désassembler pour lire les données de ces propriétés (ex. left, top)
Attention!!!
Nœud en écriture définir les information de la propriété
Nœud en lecture obtenir des information sur la propriété
Remarque
Pour accéder à l’ensemble des propriétés sélectionner tous les éléments du menu
local
Adnen .A Programmation LabVIEW FSM 2023 171
Partie 5 : Les interfaces dynamiques
Les nœuds de propriétés: Exemple
Lecture des Propriétés des clusters
Propriété Position { Gauche, Haut}
On peut accéder à ces propriétés de deux
manières différentes
accès individuelle : pas d’utilisation de cluster accès à tous les éléments
désassembler
Adnen .A Programmation LabVIEW FSM 2023 172
Partie 5 : Les interfaces dynamiques
Les nœuds de propriétés: Position/Cluster
Désassembler tous les éléments de la
propriété Position
(0,0)
L’élément gauche et Haut de la propriété
Position
Adnen .A Programmation LabVIEW FSM 2023 173
Partie 5 : Les interfaces dynamiques
Les nœuds de propriétés: Clignotant
Écrire un VI qui permet de clignoter la valeur indicateur si cette valeur est > 20
Adnen .A Programmation LabVIEW FSM 2023 174
Partie 5 : Les interfaces dynamiques
Les nœuds de propriétés: Couleur de remplissage
Propriété du Thermomètre : « couleur Remplissage », « valeur »
Adnen .A Programmation LabVIEW FSM 2023 175
Partie 5 : Les interfaces dynamiques
Les Commandes énumérations
Pour créer une cmd énum:
Cmd-- >> Menu Dérou -- >> Enum
Pour éditer les éléments :
Enum -->> clic droit -- >> éditer les éléments
2
Adnen .A Programmation LabVIEW FSM 2023 176
Partie 5 : Les interfaces dynamiques
Les constantes énumérations
1
Créer une cnste énum:
Fonctions-- >> Numérique -- >> Cnste énum
Editer les éléments :
Cnste énum -->> clic droit -- >> avancée -- >> Personnaliser -- >> clic droit sur énum --
>> Editer les éléments
5
2
Adnen .A Programmation LabVIEW FSM 2023 177