Vous êtes sur la page 1sur 36

LABVIEW

Bases de la programmation

Module ARS4

GP - 2010
Introduction

 LabVIEW : Environnement de programmation graphique dédié à la mesure, au


Introduction test, à l’instrumentation et à l’automatisation.

 Fonctions de base proposées par l’environnement LabVIEW


Environnement

Création d’un VI
stockage des données
Création d’un
sous VI

Structures de
programmation
Présentation données Analyse et traitement des Acquisition / restitution
Les tableaux données des données
(IHM)

Les clusters

Echange et exportation
Les graphiques des données

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Environnement / Instrument Virtuel

Les programmes LABVIEW sont appelés « Instruments Virtuels » (VI). Un


instrument virtuel est un instrument de mesure contrôlé à partir d’un ordinateur
Introduction (instrument réel simulé par un ordinateur).

Environnement

Création d’un VI  Face avant


• Commandes = Entrées
Création d’un • Indicateurs = Sorties
sous VI

Structures de
programmation

Les tableaux

Les clusters
 Diagramme
• Programme complémentaire
Les graphiques
de la face avant
• Interaction entre face avant
La mémorisation
des données et diagramme

Ressources

Labview – Bases de la programmation


Environnement / Face Avant d’un VI

Face avant : Interface utilisateur du VI

Introduction  Indicateurs :
- Affichent les données
Environnement
- Dispositif de sortie de l’instrument (LED, Grapiques …)
 Commandes :
Création d’un VI
- Fournissent les données
- Dispositif d’entrée de l’instrument (Boutons poussoirs, Glissières …)
Création d’un
sous VI
Barre d’outils Icones
de la face
Structures de
avant
programmation

Les tableaux
Légende
des courbes
Commande du graphique
Les clusters booléenne

Graphique
Les graphiques

La mémorisation Grandeurs en
des données abscisse et en
ordonnée Echelle
Ressources

Labview – Bases de la programmation


Environnement / Diagramme d’un VI

Diagramme : Code source en langage graphique

Introduction  Composants d’un diagramme :


- Les terminaux d’entrée/sortie (Objets de la face avant)
Environnement
- Les structures de contrôle
- Les noeuds (fonctions, VI Express et VI Standard)
- Les connections filaires
Création d’un VI

Création d’un
sous VI Barre Fonction
d’outils division
Structures de du diagramme
programmation

Terminal
Les tableaux sous-VI graphique

Les clusters

Fil de
Les graphiques données

La mémorisation
des données Structure d’une
boucle tant que
Ressources
Constante Terminal de
numérique Fonction minuteur contrôle booléen

Labview – Bases de la programmation


Environnement / Les noeuds

Nœuds : Unité de traitement élémentaire qui possèdent des connexions d’entrée et


des connexions de sortie
Introduction

Environnement
 Les VIs Express (fond bleu) : VI
interactifs avec une page de dialogue
Création d’un VI configurable

Création d’un
sous VI

Structures de
programmation
 Les VIs Standards (fond jaune) : VI qui
Les tableaux peuvent être personnalisés

Les clusters

Les graphiques

 Les fonctions : éléments d’exploitation


La mémorisation
des données fondamentaux de LABVIEW

Ressources
Remarque : un nœud peut être représenté par un icône, un nœud expansable ou
un nœud expansé.
Labview – Bases de la programmation
Environnement / Les palettes

 Palette de commande  Palette de fonctions  Palette d’outils

Sélection
Introduction automatique

Environnement Connexion
Texte

Création d’un VI
Sonde
Création d’un
sous VI

Cette palette est disponible à


Structures de partir du diagramme ou de la
programmation face avant.
 Utilisée pour agir et
Les tableaux modifier les objets de la face
avant et du diagramme

Les clusters

Cette palette n’est disponible


qu’à partir de la fenêtre « face
Les graphiques
avant »
 Placement des objets sur la
La mémorisation face avant
des données
Cette palette n’est disponible qu’à
partir de la fenêtre
Ressources « diagramme »
 Construction du diagramme

Labview – Bases de la programmation


Environnement / La barre d’état

Cette barre est visible à la fois sur la face avant et le diagramme.

Introduction

Environnement
 Fonctionnalités d’exécution  Fonctionnalités d’éxécution en mode débug

Création d’un VI Bouton Exécution Bouton de surbrillance d’exécution

Création d’un Bouton Exécution continue Lancer une exécution pas à pas
sous VI
Bouton d’Arrêt d’exécution Progresser dans l’exécution pas à
Structures de pas
programmation Bouton Pause/Reprendre
Stopper une exécution pas à pas
Les tableaux

 Fonctionnalités d’édition
Les clusters
Configuration du texte
Les graphiques
Aligner les objets
La mémorisation Distribuer les objets
des données
Réorganiser
Ressources
Redimensionner les objets de la face avant

Labview – Bases de la programmation


Création d’un VI / Méthode

 Fenêtre de la face avant

Introduction
On dispose les objets sur la face avant.
Pour chaque objet disposé sur la face avant, un
Environnement
terminal est créé dans le diagramme.
Objet de type commande  Terminal d’entrée
Création d’un VI
Objet de type indicateur  Terminal de sortie
Création d’un
sous VI

Structures de  Fenêtre du diagramme


programmation
Terminaux Terminaux
On ajoute au diagramme les nœuds et les d’entrée de sortie
Les tableaux structures de contrôle.
On réalise les connexions grâce à l’utilisation
Les clusters de l’outil « connexion » de la palette « outil ».
Un terminal d’entrée est représenté avec une
Les graphiques
bordure en gras et une flèche à droite.
La mémorisation Un terminal de sortie est représenté avec une
des données bordure fine et une flèche à gauche.

Ressources La couleur du terminal renseigne sur le type de Outil de


donnée. connexion

Labview – Bases de la programmation


Création d’un VI / Programmation par flux de données

 Langage classique (textuel):


Introduction
Les instructions écrites s’exécutent séquentiellement.

 Langage Labview : programmation par flux de données


Environnement
- L’exécution du diagramme dépend du flux de données. Il ne s’exécute pas
forcément de gauche à droite
Création d’un VI
- L’exécution du noeud se fait quand les données sont disponibles à tous les
Création d’un terminaux d’entrée
sous VI - Puis les noeuds fournissent des données à tous les terminaux de sortie.
Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Création d’un VI / Les options d’aide

Quand on déplace le curseur sur les objets de la face avant et du diagramme, la fenêtre
d‘aide contextuelle affiche les icônes des sous VI, des fonctions, des constantes, des
Introduction
commandes et des indicateurs, avec le descriptif des entrées et sorties.

Environnement

Création d’un VI
 Aide Contextuelle
Création d’un • Aide en ligne
sous VI
• Aide verrouillée
Structures de • Choix du mode de l’aide
programmation
• Ctrl + H

Les tableaux

Les clusters

 Référence en ligne
Les graphiques - Accès à l’intégralité des menus
- Ouverture automatique d’une fenêtre pour accéder directement à l’aide.
La mémorisation
des données

Ressources

Labview – Bases de la programmation


Création d’un VI / Techniques de débuggage

 Trouver des erreurs


Introduction

Cliquer sur le symbole de la flèche coupé


Environnement Une fenêtre Windows apparaît avec les erreurs

Création d’un VI
 Animer l’exécution
Création d’un
sous VI
Cliquer sur le bouton; les données dans des bulles sont
Structures de animées. Des valeurs sont alors indiquées sur les fils.
programmation

Les tableaux  Placer des sondes

Les clusters

Cliquer droit sur le fil pour afficher une sonde. Les données qui
Les graphiques transitent sur ces fils seront affichées.

La mémorisation Vous pouvez également choisir l'outil Probe (Sonde) à partir de la


des données palette d'outils.

Ressources

Labview – Bases de la programmation


Création d’un sous VI / Qu’est ce qu’un sous VI ?

 Un sous VI est un VI qui peut être utilisé dans un autre VI

Introduction
 Similarité avec une subroutine

Environnement  Avantages
– Modularité
– Facilite le déboggage
Création d’un VI
– Nécessite une seule création de code
– Nécessite peu de mémoire
Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Création d’un sous VI / Les étapes à respecter

 Créer une documentation : la documentation


Introduction d’un VI permet de décrire succintement sa fonction.
Pour créer cette documentation, cliquer avec le bouton droit
Environnement
sur l’icône de la face avant et accéder à la rubrique
« Propriétés du VI / Catégorie / Documentation ».

Création d’un VI

Création d’un
sous VI  Créer une icône : une icône représente un VI
dans un autre diagramme.
Structures de
programmation
Pour créer cette icône, cliquer avec le bouton droit sur
l’icône de la face avant et accéder à la rubrique « Editer
l’icône ».
Les tableaux

Les clusters  Créer le connecteur : le connecteur montre les


terminaux disponibles pour le transfert des données.
Les graphiques Pour créer ce connecteur, cliquer avec le bouton droit sur
l’icône de la face avant et accéder à la rubrique « Visualiser
La mémorisation le connecteur ». Cliquer à nouveau avec le bouton droit sur
des données le connecteur affiché par défaut et choisir un « modèle »
adapté.
Ressources Pour nommer les terminaux, attribuer chaque zone de
connexion à un indicateur ou une commande de la face avant.

Labview – Bases de la programmation


Création d’un sous VI / Sauvegarde et rappel d’un sous VI

 Sauvegarde d’un sous VI

Introduction - Choisir un emplacement facile à retenir


- Organiser par fonctionnalités :
Environnement Tous les VIs de mêmes nature dans le même répertoire
- Organiser par application :
Création d’un VI
Tous les VIs utilisés pour une application spécifique dans un répertoire ou
Création d’un une librairie.
sous VI

Structures de  Rappel d’un sous VI


programmation
Pour accéder aux sous VI personnels,
Les tableaux

On peut cliquer sur : Fonctions/Selection d’un VI


Les clusters

Les graphiques On peux également faire glisser l’icône d’un VI (si il est
ouvert) dans un autre VI. Le premier VI deviendra alors
La mémorisation le sous VI du deuxième.
des données

Ressources

Labview – Bases de la programmation


Structures de programmation

Les structures de programmation sont accessibles depuis le menu


Fonction/Programmation/Structures. On distingue les structures suivantes :
Introduction

1 2
Environnement  Deux structures de répétition
- La boucle FOR (1)
Création d’un VI
- La boucle WHILE (2)
Création d’un
sous VI
 Une structure conditionnelle 3
Structures de
- La structure Case (3) 4
programmation
4 5

Les tableaux
 Une structure de séquencement (4)

Les clusters  Boîte de calculs (5)

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Structures de programmation / Structures de répétition

Introduction
 La boucle While
– Possède un compteur d’itération
Environnement – S’exécute toujours au moins une fois
– S’exécute selon des paramètres de
conditions
Création d’un VI

Création d’un
sous VI

Structures de
programmation
 La boucle For
Les tableaux – Possède un compteur d’itération
– S’exécute N fois (N paramétrable)
Les clusters

Les graphiques

La mémorisation
des données Pour mettre en œuvre une boucle de répétition dans la zone diagramme, il suffit
- de la sélectionner dans Fonctions/Programmation/Structures
Ressources
- d’encadrer le code à répéter

Labview – Bases de la programmation


Structures de programmation / Structures de répétition

 Exemple de mise en œuvre d’une boucle While


Introduction Attention : lors de la mise en œuvre d’une boucle, il faut veiller à bien placer les
terminaux d’entrée/sortie sur le diagramme.
Environnement

Modifications par l’utilisateur


Création d’un VI
prises en compte
Création d’un
sous VI

Structures de
programmation

Les tableaux

Valeur transmise Valeur obtenue


Les clusters
au premier tour de au dernier tour
boucle de boucle
Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Structures de programmation / Structures conditionnelle

 La structure CASE
Introduction
La structure CASE permet d’exécuter du code selon une valeur d’entrée qui
contrôle l’exécution.
Environnement

Elle est analogue à l’instruction « if - then - else » en langage C.


Création d’un VI
Exemple 1: Entrée booléenne
Création d’un
sous VI
Exemple 2: Entrée chaîne de caractères
Structures de
programmation Exemple 3: Entrée numérique

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données Exemple 1 Exemple 2 Exemple 3

Ressources

Labview – Bases de la programmation


Structures de programmation / Structures de séquencement

 La structure « séquence »
Introduction
Une structure séquence est utilisée lorsque l’on souhaite contrôler l’ordre
dans lequel les nœuds seront exécutés dans un diagramme. Il existe deux
Environnement types de structure « séquence »:
- Séquence empilée
Création d’un VI
- séquence déroulée

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters Exemple : séquence déroulée

Utilité de cette structure:


Les graphiques

Quelquefois, il est difficile de déterminer exactement l’ordre d’exécution d’un diagramme.


La mémorisation
des données Souvent, certains événements doivent se dérouler avant d’autres événements.
Quand on a besoin de contrôler l’ordre d’exécution des codes dans le diagramme, on
Ressources peut utiliser la structure Séquence.
La structure empilée est également très intéressante afin d’apporter une meilleure
lisibilité au programme. L’utilisation de variables locales de séquence est alors
nécessaire.
Labview – Bases de la programmation
Structures de programmation / Boîtes de calculs

 La boîte de calcul
Introduction
Une boîte de calcul permet de remplacer la description graphique d’une
opération mathématique par une description textuelle.
Environnement

Création d’un VI Point-virgule

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters
Pour ajouter des variables,
- cliquer droit
Les graphiques - choisir « Ajouter une entrée » ou « Ajouter une sortie ».

La mémorisation La formule doit être terminée par un point virgule.


des données

Quand plusieurs formules sont utilisées, chaque variable assignée (variable sur
Ressources
le coté gauche de la formule) doit avoir un terminal de sortie.

Labview – Bases de la programmation


Les tableaux / Création sur la face avant

 Pour créer un tableau sur la face avant, il faut :


Introduction - sélectionner un tableau dans
Commandes/Modernes/Tableau, Matrice et cluster/Tableau
Environnement
- glisser une commande ou un indicateur dans le tableau

Création d’un VI

Création d’un
sous VI

Structures de
programmation
Indice du
premier
Les tableaux élément visible

Les clusters

Les graphiques

La mémorisation
des données

Ressources
Tableau Tableau rempli Tableau rempli
vide de commandes d’indicateurs
numériques numériques

Labview – Bases de la programmation


Les tableaux / Remplissage d’un tableau 1D avec une boucle

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
Introduction
Illustration : Voir exemple ci-dessous
Environnement Tunnel de sortie 1
Auto-indexation activée

Création d’un VI

Création d’un
sous VI

Structures de
programmation
Tunnel de sortie 2
Auto-indexation
Les tableaux désactivée

 Tunnel de sortie 1: l’auto indexation est activée


Les clusters
Un tableau de 5 valeurs est transmis sur le tableau 3 sur le dernier tour de
boucle.
Les graphiques
 Tunnel de sortie 2 : l’auto indexation est désactivée
La mémorisation
des données La dernière valeur produite par le générateur pseudo aléatoire est transmise à
Numérique 3 sur le dernier tour de boucle.
Ressources
Remarque : On peut créer des tableaux 2D en imbriquant deux boucles FOR : l’une
pour la gestion des colonnes et l’autre pour la gestion des lignes.

Labview – Bases de la programmation


Les tableaux / Principales fonctions sur les tableaux

Différentes fonctions associées à la gestion des tableaux peuvent être récupérées


dans la palette Fonction (diagramme) : Fonctions/Programmation/tableau
Introduction

Environnement

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux  Principales fonctions :

Les clusters
Array Size : fournit la taille du tableau
Index Array : détermine la valeur située à l’indice spécifié en paramètre d’entrée
Les graphiques
Search 1D Array : Recherche l’indice correspondant à une valeur particulière
spécifiée en paramètre d’entrée.
La mémorisation
des données Build Array : fabrication d’un tableau à partir de plusieurs tableaux

Ressources

Labview – Bases de la programmation


Les clusters / Présentation

 Structure de données qui regroupent des données


Introduction
 Les données peuvent être de différents types

Environnement
 Structure analogue à l’instruction struct en langage C
 Les éléments doivent tous être, soit des commandes, soit des indicateurs
Création d’un VI  Cela est similaire au câblage de fils dans une même gaine
Création d’un
sous VI

Structures de
programmation

Les tableaux

Avantages :
Les clusters
- Regrouper des données dans des ensembles structurellement cohérents

Les graphiques
- Diminuer le nombre des connexions des VIs

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Les clusters / Création sur la face avant

 Pour créer un cluster sur la face avant, il faut :

Introduction - sélection un cluster vide dans le menu


Commandes/Moderne/Tableau, Matrice et Cluster/Cluster
Environnement - Déposer à l’intérieur les différents éléments constitutifs

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources
Cluster Cluster rempli Cluster rempli
vide de d’indicateurs
commandes

Labview – Bases de la programmation


Les clusters / Principales fonctions sur les clusters

 Assembler (par ordre) & Assembler par nom

Introduction Les fonctions d’assemblages permettent de regrouper divers


éléments dans un cluster ou de changer la valeur de certains
Environnement éléments d’un cluster existant

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation - Assemblage par ordre : plus compact


des données
- Assemblage par nom : plus clair
Ressources

Labview – Bases de la programmation


Les clusters / Principales fonctions sur les clusters

 Désassembler (par ordre) & Désassembler par nom

Introduction

Les fonctions d’assemblages permettent d’extraire des éléments


Environnement d’un cluster pour les utiliser individuellement.

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Les clusters / Les clusters d’erreurs

 Présentation
Les clusters d’erreurs permettent de gérer les erreurs produites par les sous VI du
Introduction
programme.

Environnement
Un cluster d’erreur contient les informations suivantes :
- status : un booléen qui renvoie la valeur Vrai si une erreur se produit.
- code : un entier qui fait référence à un code numérique correspondant à l'erreur.
Création d’un VI - source : une chaîne de caractères qui identifie le VI dans lequel l'erreur s'est produite.

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Les clusters / Les clusters d’erreurs

 Techniques de manipulation d’erreurs

Introduction - 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
Environnement exécutés de la façon habituelle
- Gestion d’erreur automatique

Création d’un VI Exemple : Lecture d’un port série

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données
Clusters d’erreurs
Ressources
Remarque : les clusters d’erreurs permettent également de garantir l’ordre
d’exécution des différents sous-Vis.

Labview – Bases de la programmation


Les graphiques / Différents types

Le graphique est un indicateur numérique. Il existe 3 principaux types de graphiques


sous Labview :
Introduction
 Graphe déroulant ou Waveform Chart : A chaque instant, le graphe ne reçoit
qu’une seule donnée à la fois. La donnée d’entrée n’est donc pas un tableau de
Environnement
valeurs. L’affichage des données sur le graphe peut s’apparenter au fonctionnement
d’une table traçante. Cet indicateur est forcément intégré dans une boucle.
Création d’un VI
 Graphe ou Waveform Graph : Ce graphe reçoit simultanément l’ensemble des
Création d’un données sous la forme d’un tableau de valeurs. Il affiche donc un vecteur de points.
sous VI
Son fonctionnement peut s’apparenter à celui d’un oscilloscope en mode y = f(t).
Structures de
programmation  Graphe XY : Ce graphe représente un tableau de données Y en fonction d’un
tableau de données X. Il reçoit donc simultanément l’ensemble des données sous la
Les tableaux forme de 2 tableaux de valeurs. Son fonctionnement peut s’apprenter à celui d’un
oscilloscope en mode XY.
Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Les graphiques / Personnalisation

Cliquer droit sur le graphique pour le personnaliser.


Introduction

Environnement

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


Les graphiques / Affichage multicourbes

Introduction
Une seule courbe Plusieurs courbes
Environnement

Création d’un VI

Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation


La mémorisation des données / Registres à décalage

Les registres à décalages sont associés au boucles itératives FOR et WHILE. Ils sont
utilisés comme mémoires locales afin de « récupérer » les valeurs calculées dans les
Introduction itérations précédentes.

Exemple n°1 : Filtre moyenneur


Environnement

Echantillon i
Création d’un VI Valeurs initiales
des registres
Création d’un
sous VI

Structures de
programmation

Les tableaux

Les clusters Valeur moyenne


Echantillon i-1
Echantillon i-2 sur 5 mesures
Les graphiques Echantillon i-3

La mémorisation
des données
Une autre utilisation du même style est la mise en œuvre de filtres numériques
Ressources (implantation élémentaire de l’équation récurrente) … On peut également citer leurs
utilisations dans le cadre du codage d’une machine d’états.

Labview – Bases de la programmation


La mémorisation des données / Variables locales

Les variables locales sont des duplications de terminaux d’entrée (commandes) ou de


sortie (indicateurs). Elles donnent la possibilité de pouvoir écrire ou lire n’importe quelle
Introduction variable (y compris lire des terminaux de sortie et écrire sur des terminaux d’entrée) à
n’importe quel endroit du programme (Elle évite l’utilisation d’une liaison filaire).
Environnement

Création d’un VI

Création d’un
sous VI

Structures de
programmation
Variable Variable locale Variable locale
locale sans affectée à une affectée à une
Les tableaux
affectation entrée sortie

Les clusters

On remarque qu’une variable locale peut indifféremment être configurée en


Les graphiques lecture ou en écriture qu’elle soit affectée à un terminal d’entrée ou de sortie.

La mémorisation Pour affecter une variable locale à un terminal (d’entrée ou de sortie), il faut
des données effectuer un clic gauche dessus et sélectionner le terminal souhaité.

Ressources

Labview – Bases de la programmation


Ressources documentaires pour la réalisation de ce cours

 Bibliographie :
Introduction
- Labview : programmation et applications, Francis Cottet, DUNOD
Environnement - Labview : Bases de programmation et Applications, Thierry Royant, CASTEILLA

Création d’un VI
 Webographie :
Création d’un - Site de National Instrument
sous VI

Structures de  Autre ressource :


programmation
- Instrumentation Virtuelle avec Labview, Philippe Métayer, IUT de Bordeaux
Les tableaux

Les clusters

Les graphiques

La mémorisation
des données

Ressources

Labview – Bases de la programmation

Vous aimerez peut-être aussi