20
Travaux Pratiques : Acquisition et traitement de données avec LabVIEW LF 3 : Electronique 2011-2012 Université du Monastir ***** INSTITUT SUPERIEUR D’INFORMATIQUE ET DE MATHEMATIQUES DE MONASTIR ISIMMDOCS.BLOGSPOT.COM

ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Embed Size (px)

Citation preview

Page 1: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux Pratiques :

Acquisition et traitement de données avec LabVIEW

LF 3 : Electronique

2011-2012

Université du Monastir *****

INSTITUT SUPERIEUR D’INFORMATIQUE ET DE MATHEMATIQUES DE MONASTIR

ISIMMDOCS.BLOGSPOT.COM

Page 2: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

2

Sommaire

TP 1: Prise en main de l'environnement LabVIEW

TP 2 : Contrôle d’instrument avec des liaisons GPIB et RS232

TP 3 : Acquisition de données avec une carte multifonctions NI USB-6008

ISIMMDOCS.BLOGSPOT.COM

Page 3: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

3

TP 1: Prise en main de l'environnement LabVIEW (Langage « G »)

Objectifs : Le but de cette manipulation est :

- Présentation de l'environnement de développement graphique LabVIEW - Prise en main du logiciel : création d'un programme simple

Rappels théoriques : 1. Qu’est ce que LabVIEW? -LABVIEW est un environnement de développement de programme. -LABVIEW est un langage de programmation graphique qui crée des programmes sous forme de diagramme. -Un programme LABVIEW est appelé « instrument virtuel » (VI) -LABVIEW est cependant accès sur l’acquisition de données, le contrôle d’instruments par port série, parallèle, GPIB, carte E/S…, ainsi que l’analyse, la présentation et le stockage de ces données. -La programmation sous LABVIEW est modulaire, Labview possède des bibliothèques de VI intégrés qui sont directement incorporables dans vos VI développés de manière spécifique. 2. Comment fonctionne LabVIEW? Un programme Labview comporte 2 éléments principaux :

- Une face-avant. - Un diagramme.

La face-avant d’un programme est l’interface utilisateur du VI contenants des entrées (les commandes) et de sorties (les indicateurs) du programme. Les commandes et indicateurs peuvent être des afficheurs numériques, des commutateurs booléens, des jauges, des vu-mètres, des boutons poussoirs, des graphes…

ISIMMDOCS.BLOGSPOT.COM

Page 4: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

4

Ces commandes et indicateurs sont accessibles par la palette de commandes (clic droit dans une fenêtre de face avant.) Le diagramme contient le code graphique du programme Labview (VI). La programmation est graphique selon une logique de flux de données. Les commandes et indicateurs de la face avant figurent sous forme de terminaux dans la fenêtre diagramme et sont à connecter entre eux selon le traitement désiré. Ce traitement s’effectue à l’aide de fonctions accessibles par la palette fonctions (clic droit dans la fenêtre diagramme).

Pour connecter, sélectionner les terminaux, mettre en forme la face avant comme de la fenêtre diagramme, on dispose de la palette d’outils (Menu : Fenêtre>>palette d’outils)

Numérique

Tableau et cluster

Chaîne et chemin

Booléen

Menu déroulant

Liste et table

Graphe

Acquisition pt/pt ou waveformf

Sélection de VI antérieurs

Structure de programmation (boucles, séquences…)

Fonctions sur numériques

Fonctions sur chaînes

Fonctions de comparaison

Fonctions sur tableaux

Fonctions sur clusters

Fonctions temps et dialogue

E/S sur fichier Fonctions sur donnée waveform

Mathématiques Analyse, traitement du signal

Fonctions sur booléens

ISIMMDOCS.BLOGSPOT.COM

Page 5: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

5

3. La programmation graphique. Bien que ce langage soit totalement graphique, on retrouve sous Labview toutes les structures classiques des langages de programmation textuel (C, Basic….)

-Boucles While, For -Séquençage (qui permet l’exécution séquentielle de sous-VI)

-Aiguillage IF, CASE… 3.1. Les types de données

Labview traite de données structurées classiques : -numérique -booléen -chaîne -liste -graphe -tableau (Un tableau est une donnée qui regroupe des données de même type). -cluster (Un cluster est une donnée qui regroupe un ensemble de données de types différents). -waveform Une waveform est un type de donnée important sous Labview (essentiel dès que l’on aborde l’acquisition sous Labview). Une wavefom est un cluster particulier qui contient 3 données :

-un instant initial (to) numérique -un pas ( tΔ ) numérique -un tableau de valeur

Une waveform est le type de donnée utilisé pour étudier les signaux. Pour chacun de ces types de données, il existe des fonctions dédiées qui s’appliquent sur ces données. Ces fonctions sont accessibles par la palette fonctions de la fenêtre diagramme. Remarque importante : Que ce soit en face avant, comme dans la fenêtre diagramme, vous disposez d’une aide contextuelle sur chaque élément (fonctions, indicateurs, commandes..). Pour y accéder, Il faut taper : CTRL+H et placer le curseur de la souris sur l’élément en question.

ISIMMDOCS.BLOGSPOT.COM

Page 6: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

6

3.2. Les boucles while et For 3.2.1. Exemple de boucle WHILE 3.2.2. Exemple de boucle FOR

Registre à décalage Valeur d’initialisation

Indice de boucle (0…)

Terminal de condition d’arrêt (Ici : Arrêter sur Vraie)

Valeur d’initialisation

Prise en compte de la valeur précédente

Mémoire Locale : registre à décalage

ISIMMDOCS.BLOGSPOT.COM

Page 7: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

7

3.2.3. Exemple de structure conditionnelle IF THEN

Travail demandé Application 1 : (Structures conditionnelles) Effectuer les différentes opérations suivantes pour créer un VI qui test si la valeur entrée est positive. Si tel est le cas, il calcul la racine carrée, sinon il retourne un message d’erreur. 1. Ouvrir un nouveau VI et créer une face avant telle que présentée ci-dessous.

2. Créer le diagramme ci-dessous.

3. Dans le cas TRUE, placez-y la fonction racine carrée dans la palette 4. Lancer le VI et vérifiez sont fonctionnement.

Les 2 sous-diagrammes se superposent et sont exécutés de manière exclusive selon la valeur du booléen.

ISIMMDOCS.BLOGSPOT.COM

Page 8: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

8

Application 2 : (Boucles for et registres à décalage) 1. Construire un VI qui correspond aux figures suivantes :

2. Pour voir comment le VI fonctionne en interne, vous pouvez cliquer sur le bouton Highlight Execution Le flot de données sera animé ce qui permettra de voir comment il se déroule et les valeurs générées. 3. Déterminer l’expression de la suite numérique et interpréter sa convergence.

ISIMMDOCS.BLOGSPOT.COM

Page 9: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

9

Application 3 : (Concaténation de chaîne de caractères) Construire un VI dont le but est de créer une chaîne de caractères du type : « La tension mesurée est de XX volts » par exemple, où XX sera une valeur en flottant convertie en chaîne de caractères avec 2 nombres après la virgule. Vous devrez également afficher la chaîne de caractères définitive ainsi que la longueur de la chaîne. Application 4 : (Extraire un nombre d’une chaîne de caractères) Construire un VI dont le but est d’extraire un nombre d’une chaîne de caractères. On devra entrer une chaîne de caractères du type « Il est : 14 heures ». Il faudra indiquer la chaîne en entrée, le séparateur (ici ‘:’) et en sortie, indiquer la valeur numérique, ainsi que l’offset du nombre par rapport au début de la chaîne de caractères. Application 5 : (Stockage dans un fichier) Le but de ce VI est d’utiliser le VI de l’application n° 4, comme sous-VI de celui-ci. La chaîne concaténée sera enregistrée dans un fichier dont l’utilisateur devra choisir le nom. Application 6 : (Ouverture d’un fichier) Le but de ce VI est d’ouvrir un fichier et d’afficher le contenu du fichier sur la face avant. Application 7 : 1. Construire un VI qui simule une acquisition d’une température comprise entre 2 valeurs Tmin et Tmax saisies par l’utilisateur, par l’intermédiaire d’un glisseur à 2 curseurs. Pour cela, vous utiliserez la fonction numérique Nombre aléatoire (0-1). 2. Encapsuler ce VI pour former un sous-VI : « AcqT.vi » 3. Créer un VI utilisant « AcqT.vi », qui réalise l’acquisition de N points (N à saisir par l’utilisateur en face avant) effectuées toutes les 100ms, affiche ces points sur un graphe déroulant, et calcule pour l’ensemble de ces points la valeur minimal, maximale et moyenne. Ce VI doit fonctionner tant que l’utilisateur n’a pas cliqué sur un bouton STOP en face avant. 4. Créer un second graphe déroulant qui affiche la moyenne mobile de ces N points. 5. Enregistrer au fur et à mesure, cette séquence de N points dans un fichier « c:\data.txt ».

ISIMMDOCS.BLOGSPOT.COM

Page 10: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

10

TP 2 : Contrôle d’Instrument avec des liaisons GPIB et RS232

Objectifs : Le but de cette manipulation est de mettre en oeuvre une liaison de communication entre un

ordinateur et un instrument programmable et de comprendre le protocole de transmission de donnée dans le cas d’une liaison série (RS232) et parallèle (GPIB). Rappels théoriques : Communication série

Bien que progressivement délaissée pour l’USB (Universal Serial Bus), la liaison Série (RS232, RS 449, RS 422, RS 423, RS 485) est un moyen de communication, encore aujourd’hui, répandu pour la transmission de données entre un ordinateur et un périphérique (imprimante, instrument de mesure programmable,…) La liaison Série est une liaison asynchrone c’est-à-dire qu’elle ne transmet pas de signal d’horloge. Il n’y a donc aucune synchronisation entre l’émetteur et le récepteur. Pour que le récepteur puisse interpréter convenablement l’information du transmetteur, il faut que les deux éléments soient configurés de la même façon. Il faut spécifier 4 paramètres pour ce type de communication : le débit de transmission en bauds, le nombre de bits de données, la polarité du bit de parité (paire ou impaire), le nombre de bits de stop.

Voici le format type d’une trame envoyée par le port série :

- Un bit de start qui indique qu’une information va être envoyée. Il permet la synchronisation du récepteur. - 7 ou 8 bit de données (B0 à B6 (ou B7) avec B0 le bit de poids faible (LSB) et B6 le bit de poids fort (MSB). - Un bit de parité qui permet de détecter les éventuelles erreurs de transmission. - Un bit de stop. Après la transmission la ligne est positionnée au repos pendant X périodes d’horloges du récepteur. Communication GPIB

Dans le cas de communications par liaisons GPIB ou Série, l’acquisition de données se fait par l’intermédiaire d’un instrument autonome (multimètre, oscilloscope,…) au sein duquel sont effectuées les opérations d’entrées/sorties des signaux mesurés. Le programme développé sert uniquement à la configuration de l’instrument, à la récupération, l’analyse et la présentation des données.

Port Série

ISIMMDOCS.BLOGSPOT.COM

Page 11: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

11

La liaison GPIB (General Purpose Interface Bus) appelée aussi IEEE 488 (IEEE : Institute of Electrical and Electronics Engineers) est devenue depuis son apparition en 1965 (crée par Hewlett-Packard) un standard de communication qui permet aujourd’hui de contrôler la plupart des instruments de mesures (oscilloscopes, multimètres, générateurs de fonctions, …). La première normalisation de ce bus date de 1987 sous la référence IEEE 488.1. Une deuxième normalisation de ce bus est intervenue en 1992 avec la référence IEEE 488.2 pour préciser la précédente qui était incomplète, et ceci en précisant le protocole de communication, en définissant les formats de données,... En 1990, le document “Standard Commands for Programmable Instrumentation (SCPI)” a été incorporé à la norme. Celui-ci définit un certain nombre de commandes auxquelles chaque instrument doit pouvoir obéir. Cela permet ainsi une interopérabilité de matériels de différents fabricants.

- La liaison GPIB est une liaison parallèle sur 8 bits. - Interconnexion de 15 appareils maximum : chaque appareil possède une adresse comprise entre 0 et 30. - Vitesse de transfert maximum : 1 Mo/s. - Longueur de câble de 4 m au maximum entre 2 appareils. - Longueur totale de câble de 20 m au maximum. - Au minimum les 2/3 des instruments doivent être sous tension.

Câble GPIB

Carte GPIB

Interface GPIB/USB HS de National Instruments

Connecteur GPIB

ISIMMDOCS.BLOGSPOT.COM

Page 12: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

12

Travail demandé 1) Mise en oeuvre d’une liaison série Nous allons mettre ici en oeuvre une liaison série RS232 entre deux ordinateurs. La configuration d'une liaison de communication est toujours la même : - Ouvrir la communication (vitesse, nb de bits de données, nb de bits STOP, contrôle de flux, ...) - Ecrire / Lire les données - Fermer la communication. Nous allons dans un premier temps communiquer entre deux ordinateurs en utilisant l’utilitaire de Microsoft « hyperterminal » (Menu Démarrer\ Tous les programmes\ Accessoires\ Communication\ Hyperterminal). -Pour cela, relier le port COM1 du premier ordinateur (situé de façon verticale) au port COM1 du deuxième ordinateur de la façon suivante (connexion croisée): -Configurer la liaison sur chaque ordinateur de la même façon. -Essayer d’envoyer un message de chaque coté de la liaison. Que remarquez-vous? -Changer la liaison en une connexion standard (1 :1) : -Essayer de nouveau à envoyer un message de chaque coté de la liaison. Que remarquez-vous? 2) Caractéristiques techniques d’une liaison série -Réaliser le montage suivant :

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9 TXD

TXD

RXD RXD

GND

GND

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

TXD TXD

RXD RXD

GND GND

1

2

3

4

5

6

7

8

9

TXD

GND

Voie X

Oscilloscope

Port série du PC

GND

ISIMMDOCS.BLOGSPOT.COM

Page 13: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

13

-Réaliser un programme LabVIEW qui permet de configurer une liaison série et d’émettre à travers cette liaison un caractère. Vous pouvez se baser sur un exemple déjà existant dans le répertoire de LabVIEW.

-Envoyer un caractère alphanumérique (en mode exécution continue ) avec une temporisation de 400 ms après l’envoie du caractère. -Relever la forme d’onde du signal transmis (pour 5 caractères différents) -Identifier les différents bits des messages envoyés -Déduire les codes ASCII des caractères envoyés 3) Communication série avec un Générateur de fonctions Centrad (GF266) Pour pouvoir communiquer avec le Générateur de fonctions (GF266), il va falloir configurer la communication série de façon correcte au niveau du Générateur et du PC. 3.1. Configuration du Générateur (GF266) Pour le Générateur de fonctions Centrad (GF266), il s'agit d'une liaison série « null modem », (connexions croisées). Il faudra donc régler vitesse, nombre de bits STOP, contrôle de flux, etc... de façon cohérente avec Labview. (Bites par seconde : 9600, Bits de données : 8, Parité : Aucun, Bits d’arrêt : 1, Contrôle de flux : Aucun). On connectera le PC sur la liaison série COM1. 3.2. Présentation du protocole de dialogue : L'appel des différentes fonctions se réalise en saisissant un nombre à 2 chiffres (voir tableau en annexe). Le chiffre des dizaines se substitue à l'action sur un bouton, il détermine le menu sélectionné. Le chiffre des unités se substitue à l'action sur la roue codeuse, lorsqu'il s'agit de sélectionner un paramètre. La validation et l'envoi de données numériques ou de paramètres se fait par la touche «Entrée» Exemple:Pour sélectionner la fonction triangle, saisir: «0» «2» «Entrée» Explication: Comme indiqué sur le tableau, le «0» sélectionne la Fonction et le «2» sélectionne le paramètre Triangle. L'interrogation, afin de connaître la valeur d'un paramètre se fait par le caractère «?» Exemple: La saisie suivante «8» «0» «?», renverra la valeur actuelle du «Level», par exemple: 2.5Vcc N.B: Pour L'interrogation des paramètres, la valeur de l'unité n'a pas d'importance Exemple: La saisie suivante «8» «2» «?», renverra également le «Level», par exemple: 2.5Vcc L'action permettant de saisir les données numériques du paramètre à modifier se fait par le caractère «espace» Exemple: Afin de passer le Level à 3.8 Volt, saisir: «8» «0» «espace» «3» «8» «Entrée » NB: Le point ou la virgule peuvent être indifféremment employés. 3.3. Programme à réaliser * Réaliser un VI qui permet de :

- Ouvrir une liaison série et la configurer. - Envoyé un message caractère par caractère avec une temporisation de 50 ms - Fermer la liaison.

* Changer chaque fois le message à envoyer au G266 et vérifier sa fonction (un VI pour chaque fonction) * Réaliser un VI qui regroupe plusieurs fonctions.

ISIMMDOCS.BLOGSPOT.COM

Page 14: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

14

4) Communication GPIB avec un Oscilloscope Tektronix (TDS 1002B) 4.1. P ilotage de l'oscilloscope Le pilotage de l'oscilloscope Tektronix est un peu complexe. En effet, dans le cas de l'oscilloscope, il faut lui envoyer des mots de commande, mais également attendre les réponses de celui-ci. Les mots de commande et les réponses seront envoyés sous forme de chaînes de caractères. * Envoi de données. Demander l'identité de l'oscilloscope (commande *IDN?), effectuer un Autoset (commande AUTOSet Execute), ensuite, l'utilisateur devra rentrer le mot de l'ordre envoyé à l'oscilloscope dans une chaîne de caractère. On devra distinguer si on demande à l'oscilloscope d'effectuer une fonction (celui-ci ne donne alors pas de réponse), ou alors si on lui demande une mesure. Il faut alors attendre la réponse de l'oscilloscope que l'on affichera sous forme de chaîne de caractères. (Vous pouvez consulter le manuel de programmation des TDS1002 et 1002B). * Conversion en nombre Il faut convertir la chaîne de caractère en nombre. Modifier le VI précédent pour obtenir le nombre sous forme numérique. 4.2. Programme à réaliser. Le but de ce programme sera de piloter un oscilloscope afin de récupérer les caractéristiques du signal en entrée de celui-ci. Votre programme devra dans un premier temps, se connecter à l'oscilloscope et afficher son identifiant. Puis, il devra attendre que l'utilisateur ait sélectionné la mesure qu'il souhaite effectuer. Par exemple : (voleur moyenne, crête à crête, fréquence du signal), effectuer un autoset pour être sûr que le signal est correctement acquis. Attention, ceci peut être long, envoyer l'ordre de mesure et attendre que la valeur arrive pour l'afficher à l'écran. Annexe : Liste des commandes TDS 1002/1002B N.B. : les caractères « » signifient des espaces. Identification de l'oscilloscope : *IDN? Réalisation d'un Autoset : AUTOSET Exécute Choix de la mesure à effectuer : MEASUREMENT:IMMED:TYPE_xxx (avec xxx qui vaut : FREQUENCY, MEAN, PERIOD, PHASE, PK2PK, CRMS, MINIMUM, MAXIMUM, RISE, FALL, PWIDTH, NWIDTH) Demande de la mesure en cours : MEASUREMENT:IMMED:TYPE? Demande de la valeur mesurée: MEASUREMENT:IMMED:VALUE? Choix du signal à mesurer: MEASUREMENT:IMMED:SOURCEx (avec x=1 ou 2) N.B. : Vous avez ici une liste réduite de commandes qui vont vous permettre de piloter un oscilloscope. Pour de plus amples informations et toutes les commandes possibles, reportez-vous au « Manuel du Programmer ».

ISIMMDOCS.BLOGSPOT.COM

Page 15: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

15

TP 3 : Acquisition de données avec une carte multifonctions

NI USB-6008

L'acquisition de données (DAQ) consiste à recueillir automatiquement des mesures analogiques et numériques provenant de capteurs ou du matériel testé, et à générer des signaux de commande. L'acquisition de données combine des logiciels et des matériels au sein du PC afin de créer des systèmes de mesure souples et définis par l'utilisateur. Souvent, il est nécessaire de conditionner les capteurs et les signaux avant leur acquisition par le matériel : l’amplification, l’atténuation et l’isolation.» Une carte d’acquisition peut être insérée dans le boîtier d’un ordinateur, dans un slot de la carte mère, ou connectée sur un port, en externe (par exemple, le port USB) Dans cette manipulation nous intéressons à la carte NI USB-6008 de National Instrument

I. Aspect matériel

La carte multifonctions NI USB-6008 possède : - Des entrées analogiques (numérisation = CAN) - Des entrées-sorties numériques (port d’entrée-sortie) - Un compteur utilisable éventuellement en Timer - Des sorties analogiques (CNA) En plus des principaux circuits, on trouve - Les circuits associés au CAN, qui gèrent les entrées analogiques : multiplexage, amplification, calibration, déclenchement… - Les circuits de contrôle de temps : pour la commande du CAN, du CNA, des transferts de données… - Les circuits de contrôle des échanges sur le bus du PC : adressage, échange avec interruption, DMA… Les signaux à acquérir sont branchés sur la carte via le connecteur d’entrée sortie. De même, les signaux délivrés par la carte sont disponibles sur le connecteur d’entrée-sortie de la carte.

Ces connecteurs se trouvent sur le boîtier de la carte NI USB-6008 reliée à un ordinateur par un port USB Une fois les entrées et sorties de la carte accessibles, il reste à effectuer les branchements en s’aidant du schéma du connecteur de la carte NI USB-6008.

Connecteur

ISIMMDOCS.BLOGSPOT.COM

Page 16: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

16

On retrouve sur le connecteur de la carte : - Des entrées analogiques AI 0 , AI 1 , AI 2…(Analog Input) - Deux sorties analogiques AO 0 et AO 1 (Analog Output) - Des lignes d’entrées sorties numériques (ports) P0.0, P0.1… - Une entrée de comptage et une sorties Timer : PFI Les signaux sont connectés par rapport à leur terre associée

II. Aspect programmation

On pilote une carte d’acquisition par programme, en utilisant :

- Un langage, et un logiciel permettant la programmation dans ce langage

- Un ensemble de drivers, programmes spécifiquement écrit pour aider au pilotage de la carte.

Nous utilisons :

- Le langage de programmation graphique LabVIEW, édité par National Instrument

- Le logiciel de driver NI-DAQmx comportant un ensemble de sous programmes (V.I) dédiés à la programmation des cartes du même constructeur.

On appelle voies physiques les broches de la carte sur lesquelles on va mesurer ou générer un signal analogique ou numérique.

Chacune des voies physiques d'un périphérique a un nom unique (par exemple, Dev2/ao5 et Dev6/ctr3) qui suit les conventions de noms des voies physiques NI-DAQmx.

On appelle tâche la mesure ou la génération que l’on souhaite réaliser (entrée analogique, sortie numérique….)

Une tâche comporte des propriétés que l’on fixe grâce à des V.I spécifiques : déclenchement…

La structure générale d’une application sous LabVIEW + DAQmx est souvent la suivante :

- Définir la tâche et ses paramètres (type de signal, entrée ou sortie, N° de la voie physique …)

- (Préciser les options temporelles)

ISIMMDOCS.BLOGSPOT.COM

Page 17: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

17

- (Préciser les options de déclenchement)

- Démarrer la tâche si lecture

- Définir l’opération (Lecture ou Écriture des données) et ses paramètres (type de valeur attendue ou fournie, démarrage auto…)

- Démarrer la tâche si écriture

Entrée analogique (AI)

On peut, à l’aide d’une voie d’entrée analogique, mesurer une tension continue à un instant donné ou bien acquérir un signal pendant une durée donnée.

Les principaux paramètres à définir sont :

- La voie physique concernée de la carte utilisée : Dev1/ai0

- La tâche d’entrée analogique en tension : AI Tension

Le convertisseur analogique numérique de la carte d’acquisition délivre un résultat sous forme d’un entier Ns, puis le logiciel le convertit éventuellement en une valeur numérique de tension qu’il convient de lire.

1. Définition de la voie physique : voie d’entrée analogique n° 0 de la carte n° 1

2. Choix de la tâche : entrée d’une tension analogique

3. Lecture du résultat de la mesure (une seule voie et une seule mesure)

4. Ce résultat est placé dans un indicateur de type réel visible en face-avant.

Sortie analogique (AO)

On peut, à l’aide d’une voie de sortie analogique, générer une tension continue (par exemple 3 V) ou générer un signal pendant une durée donné (par exemple un signal triangulaire d’amplitude 1 V de fréquence 10Hz).

Les paramètres à définir sont :

- la voie physique concernée de la carte utilisée : Dev1/ao0

- une tâche de sortie analogique en tension : AO Tension

Il faut alors écrire la tension à générer.

Le convertisseur numérique analogique délivre alors sur la voie physique spécifiée la tension demandée.

ISIMMDOCS.BLOGSPOT.COM

Page 18: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

18

1. Définition de la voie physique : voie de sortie analogique n° 0 de la carte n° 1

2. Choix de la tâche : génération d’une tension analogique

3. Valeur de la tension à générer (type : réel)

4. Ecriture de la tension sur la voie de sortie (une seule voie et une seule tension)

Sorties numériques

Une ligne d’un port d’entrée –sortie numérique est utilisée en entrée ou en sortie.

On peut, à l’aide d’une voie sortie numérique :

Positionner une ligne d’un port à un niveau TTL choisi (0 V - 5 V).

Positionner un ensemble de lignes d’un port, voire toutes les lignes d’un port, à des niveaux choisis.

Les paramètres à définir sont :

- la voie physique concernée de la carte utilisée, c'est-à-dire la carte / le port / la ou les lignes.

- la tâche : Sortie numérique

Il faut alors écrire les niveaux souhaités, à l’aide de booléens ou d’entiers.

1. Définition de la voie physique : l’ensemble des 8 lignes du port 0 de la carte n° 1

2. Choix de la tâche : sortie numérique

3. Niveaux à générer en sortie (type entier, affiché en base 2, 1 pour niveau haut, 0 pour niveau bas)

Chaque bit de l’entier correspond à une ligne du port : bit 0 (LSB) = ligne 0…. Bit 7 (MSB) = ligne 7.

4. Ecriture des niveaux sur la voie (8 lignes) de sortie (une seule voie et un seul entier)

Entrées numériques

Une ligne d’un port d’entrée –sortie numérique est utilisée en entrée ou en sortie.

On peut, à l’aide d’une voie d’entrée numérique :

Lire l’état d’une ligne d’un port numérique.

ISIMMDOCS.BLOGSPOT.COM

Page 19: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

19

Lire l’état d’un ensemble de lignes d’un port, voire toutes les lignes d’un port.

Pour une entrée numérique de plusieurs lignes, le résultat est délivré sous la forme

- d’un tableau de booléens ou

- d’un entier dont chaque bit correspond à une ligne du port, qu’il convient de lire.

1. Définition de la voie physique : ligne 0 du port 1 de la carte n° 1

2. Choix de la tâche : entrée numérique

3. Lecture du résultat de la mesure (une seule ligne lue, un seul niveau attendu)

4. Ce résultat est placé dans un indicateur de type booléen visible en face avant.

Travail demandé Application 1: Connecter une voie d’entrée analogique de la carte NI USB-6008 à un générateur de fonctions (GBF)

puis configurer les différents paramètres dans le logiciel MAX (Measurement & Automation eXplorer) pour acquérir un signal électrique.

Vérifier la forme d’onde du signal et ses différents paramètres.

Conclure (limites de fréquence)

Application 2 : Connecter une voie de sortie analogique de la carte NI USB-6008 à un oscilloscope puis configurer les

différents paramètres dans le logiciel MAX pour générer un signal électrique.

Vérifier la forme d’onde du signal et ses différents paramètres.

Conclure

Application 3 : Réaliser sous LabVIEW un VI qui permet de générer une tension continue sur l’une des voies sortie

analogique de la carte NI USB-6008 pour faire fonction un ventilateur.

Application 4 : Réaliser un VI qui permet d’acquérir une tension continue issue d’un capteur de température sur l’une

des voies entrée analogique de la carte NI USB-6008.

Application 5 : Utiliser les deux VIs précédents pour réaliser un nouveau VI permettant de commander le ventilateur

si la température dépasse un seuil.

ISIMMDOCS.BLOGSPOT.COM

Page 20: ISIMMDOCS-fasicule TP acquisition et traitement de données avec LABVIEW 2011_2012

Travaux pratiques : acquisition et traitement de données avec LabVIEW ISIMM 2009/2010

20

Application 6 : Réaliser un VI qui permet d’acquérir 4 entrées numériques et d’afficher le résultat sur des indicateurs

booléens sur la face-avant du VI.

Application 7 : Réaliser un VI qui permet de visualiser un mot binaire de 8 bits ou un chiffre sur une carte comportant

8 LEDs et un afficheur 7 segments.

Voici un exemple de lecture d’un mot binaire à travers le port 0 de la carte NI USB-6008

Vous pouvez se référer à ce VI pour réaliser les différentes applications (il faut définition la voie

physique à utiliser, choisir la tache, lire ou bien écrire les données)

ISIMMDOCS.BLOGSPOT.COM