Vous êtes sur la page 1sur 106

INFORMATIQUE INDUSTRIELLE

Initiation à la programmation LabVIEW

2017/2018
Exercice 01 à 28

Intervenant : A. Maillard
alain.maillard@univ-lorraine.fr
Introduction à LabVIEW
Environnement LABVIEW
Face avant et diagramme
Lorsque l’on ouvre un nouveau VI une fenêtre de face avant et une fenêtre
de diagramme s’ouvre simultanément.

« Crtl » T
Barre d’outils de la face avant.
Barre d’outils du diagramme
Les 3 palettes de Labview
Palette d’outils
Palette de fonctions.
Familiarisez vous avec les fenêtres :
face avant et diagramme.

Dans le menu en haut à droite sélectionner HELP puis


Recherche d’exemples
dans l’onglet Search chargez FFT and Power spectrum units

Lancez le programme et modifiez les valeur des boutons avec l’outil


doigt.

Visualisez le programme.
Aide contextuelle.

Vous devez, lors de votre apprentissage de


LabVIEW, avoir cette aide contextuelle toujours
ouverte.
CREATION , MODIFICATION, MISE AU POINT
D’UN VI
Le diagramme est composé de nœuds, de terminaux, et de connexions.
Exercice 1.

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


Fahrenheit.

Sauvegardez ce VI comme « conversion CF.VI »


Solution exercice 1.
Techniques de modification
• Création d’objets : palette de contrôle ou clic droit sur un terminal puis
« créer »
• Dupliquer un objet : copier coller ou bien sélectionner l’objet ,<Ctrl> puis
tirer l’objet à sa position finale.
• Sélection de fils : clic 1, 2 ou 3 fois voir le résultat.
• Suppression des fils cassés <Ctrl> B
Raccourcis
Créer un sous VI
• Dans la fenêtre diagramme et de la face avant en haut à droit se trouve
une icône de forme carrée.
• Vous pouvez éditer l’icône en cliquant droit dessus « éditer icône »
• Pour réaliser un sous VI il faut définir un connecteur : dans la face avant en
cliquant droit sur l’icône « visualiser le connecteur ».
• Câbler les connecteurs aux terminaux (contrôle ou indicateur) que vous
utiliserez dans le VI principal.( tous ne seront pas nécessairement câblés).
Utilisez la bobine.
Exercice 2

• Définissez le programme précédent « conversion CF.VI comme un sous VI.


• Après avoir câblé le connecteur sauvegardez votre sous VI avec le nom :
« sous-vi conversion CF » et fermez le.
• Vous pourrez par la suite, appeler ce sous-VI en allant dans la palette de
fonctions dans le sous menu « sélectionnez un VI » ou bien par un copier-
coller à partir d’un programme ou il apparaît.

Exercice 3
Exercice 4:
Créez la face avant suivante et utilisez votre sous VI pour réaliser la conversion
C=>F
Remplacer ensuite la commande « Température en degré C » de la face avant par une
valeur aléatoire, comprise entre 1 et 100 dans le diagramme.
BOUCLES & GRAPHES DEROULANTS
• Dans la sous palette « structures » de la palette « fonctions » vous trouvez
les boucles « for » et « while »
• La boucle « for » réalise N tours en comptant à partir de i=0
• La boucle « while » s’effectue tant que la condition d’arrêt n’est pas
activée. De même que précédemment le premier tour de boucle part de
i=0
Ou Clic droit sur le graphe et propriété
Exercice 5 : Multigraphe.
Réalisez le programme suivant:
Le sous VI Temp sera constitué par un générateur aléatoire entre 1 et 100.
Exercice 6 : créer un VI qui utilise le sous VI Temp précédemment
programmé et qui affiche la température sur un l’écran puis ajouter une
temporisation variable pour accélérer ou ralentir le défilement du graphe
déroulant.
Exercice 6 suite : Nous allons choisir un nombre entier entre 0 et 10000 et le
comparer à un tirage aléatoire entre 0 et 10000 également. Tant que le tirage n’est pas
égal au nombre choisi un nouveau tirage à lieu. Si le tirage est égal au nombre choisi
alors le programme affiche le nombre de tirage réalisé et le programme s’arrête.
Les registres à décalage
Exercice 7.
• Reprenez le code de l’exercice 5 multigraphe avec une seule température,
modifiez le pour afficher la température instantanée et la température
moyenne des trois dernières valeurs sur le même graphe. Utiliser
l’opérateur arithmétique et la fonction assembler pour l’affichage
simultanée.

Boucle FOR
Exercice 8.
Tableaux, graphes et clusters.
• Cette partie décrit comment utiliser les tableaux, comment créer des
graphiques autres que déroulants en fonction du temps ou d’une autre
variable. Il montre également comment utiliser les clusters pour
rassembler des données de natures différentes.

Remarque : Les tableaux de dimension 1, 2,…, N peuvent contenir n’importe quel type
d’éléments, excepté d’autres tableaux.
Tableau de constantes

Auto indexation
Boucles et tableaux 2D
Pour construire un tableau 2D, il suffit d’imbriquer deux boucles FOR La
boucle intérieur crée les colonnes, la boucle extérieure, les lignes.
Palette de fonctions : Tableaux
Polymorphisme

Exercice 9 : Génération d’une table trigonométrique.


Graphes en fonction du temps et
graphes XY
Exercice 10.
L’objectif est de faire une boucle pour créer un tableau 1D et afficher le
résultat sur un graphe ( de type graphe et non pas XY)
On se propose de tracer l’évolution d’une température ( simulée) durant
100 points d’acquisition.
Sur la face avant vous obtiendrez :
Dans la face avant vous changerez les propriétés de formatage de l’échelle des X,
choisissez le format « Heure & Date, 24 heures, HH :MM :SS, J/M/A, Année sur 4 chiffres
pour obtenir :
Graphe multicourbes
Ajouter un VI : « thermometre.VI dans la boucle FOR pour
obtenir deux flots de données, réunissez les deux tableaux 1D en
un tableau 2D grace à Tableau , »Construire un tableau qui
entrera dans la fonction Assembler en lieu et place du tableau
précédent. ( Attention Assembler est différent de Concaténer,
l’item concaténer ne doit pas être cochée.
Exercice 11 : Analyse de l’évolution de la température.
Les clusters

Sur la face avant une fois le cadre du cluster posé,


déposez à l’intérieur les différents éléments
constitutifs. L’ordre de placement sera l’ordre des
éléments dans le cluster leur position physique ne
change rien à l’ordre, les étiquettes seront le nom
des éléments du cluster.
Si vous désirez changer l’ordre des éléments d’un cluster il faut choisir dans le
menu : Ordonner les commandes dans le cluster.

Il apparaît à droite de la commande :


En gris sur fond blanc l’ordre avant modification,
Sur fond noir l’ordre actuel.
Fonction sur cluster.

Exercice 12 : Voici un exemple d’utilisation de ces fonctions programmez le.


Désassemblage des clusters.

Utilisez ces fonctions pour écrire la phrase « Monsieur Alain Maillard 53 ans »
Polymorphisme des clusters.

Exercice 13 : Vous pouvez câbler ces deux exemples pour vérifier cette propriété
Structure de choix
Pour chaque cas il est possible de d’entrer une valeur unique, une liste de
valeurs distincte ou une étendue de valeurs continues.
Pour entrer une liste il suffit de séparer les valeurs par des virgules. Pour
entrer une étendue, il faut entrer la borne inférieure, deux points et la borne
supérieure ( les bornes sont incluses). Si une borne est omise, cela signifie
que toutes les valeurs inférieures ( ou supérieures) sont admises.
Par exemple :
..5, 7, 11..20, 30
Ce cas sera exécuté pour toutes valeurs inférieures à 5, pour la valeur 7, les
valeurs comprises entre 11 et 20 et la valeur 30.
Exercice 14 : utilisation d’une structure « case » (choix) et une
énumération.
Les séquences.
Exercice 15 : Etudiez les deux cas suivants.

Attention le cas « Default » doit être renseigné.


Nœuds d’expression et boite de calcul.
Les nœuds d’expression sont très utile pour calculer une valeur dune fonction
d’une seule variable. Ils se situent dans la palette Fonction/Numériques.
Attention pas de ; en fin de ligne.

Les boites de calcul sont utilisé pour les expressions multi variables ou lorsque
l’on reprend un code de calcul écrit en C. Elles se trouvent dans la palette
Fonctions/Structure. Le ; finit la ligne.
Exercice 16. Sinus cardinal.
Utilisez une boite de calcul et une boucle For de 100 pas,
pour tracer dans un graphe XY la courbe f(x) = (sin x)/x
pour des angles compris entre -6p et 6p.
Puis utilisez un nœud de calcul et une boucle For de 100
pas, pour tracer dans un graphe XY la courbe f(x) = (sin x)/x
pour des angles compris entre -6p et 6p.
Attention le séparateur décimal doit être un point. Vous
pouvez le régler dans Démarrer/Paramètre/panneau de
config/option régionale/séparateur.
Solution exercice16.
Chaine et entrée/sortie fichier.
Les tables. Les tableaux de chaines peuvent être créer comme les autres
tableaux, cependant dans la palette : « Liste et Tables » vous trouverez des
commandes spéciales. Une table est un tableau 2D de chaînes, auquel il est
possible d’adjoindre des entêtes de lignes et de colonnes, des barres de
défilement, de donner un style de caractère pour chaque case,… de faire
comme dans un tableur.

Exercice 17 : Extraction de données.

La chaine de caractère à tester est la suivante :


SCAN01:23.456E7SCAN02:34.567E8SCAN03:45.678E9
Entrées/Sorties sur fichier.
Exercice 18 Lecture écriture d’un fichier.
Créez un VI capable d’écrire une chaine de caractères à la fin d’un fichier à chaque
exécution et de lire l’intégralité du fichier avant de le fermer.

Vous modifierez ensuite le programme pour qu’à la fin de chaque phrase


il y ait un retour à la ligne
Exercice 19 : exemple de tableur.

Réalisez le diagramme suivant


VI express

Les VI express sont reconnaissables par leur icône de couleur bleue.

Exercice 20 : Utilisation de VI express.


Solution de l’exercice 20.
Acquisition de données

Objectifs :
Comment utiliser les cartes et le logiciel MAX
Comment sont organisés les VI DAQ
Comment réaliser une entrée analogique
Comment réaliser une sortie analogique
Comment balayer plusieurs voies analogiques
Comment contrôler les lignes d’E/S numériques
Comment réaliser une acquisition de données bufferisée.
MAX

Lancer MAX depuis le raccourci bureau. Développer « Périphériques et interfaces » pour voir les cartes
installées.
Vous obtiendrez des informations sur une carte spécifique en sélectionnant Propriétés dans le menu
contextuel associé à la carte.

La fenêtre possède plusieurs onglets. Le premier onglet Système, indique les ressources assignées à la
carte et le numéro du périphérique qui vous servira dans LabVIEW.

Appuyer sur le bouton Tester les ressources pour vérifier la configuration de la carte.
Appuyer sur le bouton Exécuter les panneaux de test.
Acquisition de données DAQmx
Taches et voies virtuelles dans MAX.

Exercice 21 : Utiliser MAX pour créer une tâche d’acquisition.


Acquisition dans LabVIEW
Exercice 22 : Acquérir un signal analogique en utilisant une
carte d’acquisition de données.

Face avant
Diagramme
Entrées analogiques type waveform.
Exercice 23 : Acquisition traitement enregistrement d’une
waveform.

Face avant
Diagramme
Le VI express DAQ Assistant.

Exercice 24 : Acquisition traitement enregistrement en VI Express.


On se propose de réaliser une acquisition de X points à la vitesse de Y
échantillons/seconde et d’enregistrer le résultat dans un fichier texte.
Face avant
Diagramme

NBE : « Nombre d’échantillons » spécifie le nombre de points à acquérir


et FREQ : « Fréquence d’échantillonnage », la vitesse d’acquisition.
Génération de waveform.

Exercice 25 : Sortie en tension. Créer un signal analogique en


sortie de carte DAQ et en faire l’acquisition.
Reprenez l’exercice 23, modifiez le câblage de la boite de démonstration en
connectant l’entrée analogique 1 à la sortie analogique 0. Changez le code pour
générer une forme d’onde que vous choisirez dans la palette Génération de
Waveform. Cette onde sera ensuite générée de façon continue par la carte, puis
acquise et enregistrée par les deux Vi express déjà présents dans le code.

Face Avant : Vous pouvez ajouter un graphe pour visualiser la forme d’onde
avant la sortie sur la carte.

Diagramme : Utilisez le VI express DAQ, vérifiez que la case « Use timing from
waveform » est cochée dans l’assistant DAQ de sortie analogique.
Les compteurs et entrées/sorties
numériques.

Exercice 26 : Créer un VI de comptage et d’affichage.


Face Avant

Diagramme
Assistant d’E/S instruments.
Exercice 27
Echange de données avec un multimètre via une liaison RS232.
Initialisation du port série.
Après avoir connecté votre appareil sur un port série du PC, allumez-le et appuyer sur la touche
menu jusqu’à ce que l’affichage RS232 clignote. Sélectionner ce mode à l’aide de la flèche
située à droite de menu.
Créer un nouveau VI
Dans la palette de fonction, sélectionner E/S d’instrument=>série=> initialiser le port série.
Il faut définir certains paramètres comme :
le numéro de port
la vitesse de transmission
le nombre de bits servant à coder les données
Ces paramètres sont fournis par les fabricants des appareils de mesure.
Dans notre cas :
N° port 0 (si appareil connecté à COM1)
1 (si appareil connecté à COM2)
Le mieux est de prévoir une commande sur la face avant de façon à pouvoir choisir le n° de
port.
Débit en Bauds : 1200
Bits de données : 7
Bits d’arrêt : 2
Parité : no parity
Lecture des informations sur le port série.
Le dialogue (données transmises ou lues) avec le port s’effectue toujours sous forme de
chaîne de caractères. Il vous appartiendra, après lecture, de les convertir dans le format qui
vous convient.
Pour lire les données présente sur le port série, il faut respecter la procédure prévue par le
constructeur. Dans notre cas il faut impérativement respecter cet ordre (utiliser une
structure séquence à 3 étapes):
Initialisation du port série.
Ouverture en écriture à l’aide du VI Ecrire sur le port série. Connecter en entrée de ce VI le n°
de port (vous pouvez vous servir d’une variable locale de séquence pour récupérer le n° de
port entré lors de l’initialisation) et une commande chaîne de caractères.
Ouvrir le port série en lecture avec le VI Lire sur le port série.
Reporter en entrée le n° du port et le nombre d’octet qu’on souhaite lire (9 dans notre cas).
Le résultat de cette lecture est placé dans une chaîne de caractère.
Testez votre travail !
Contrôle du calibre
But : un message d’erreur doit apparaître lorsque le calibre détecté n’est pas TEMP, et ceci
tant que le calibre n’est pas replacé sur TEMP.
Créer à l’aide du VI créé en II un sous –VI avec comme entrée le n° de port et comme
sortie le chaîne de caractère lue.
Ouvrir un nouveau VI appelant ce sous-VI
Il faut décoder la chaîne de caractères lue :
Utiliser les fonctions éclater une chaîne de caractères, avec comme caractère recherché un
espace (correspond à /s)
Afficher dans des indicateurs la sous-chaîne avant et la sous-chaîne après et vérifier que
vous avez bien TEMP dans la première et 0025 dans la seconde.
A l’aide d’une structure condition, testez si le calibre est bien TEMP. Si c’est le cas, on ne fait
rien. Sinon, on fait apparaître un message d’erreur en utilisant dans temps et dialogue, une
boite de dialogue à un bouton (utilisez l’aide pour en comprendre le
fonctionnement).Essayez.
Vous allez sans doute remarquer que le message d’erreur s’affiche bien mais que
l’exécution du programme s’arrête malgré tout lorsque vous appuyez sur le bouton OK de
ce message
Or on souhaiterait que le programme continue à s’exécuter (lecture non correcte donc non
terminée) tant que le calibre n’est pas modifié
Il faut donc placer l’ensemble du programme dans une boucle while dont l’arrêt dépend du
test précédent : sous-chaîne avant = TEMP ou non ? Essayez !
Préparer ce VI à être utilisé en tant que sous VI (entrées n° port, sorties chaîne de
caractère avant et chaîne de caractères après)
Acquisition de températures et analyse des données.
Créer un nouveau VI qui va permettre l’acquisition des températures issues du multimètre et
leur analyse.
Pour obtenir les valeurs de T, vous allez appeler le sous-VI créé en IV c) et décoder la chaîne de
caractères correspondant à la sortie « chaîne de caractères après » (fonctions utiles : chaîne de
caractères => fonctions de conversion supplémentaires=> à partir d’un format exp/fract/ing)
Le VI devra comporter au minimum en face avant
un interrupteur ON/OFF permettant l’arrêt du programme
une commande numérique pour le numéro de port
deux commandes numériques correspondant à T basse et T haute
un indicateur affichant le calibre
un graphe qui trace la température au fur et à mesure de l’acquisition ainsi que deux autres
courbes correspondant aux valeurs température basse et température haute (pensez à donner
à chaque courbe une légende et une couleur)
un indicateur donnant le temps écoulé entre le début et la fin de l’exécution du programme
des boutons d’alarme qui s’allument lorsque il y a sur-chauffe (T>T_haute ) ou sous-chauffe
(T<T_haute)
un bouton statistique qui lorsqu’on appuie dessus donne la valeur moyenne, min et max de la
température enregistrée
soit entre le début de l’exécution du programme et le moment où on appuie sur stat
soit entre deux fois où on appuie sur stat
soit entre la dernière fois où on appuie sur stat et le moment où on arrête le
programme.
un message qui vous demande si vous souhaitez enregistrer vos données (séries de mesures
de températures entre deux statistiques) lorsque vous arrêtez l’exécution du programme.
Vous avez déjà réalisé la plupart de ces fonctionnalité, inspirez vous du travail déjà fait.
Proposez d’autres fonctionnalités pour votre programme et soignez la présentation de la face
avant.
Contrôle d’instruments.
Liaison GPIB ou série.
Configuration et communication GPIB « General Purpose Interface Bus » correspond à
la norme ANSI/IEEE 488.1-1987.
La copie d’écran présentée ci-dessous vous donne le résultat de cette opération réalisée par
MAX en cliquant sur le bouton « Scan For Instruments ».

Un clic sur le bouton « Properties » de la carte GPIB ouvre le panneau de configuration, il


est possible de configurer indépendamment les cartes interfaces et les périphériques.
Configuration de la carte GPIB.
Communication avec les instruments.

Adresse

Mot de programmation
Format des données

Etapes essentielles d’une communication PC  Périphérique.


Remise à zéro, configuration, déclenchement, lecture, traitement des données.

Remise à zéro
Configuration

Déclenchement
Lecture

Traitement des données


Les sources d’erreurs classiques.

Time out

Terminateur

Séparateur décimal
Exercice n°28

• Utilisation d’un générateur de fonction GPIB


• Utilisation d’un oscilloscope Techtronic GPIB
• A l’aide de MAX vérifier la bonne connection de vos appareils.
• Connecter à l’aide de cable BNC la voie 1 de votre oscilloscope au
générateur de fonction du boitier disponible sur la table. Régler le
GBF du boitier et votre oscilloscope pour visualiser un signal
sinusoidal de fréquence 800Hz et d’amplitude 1 V.
• Réaliser un programme pour visualiser sur l’écran de l’ordinateur ce
même signal.
• En face avant vous proposerez des boutons de réglage de la base de
temps et de l’amplitude de la tension.
• Vous proposerez des curseurs permettant de mesurer la fréquence
du signal

Vous aimerez peut-être aussi