GE S2 M5.3 Initiation Prog Graphique CRS Hanafi
GE S2 M5.3 Initiation Prog Graphique CRS Hanafi
GE S2 M5.3 Initiation Prog Graphique CRS Hanafi
1ère A N N E E
P O L Y C O P I E D E C O U R S
SOMMAIRE :
Ahmed Hanafi
ahmed.hanafi@usmba.ac.ma
2019 - 2020
CHAPITRE N°1 : INTRODUCTION A LABVIEW
1. PRESENTATION
LabVIEW est un environnement de développement complet, graphique, compilé et particulièrement bien adapté au
domaine de l'acquisition et de la mesure. Son approche totalement graphique offre une souplesse et une dimension
intuitive inégalée. Comparativement aux langages textuels, il offre la même puissance de programmation, mais sans
le côté abstrait et complexe lié à la syntaxe.
2. ENVIRONNEMENT LABVIEW
Les programmes LabVIEW sont appelés Instruments Virtuels ou Virtual Instruments (VI) à cause de leur apparence
et leur fonctionnement semblables à ceux d’instruments réels, tels que les oscilloscopes et les multimètres. On
distingue trois composantes dans un VI :
Face avant (Front Panel) : C'est l'interface utilisateur (UI : User Interface) qui contiendra :
▪ Les Contrôles qui représentent les entrées.
▪ Les Indicateurs qui représentent les sorties et les Diagrammes.
Block Diagramme : C'est la fenêtre de programmation et d’affichage du code source. Les objets de la face
avant apparaissent en tant que terminaux sur le diagramme et l'interaction entre face avant et diagramme se
fait par le raccourcis clavier (Ctrl+E) ou le sous-menu.
Icône/connecteur : C'est la représentation graphique d’un sous-VI ainsi que les moyens de connexion avec
les autres sous-Vis.
Indicateurs Contrôles
Terminaux
Constantes d’indicateurs
numériques (Sorties)
Terminaux de
contrôles
(Entrée)
Tableaux – Matrices
Clusters (Groupes) Graphes
Conteneurs
Menus déroulants
Listes énumérées Décorations
Boucles et Structures
(While – For – Case etc.) Fonctions sur chaines
de caractères
Fonctions numériques
Fonctions de
comparaison
Fonctions sur les graphes
Opérations E/S sur
fichiers
Synchronisation
(Temps réel) Fonctions son et image
Les fils associés aux variables servent à acheminer les données entre terminaux via les nœuds du VI. La circulation
des données est unidirectionnelle :
Commande Indicateur
Note : Épaisseur du fil indique la nature des données (scalaire, tableau 1D, tableau 2D)
Modularité : création de blocs de base réutilisable pour diverses applications pour un gain de productivité
Facilite le « débogage ».
Nécessite une seule création de code.
Icone du
sous-VI
Paterne du sous - VI
VI Principal
Sous – VI : « Calcul1.vi »
1. PALETTE STRUCTURES
Les 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 : For Loop et While Loop.
Les structures permettent d’organiser, de séquencer ou de conditionner les éléments d’un V.I : Timed structure,
Case structure et Event Structure.
Boucle FOR
Structure
CONDITION Structure EVENEMENT
Terminal de comptage
Entrée numérique définie par l’utilisateur et
qui indique le nombre total d’exécution
Terminal de sélection
numérique
Une chaine de caractère n'est pas uniquement utilisée pour la transmission et ou le traitement de messages textuels,
mais aussi pour la communication série de données comprenant entre autres des valeurs numériques :
Séparateur
Les contrôles ou indicateurs de chaînes sont dans le palette "String & Path" dans la face avant :
Longueur d'une Concaténer une Remplacer une portion de Formater une Balayer une
chaine chaine chaine chaine chaine
Exemple N°2 de formatage d'une chaine avec le formatage personnalisé %s %.2f %.2s :
Dans certains cas (par exemple, pour communiquer avec un instrument via le port série) il est nécessaire
d’avoir comme séparateur décimal un point et non une virgule. Il faut donc ajouter le format %.; :
L'exemple N°4 montre le balayage d'une chaine ainsi que la récupération d'une sous-chaine :
2. LES TABLEAUX :
Les tableaux combinent des données du même type dans une structure de données. Il est ainsi possible de construire
des tableaux de données numériques, de booléens, de chemins, de clusters, de chaînes de caractères, etc. 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 :
Chaque élément d’un tableau est accessible par son indice. Ainsi pour l'exemple ci-dessous, la valeur ou l’élément "12"
est à l’indice 0 et l’élément "56,9" est à l’indice 3 :
Tableau vide
▪ A partir de la palette "Functions" du Block Diagramme, sélectionner "Array Constant" de la palette "Array"
et la déposer dans le diagramme :
▪ Relier l'objet "Array constant" à l'objet "Array" et revenir à la face avant pour remplir le tableau :
▪ L'auto-indexation est activée par défaut pour les boucles FOR mais pas pour les boucles WHILE.
▪ Une itération de la boucle correspond à une donnée du tableau.
▪ Pour la création d'un tableau 1D, on utilise une boucle FOR auto-indexée Pour la c:
▪ Pour la création d'un tableau 2D, on utilise 2 boucles FOR auto-indexée imbriquées :
Boucle interne = création des colonnes et Boucle externe = création des lignes
Cluster Vide
(Face avant)
Cluster Control
(Diagramme)
▪ Glisser les objets de données ou les éléments, qui peut être numérique, booléen, chaîne, array, etc, dans le
shell du cluster.
▪ Sélectionnez une constante de cluster dans la palette "Functions" et placer le shell du cluster sur le
diagramme.
▪ Placez une constante de chaîne, une constante numérique, une constante booléenne ou Constante de cluster
dans le shell du cluster.
▪ Si vous avez un contrôle ou un indicateur de cluster sur la face avant et que vous souhaitez créer un "cluster
constante" contenant les mêmes éléments sur le diagramme, vous pouvez cliquer avec le bouton droit de la
souris sur le cluster dans la fenêtre Diagramme avant et sélectionnez Créer >> Constante :
Fonctions pour la
manipulation des
clusters
1. LES GRAPHES :
1.1. Types de graphes :
Les graphes sont des indicateurs numériques particuliers qui affichent une ou plusieurs courbes acquises à une
vitesse constante (dt ou Δx constant entre les données) :
Graphe
Graphe XY
Graphe numérique
▪ t0 : temps de départ qui peut être le Temps absolu ou le Temps relatif au départ de la mesure
▪ dt : incrément de temps entre les données
▪ Y : tableau 1D contenant les données à afficher.
Graphe déroulant
Oscillographe
Graphe à balayage
L'exemple d'application permet de convertir la température du degrés Fahrenheit au degré Celsius, tout en
représentant son évolution dans un graphe déroulant toutes les 0.1s :
Fonctions d'entrée/sortie sur des fichiers bas niveau comme des fichiers texte (*.txt) :
Fonctions d'entrée/sortie sur des fichiers haut niveaux appelés fichier LabVIEW Measurements (*.lvm),
à l'aide de VI Express :
L'utilisation des fichiers de haut niveau (*lvm) est préférable car ils gèrent de manière transparent les opérations
d’ouverture et de fermeture de fichier.
1. PROCEDURE D'INSTALLATION :
L’objectif est de vous présenter des techniques d’interfaçage de la carte Arduino UNO ou MEGA avec LabVIEW en
utilisant l'interface LabVIEW pour Arduino. La configuration de cette interface est un processus en six étapes :
e. Connecter ensuite votre Arduino à votre PC et détecter le port qui lui a été affecté :
f. Ouvrir le logiciel Arduino et Téléverser le micrologiciel de "LabVIEW Interface for Arduino" sur votre
Arduino. Le micrologiciel LIFA_Base.ino se trouve dans "C: \ Programmes \ National Instruments \
LabVIEW 201x \ vi.lib \ Interface LabVIEW pour Arduino \ Firmware \ LIFA_Base\" :
3. PROCEDURES ELEMENTAIRES.
3.1. Sortie digitale : allumage d'une LED
La carte Arduino possède une LED connectée au Pin 13.
Aussi, sans rien brancher, il est possible de créer un
premier programme (voir ci-dessous) permettant la
commande de cette LED via un commutateur graphique :
2
1 3 4 6 7 10
8 5 9
Note : Concernant le câblage, la couleur "magenta" représente la connexion courante avec la carte Arduino,
tandis que la couleur "vert ocre" représente le transfert des erreurs au gestionnaire d’erreurs.
: VISA ressource – contrôle permettant de sélectionner le port COM auquel est connectée la carte
Arduino.
: Set Digital Pin Mode - Configure si le Pin est une entrée ou une sortie. Dans notre cas, le Pin 13 est une
sortie.
: Digital Write Pin - Ecrit la valeur indiquée par le contrôle commande (Slide switch) sur le Pin digital
concerné (13).
: Arduino Close – Ferme la connexion avec la carte Arduino et le port COM correspondant.
: While Loop – Boucle While conditionée par un bouton Stop.
: Stop Button – Permet d'arrêter la boucle "While Loop".
: Simple Error Handler - Gestionnaire d’erreurs qui se trouve dans la palette "Dialog & Uer Interface".
Astuce : Pour créer les constantes, les contrôles ou les indicateurs, Clic droit Create :
1 2 3
5
6
4
: Analog Read Pin – Lit la tension présente à l'entrée analogique spécifiée (A0 – A5). Il est à remarquer que
ce contrôle donne une tension et pas un nombre compris entre 0 et 1023 en appliquant la relation V = q.
N10.
: Multiply – Retourne le produit de la tension fournit par le capteur avec 100 pour récupérer la valeur de la
température : T(°C) = V / S avec S = 10mV/°C.
: Gauge – Indicateur numérique permettant l'affichage de la valeur instantanée de la température. On le
retrouve dans la palette Silver/Numeric.
: Waveform Chart - Un type spécial d'indicateur numérique qui affiche un ou plusieurs tracés de données
généralement acquises à une vitesse constante. La configuration de ces propriétés est résumée par les
figures :
: Horizontal Fill Slide – Contrôle numérique permettant d'afficher des données numériques dans une
diapositive horizontale avec une échelle personnalisable. Dans notre cas, il permettra de régler l'intervalle de
répétition de la boucle et donc l'intervalle de mesure qui sera indiqué en secondes :
: Wait Until Next ms Multiple – Fonction temporisation permettant d'attendre un nombre de milliseconde
spécifiée en entrée (ce qui justifie la multiplication par 1000). Elle est utilisée pour fixer la fréquence
d'exécution de la boucle.