Académique Documents
Professionnel Documents
Culture Documents
Responsables du projet :
Cécile Boré, enseignante en anglais, cecile.bore@iut.u-bordeaux3.fr
Philippe Métayer, enseignant en électronique, philippe.metayer@iut.u-bordeaux3.fr
http://src.iut.u-bordeaux3.fr
Instrumentation Virtuelle avec LabVIEW
http://src.iut.u-bordeaux3.fr
Objectifs du cours
• Comprendre les composants d'un Instrument Virtuel (appelé VI)
• Présenter LabVIEW et les fonctions communes de LabVIEW
• Établir une application simple d'acquisition de données
• Créer un sous-programme dans LabVIEW
• Travailler avec les tableaux, les clusters et les structures
• Connaître les dispositifs d’impression et de documentation
• Développer des architectures de programmation de base
• Publier les VIs (Instruments Virtuels) sur le Web
http://src.iut.u-bordeaux3.fr
Partie I
• Vocabulaire LabVIEW
• Composants d’une application LabVIEW
• Outils de programmation LabVIEW
• Créer une application LabVIEW
http://src.iut.u-bordeaux3.fr
Les programmes LabVIEW sont appelés Instruments
Virtuels ou Virtual Instruments (VIs)
Face avant
• Contrôles = Entrées
• Indicateurs = Sorties
Diagramme
• Programme complémentaire
de la face avant
• Interaction entre face avant
et diagramme
http://src.iut.u-bordeaux3.fr
Face avant d’un VI
Barre d’outils
de la face Icones
avant
Contrôle Légende
booléen
des courbes
du graphique
Graphique
Grandeurs en
Echelle
abscisse et en
ordonnée
http://src.iut.u-bordeaux3.fr
Diagramme d’un VI
Barre
d’outils
du Fonction
diagramme division
sous-VI
Terminal
graphique
Fil de
données
http://src.iut.u-bordeaux3.fr
Les VI Express, les VI et les Fonctions
• Les VI Express : VI interactifs avec une page de dialogue configurable
• Les VI Standards : VI qui peuvent être personnalisés
• Les Fonctions : éléments d’exploitation fondamentaux de LabVIEW
Function
VI Express VI Standard
http://src.iut.u-bordeaux3.fr
Palettes de commandes et de fonctions
Palette de commandes
(Fenêtre face avant)
Palettes de fonctions
(Fenêtre diagramme)
http://src.iut.u-bordeaux3.fr
Palette d’outils
• Palette flottante
• Utilisée pour agir et modifier les objets de la
face avant et du diagramme
http://src.iut.u-bordeaux3.fr
Barre d’état
Bouton Exécution
Autres boutons dans
Bouton Exécution continue la barre d’outils du
Bouton d’Arrêt d’exécution diagramme
Bouton Pause/Reprendre Bouton de surbrillance
d’exécution
Configuration du texte
Lancer une exécution
Aligner les objets pas à pas
http://src.iut.u-bordeaux3.fr
Ouvrir et exécuter un VI
Le chercheur d’exemples
http://src.iut.u-bordeaux3.fr
Créer un VI
Fenêtre de la face avant
Fenêtre du diagramme
Terminaux Terminaux
de contrôle d’indicateur
http://src.iut.u-bordeaux3.fr
Créer un VI
http://src.iut.u-bordeaux3.fr
Astuces de connections
Points de Connections Trois types de sélection :
Utilisation du
routage
automatique Mise en forme des connections
http://src.iut.u-bordeaux3.fr
Programmation par Flux de Données
• L’exécution du diagramme
dépend du flux de données; il
ne s’exécute pas de gauche à
droite ;
• L’exécution du noeud se fait
quand les données sont
disponibles à tous les
terminaux d’entrée ;
• Puis les noeuds fournissent des
données à tous les terminaux
de sortie.
http://src.iut.u-bordeaux3.fr
Les options d’aide
Aide Contextuelle
• Aide en ligne
• Aide verrouillée
• Choix du mode de l’aide
(simple ou détaillée)
• Ctrl + H
Référence en ligne
• Accès à l’intégralité des menus
• Ouverture automatique d’une fenêtre pour accéder directement à l’aide.
http://src.iut.u-bordeaux3.fr
Exercice 1 - Conversion °C en °F
http://src.iut.u-bordeaux3.fr
Techniques de débuggage
• Trouver des erreurs
Cliquer sur le symbole de la flèche coupé
Une fenêtre Windows apparaît avec les erreurs
• Animer l’exécution
Cliquer sur le bouton; les données dans des
bulles sont animées. Des valeurs sont alors
indiquées sur les fils.
• Sonde (Probe)
Cliquer droit sur le fil pour afficher une
sonde. Les données qui transitent sur ces
fils seront affichées.
http://src.iut.u-bordeaux3.fr
Partie II – les sous VIs
http://src.iut.u-bordeaux3.fr
Noeud du Diagramme
Icône Nœud expansable Noeud expansé
http://src.iut.u-bordeaux3.fr
Sous VIs
• Un sous VI est un VI qui peut être utilisé dans un
autre VI
• Similarité avec une subroutine
• Avantages
– Modularité
– Facilite le débuggage
– Nécessite une seule création de code
– Nécessite peu de mémoire
http://src.iut.u-bordeaux3.fr
Icônes et Connecteurs
Icon
• Une icône représente un VI dans un
autre diagramme.
Terminals
• Un connecteur montre les terminaux
disponibles pour le transfert de données.
Connector
http://src.iut.u-bordeaux3.fr
Sous VIs Sous VIs
http://src.iut.u-bordeaux3.fr
Étapes de création d’un sous VI
• Créer l’icône
• Créer le connecteur
• Assigner les terminaux
• Sauvegarder le VI
• Insérer le VI dans un VI de plus haut niveau
http://src.iut.u-bordeaux3.fr
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
http://src.iut.u-bordeaux3.fr
Créer le connecteur
Cliquez avec le bouton droit sur l’icône ( face
avant seulement)
http://src.iut.u-bordeaux3.fr
Nommer les terminaux
http://src.iut.u-bordeaux3.fr
Sauvegarde du VI
• Choisir un emplacement facile à retenir
• Organiser par Fonctionnalités
– Sauvegarder les VIs similaires dans un même répertoire (ex : Outils
Mathématiques)
• Organiser par Applications
– Sauvegarder tous les VIs utilisés pour une application spécifique dans
un répertoire ou une librairie.
(ex. Expérience 1 Réponse en fréquence)
• Les librairies (.llbs) combinent plusieurs VIs dans un seul fichier, ceci est idéal
pour transférer des applications complètes vers d’autres ordinateurs.
http://src.iut.u-bordeaux3.fr
Insérez le sous VI dans un VI de niveau supérieur
Accès aux sous-VIs personnels
Fonctions >> All Fonctions >> Select un VI
Ou
Faire glisser l’icône sur le diagramme
cible
http://src.iut.u-bordeaux3.fr
Astuces pour travailler dans LabVIEW
• 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 fenêtre Face Avant et le Diagramme
– <Ctrl+Z> – Annuler (aussi dans le menu Edition)
http://src.iut.u-bordeaux3.fr
Partie III – Acquisition de données
• Acquisition de données de Carte DAQ
base (DAQ)
• Signaux
• Application simple de DAQ
Ordinateur
Capteurs
Câble
Bloc terminal
http://src.iut.u-bordeaux3.fr
Acquisition de données avec LabVIEW
http://src.iut.u-bordeaux3.fr
DAQ – Acquisition de données
Acquisition de la température grâce à l’assistant DAQ
http://src.iut.u-bordeaux3.fr
Terminologie de l’acquisition de données
• Résolution – détermine la valeur minimale de la
variation de tension pouvant être mesurée.
– Plus la résolution est importante, plus la représentation du signal est
précise.
• Gamme – Tensions minimales et maximales
– Plus la gamme est petite, plus la représentation du signal est précise.
• Gain – Amplifie ou atténue le signal afin de l’adapter
au mieux à la gamme
http://src.iut.u-bordeaux3.fr
Connexions matérielles
SC-2075
BNC-2120
NI-ELVIS
SCB-68
http://src.iut.u-bordeaux3.fr
Exercice 2 : Acquisition de données simples.
Compléter le convertisseur C to F.vi, puis créer le
thermometre.vi
http://src.iut.u-bordeaux3.fr
Partie IV – Boucles et diagrammes
• Boucle “For”
• Boucle “While”
• Graphiques
• Affichages de plusieurs graphiques.
http://src.iut.u-bordeaux3.fr
Les boucles
• La boucle While
– Possède un compteur
d’itération
– S’exécute toujours au moins
une fois
– S’exécute selon des
paramètres de conditions
• La boucle For
– Possède un compteur d’itération
– S’exécute N fois (N
paramétrable)
http://src.iut.u-bordeaux3.fr
Les boucles (suite)
1. Choisissez votre boucle 2. Encadrer le code qui doit être répété
http://src.iut.u-bordeaux3.fr
Graphiques
http://src.iut.u-bordeaux3.fr
Techniques de connexion dans les graphiques
Plusieurs courbes
Une seule courbe
http://src.iut.u-bordeaux3.fr
Exercice 3 – Utilisation d’une boucle
Les étudiants construisent “Use a loop.vi”
http://src.iut.u-bordeaux3.fr
Partie V – Tableaux et fichiers
http://src.iut.u-bordeaux3.fr
Ajouter un Tableau à la Face Avant
A partir de la sous-palette Controls >> All
Controls >> Array and Cluster, sélectionnez le
type de Array
http://src.iut.u-bordeaux3.fr
Ajouter un Tableau (suite)
Placez un objet dans le tableau
(Ex : Contrôle Numérique)
http://src.iut.u-bordeaux3.fr
Créer un tableau avec une Boucle
http://src.iut.u-bordeaux3.fr
Créer des tableaux 2D
http://src.iut.u-bordeaux3.fr
Fichiers
Fichiers – passer des données vers et depuis des fichiers
- Les fichiers peuvent être des éléments binaires, du texte, ou
des tableaux.
- Écrire / lire le fichier LabVIEW Measurements (*.lvm)
Écrire dans un fichier Lire un fichier LVM
LVM
http://src.iut.u-bordeaux3.fr
Écrire dans un fichier LabVIEW Measurement
• Inclut les fonctions ouvrir, écrire, fermer et gerer les erreurs.
• Gère le formattage des chaînes avec soit une tabulation soit
une virgule comme délimiteur.
• La fonction Merge Signals sert à combiner des données dans
un type de données dynamiques.
http://src.iut.u-bordeaux3.fr
Exercice 4 – Analyser et stocker des données
Les étudiants créent Temperature Logger.vi
http://src.iut.u-bordeaux3.fr
Partie VI – Fonctions des Tableaux et Graphiques
http://src.iut.u-bordeaux3.fr
Les fonctions d’un tableau – les bases
Functions >> All functions>> Array
http://src.iut.u-bordeaux3.fr
Les fonctions du tableau – Construire un tableau
http://src.iut.u-bordeaux3.fr
Les Graphiques
• Sélectionner depuis la palette Graphique le menu des
Contrôles
Controls>>All Controls>>Graphs
http://src.iut.u-bordeaux3.fr
Graphiques
http://src.iut.u-bordeaux3.fr
Exercise 5 – Utilisation de Graphiques de Forme
d'onde
http://src.iut.u-bordeaux3.fr
Partie VII – Chaînes de caractères, clusters et
traitement d’erreurs
• Chaînes de caractères
• Création de clusters
• Fonctions des clusters
• Erreur Entrée/Sortie
http://src.iut.u-bordeaux3.fr
Chaîne de caractères (string)
• Une chaîne de caractères est une séquence de caractères (ASCII) affichables ou
non.
• Utilisations possibles : affichage de messages, contrôle d'instruments, fichiers
d’entrée/sortie
• Les contrôles ou indicateurs de chaînes sont dans le menu : Controls >> Text Control
ou Text Indicator
http://src.iut.u-bordeaux3.fr
Clusters
• Structures de données qui regroupent des données
• Les données peuvent être de différents types
• Structure analogue à l’instruction struct en C
• 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
http://src.iut.u-bordeaux3.fr
Créer un cluster
1. Sélectionner un modèle de cluster
Controls >> All Controls >> Array & Cluster
2. Placer des objets dans le cluster
http://src.iut.u-bordeaux3.fr
La fenêtre Clusters
• Dans le sous-menu Clusters de la palette
Functions>>All functions
• Egalement accessible par clic droit sur un terminal
de cluster dans la fenêtre BlockDiagram
(Type de données)
Bundle
(Etiquette)
Bundle By Name
La fenêtre Fonctions
Unbundle
Unbundle By Name
Unbundled cluster
in the diagram
Clusters d’erreurs
• Un cluster d’erreur contient les informations
suivantes:
– Boolean rapporte si une erreur se produit
– Integer rapporte le code spécifique de l’erreur
– String donne des informations sur l’erreur
Techniques de manipulations 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
Clusters d’erreurs
http://src.iut.u-bordeaux3.fr
Partie VIII – Structures Case et Sequence,
Noeuds de Formule
http://src.iut.u-bordeaux3.fr
Structure Case
• Dans la sous palette de structures de la palette de fonctions
• Enfermez les noeuds ou glissez-les à l'intérieur de la structure
• Empilé comme un pont de cartes, uniquement un seul cas visible
Fonctions >> Execution control
Exercice 6 – Cluster d’erreurs et Manipulation
Structure Sequence
• Palette Functions et sous palette Execution Control.
• Exécuter le diagramme de façon séquentielle.
• Clic droit pour ajouter une nouvelle « image ».
Nœuds de formules
• Dans la sous-palette Structures
• Implémenter des équations compliquées
• Les variables sont créées sur le bord
• Les noms de variables sont sensibles à la casse.
• Chaque énoncé doit se terminer par un point virgule (;)
• La fenêtre d’aide contextuelle montre des fonctions
disponibles.
Point-virgule
Partie IX – Impression et documentation
• Imprimer depuis le fichier imprimer du menu, HTML, Rich Text
File.
• Programmation d’impression de graphiques ou image de la face
avant.
• Document VI dans VI Properties » Documentation Dialog
• Ajouter des commentaires utilisant des labels gratuits dans la
face avant et diagramme.
http://src.iut.u-bordeaux3.fr
Impression
• File » Print …. Les différentes options d’impression
– Choisir l’icône d’impression, face avant, diagramme, hiérarchie VI,
incluant les sous VI, historique des VI.
– Impression du panneau VI (impressions programmables de la face
avant)
– Functions » All Functions » Application Control
• Générer et rapports d’impression (Functions » Output » Report)
http://src.iut.u-bordeaux3.fr
Se documenter sur les VI
• Propriétés du VI » Documentation
– Fournit une description et une aide à propos du VI
• Propriétés du VI » Historique
– Enregistre les changements des différentes versions d’un VI
• Contrôles Individuels » Description et Conseil…
– Clic droit pour avoir une description et une bulle
d’information
• Utiliser la qualification d’outils pour expliquer la face-
avant & le diagramme
http://src.iut.u-bordeaux3.fr
Partie X – Architecture de la programmation
basique
• L’architecture simple du VI
• L’architecture générale du VI
• L’architecture de machine d’états
http://src.iut.u-bordeaux3.fr
L’architecture simple du VI
• Le VI fonctionnel présente des résultats probants
– Pas d’option marche/arrêt
– Convient pour les tests labo, calculs
• Exemple: Convert C to F.vi
http://src.iut.u-bordeaux3.fr
L’architecture générale du VI
• Trois étapes principales
– Mise en marche
– Application principale
– Fermeture
http://src.iut.u-bordeaux3.fr
L’architecture de machine d’états
• Avantages
– Possibilité de changer d’état
– Modification et débuggage facile
• Inconvénients
– Pertes possibles d’événements s’il y en a deux qui
arrivent en même temps
Les états:
0: Démarrage
1: Inoccupé
2: Evénement 1
3: Evénement 2
4: Arrêt
http://src.iut.u-bordeaux3.fr
Exercise 7 – Simple State Machine
http://src.iut.u-bordeaux3.fr
Partie XI - Panneaux de contrôle à distance
• Visualisation et contrôle de la face avant d’un programme
LabVIEW, à partir d’un navigateur Web
• Pas de programmation nécessaire
• Les clients éloignés observent directement les changements et
mises à jours des programmes LabVIEW.
• Plusieurs clients peuvent regarder la même face avant
simultanément.
• Un seul client à la fois peut contrôler la face avant à distance.
http://src.iut.u-bordeaux3.fr
Outil de publication de face avant sur le Web
•Outils» outil de publication Web (Web Publishing Tool)
http://src.iut.u-bordeaux3.fr
Panneau de contrôle à distance - Ressources
• NI Developer Zone
(zone.ni.com)
- Recherche de panneaux de
contrôle à distance
- Téléchargement de Tutoriaux
et Instructions
- Support sur l’incorporation de
Webcams dans les panneaux
de contrôle à distance.
http://src.iut.u-bordeaux3.fr
Partie XII – Sujets Complémentaires
• Noeuds de Propriétés
• Variables Locales
• Variables Globales
• DataSocket
• Fichiers Binaires E/S
http://src.iut.u-bordeaux3.fr
Pour aller plus loin…
• Exemples de programmes (Help» Find Examples…)
• LabVIEW Version Etudiants ( www.ni.com/labviewse )
• Ressources Web ( www.ni.com )
– Zone Développeur NI ( www.zone.ni.com )
– Notes d’Application
– Info-labview newsgroup ( www.info-labview.org/ )
– Bibliothèque des drivers des instruments ( www.ni.com/idnet )
http://src.iut.u-bordeaux3.fr