De l USB au PXI : techniques de programmation simples et avancées pour l acquisition de données Christophe Soares Ingénieur d application National Instruments France 1
Sommaire Que peut-on faire avec un système d acquisition de données? Le point sur le matériel DAQ Comment utiliser simplement un matériel DAQ? Que peut-on faire avec un système d acquisition de données? 2
Constitution d un matériel d acquisition de données Capteurs Matériel d acquisition Logiciel ou langage g : LabVIEW, SignalExpress LabWindows/CVI Bus de type : USB, PCI, PXI, PCMCIA, FireWire Les cinq manières de mesurer un signal Niveau État Temps de montée Forme Votre signal Fréquence Analyse nécessaire Vitesse 3
Anatomie d une carte DAQ standard capteurs convertisseurs A/N actionneurs 0010110 1010010 1101011 E/S numériques et synchronisations Bus / CPU PCI, PCI Express, PXI/CompactPCI, ISA/AT, PCMCIA, USB, IEEE 1394 (FireWire) Anatomie d une carte DAQ E/S analogiques E/S numériques E/S compteurs E/S de synchronisation Niveau Forme Fréquence Vitesse État 4
Pourquoi utiliser un conditionnement du signal? Conditionnement du signal Bruité, faible Filtré, amplifié Le conditionnement du signal permet d améliorer un signal difficile il à mesurer directement t par un système DAQ Le conditionnement du signal n est pas toujours nécessaire Le signal peut être une tension facilement mesurable Types courants de conditionnement du signal Capteurs/signaux Thermocouples Conditionnement du signal Amplification, linéarisation, Compensation de soudure froide RTD Jauges de contrainte Haute tension et mode commun Charges nécessitant une commutation Signaux avec un bruit haute fréquence Excitation en courant, et linéarisation Tension d excitation, configuration en pont, linéarisation SCXI Amplificateur isolé (isolation optique) Relais électromécaniques SCC Filtre passe-base Carte DAQ 5
Types courants de conditionnement du signal Capteurs/signaux Conditionnement du signal Support 1 module OU Module Série C CompactDAQ Que peut-on faire avec chaque ressource d une carte DAQ? Entrées analogiques (AI) Mesure d une tension ±10 V Mesure de la fréquence du signal Mesure de tout capteur après conditionnement Sorties analogiques (AO) Génération d une tension ±10 V Mise en mémoire d un signal issu d un fichier ou construit mathématiquement et génération du signal en continu 6
Que peut-on faire avec chaque ressource d une carte DAQ? Entrées numériques (DI) Statiques Mesure d un état d une voie TTL 5 V Dynamiques Stockage en mémoire ou sur fichier d un train d informations issu d un nombre de voies choisies (analyseur logique) Que peut-on faire avec chaque ressource d une carte DAQ? Sorties numériques (DO) Statiques Basculement d une sortie à 5 V pour une commande Dynamiques Génération depuis la mémoire d un train d informations logiques sur un nombre de voies choisies (par ex. un bus de données) 7
Que peut-on faire avec chaque ressource d une carte DAQ? Entrées compteurs (CTR, SRC, GATE) Statiques Mesurent le nombre de fois qu une voie a reçu un niveau logique TTL 5 V Mesurent une largeur d impulsion, une fréquence, une période, un rapport cyclique directement Dynamiques Stockage en mémoire ou sur fichier d une variation de vitesse, de fréquence, rapport cyclique... de manière cadencée (par ex. vitesse en fonction du temps dans un tableau) Décodage de signaux d horloge (H:M:S) issus d un GPS (IRIG B, PPS) Que peut-on faire avec chaque ressource d une carte DAQ? Sorties compteurs (CTR OUT, FREQ OUT) Génération d un signal TTL 5 V avec une période/fréquence, une largeur d impulsion choisie Fabrication d horloges par division d une fréquence de base 8
Que peut-on faire avec chaque ressource d une carte DAQ? E/S de synchronisation (PFI, START TRIG, CONV CLK, ) Envoyer/recevoir un signal vers d autres matériels pour démarrer une mesure simultanément Réaliser un protocole de communication entre deux périphériques (handshake) Resynchronisation d une horloge interne (H:M:S) par GPS afin de réaliser des mesures synchrones à grandes distances GPS (Global Positioning System) Utilise le réseau de 24 satellites orbitaux Synchronise physiquement des systèmes DAQ séparés Fournit une précision i de position à 5 mètres Utilise la sortie Pulse Per Second (PPS) pour la synchronisation Précision de synchronisation à moins de 1 μs 9
Un mot sur l acquisition déportée sans fil Exemple de communication sans fil vers un CompactRIO ou un Compact FieldPoint par IEEE 802.11 Ethernet Réseau IP Point d accès Wireless router PC Vu dans MAX sous systèmes déportés Pont 802.11 Wireless Ethernet Adapter Système Compact FieldPoint ou CompactRIO Exemples d applications d acquisition de données industrielles 10
Test de vibration d axes au barrage Hoover Turbine de puissance Ancienne solution USB et CompactDAQ Analyseur de vitesse de prise du ciment par ultrasons chez Halliburton CompactDAQ et LabVIEW 11
Analyses embarquées véhicule chez Siemens Système de surveillance de train Pas de soucis d intégrité des données 12 voies de contraintes à 5 khz/voie Câble USB vers portable pour visu. en direct Moteur DC à 50 cm du système 30 minutes d exécution soit 1,2 Go de données 12
Testeur de manchons isolants thermoélectriques Conseils pour réaliser des applications DAQ Logiciel Il faut commenter le code source Bien gérer et optimiser la mémoire Architecturer votre code avant de développer Créer des manuels et de la documentation Matériel DAQ Prévoir des voies supplémentaires pour les E/S Vérifier la connectique dans le cas de synchronisations Avoir des alimentations ti légèrement surdimensionnées i Isoler l alimentation du capteur de l alimentation du contrôle 13
Conseils pour réaliser des applications DAQ Câblage Avoir des câbles plus longs que nécessaires Utiliser du câblage blindé et appliquer les techniques de mise à la masse des cartes Utiliser des embouts résistants aux matières chimiques dans les environnements durs Vérifier les câblages des capteurs et les connecteurs avant de développer Documentation Maintenir une liste détaillée des E/S Mettre des étiquettes sur toutes les E/S et ajouter au logiciel les mêmes nomenclatures Faire des schémas précis Terminaux et boîtiers Grouper le câblage des signaux du même type pour les chemins pour éviter du bruit Fournir un espace supplémentaire pour les futurs câblages Utiliser les blocs de terminaison les plus larges possibles Le point sur le matériel DAQ 14
Le point sur les matériels disponibles USB, PCMCIA, CompactFlash Multifonction de la Série M Échantillonnage simultané de la Série S Acquisition de données intelligente de la Série R Acquisition de données audio DSA Familles de cartes DAQ : USB, PCMCIA, CompactFlash Faible coût Alimenté par le bus Grandes performances CompactDAQ USB OEM PCMCIA pour portables Compact Flash pour PDA 15
Modules Série C Accéléromètre Jauge de contrainte Charges E/S numériques 24 V Thermocouples 4 20 ma Hautes tensions (60 V) RTD Familles de cartes DAQ : Série M Isolé PXI PCI PCI/PXI Express Permet la synchronisation entre des voies analogiques et numériques cadencées Grand nombre de voies Précision de la mesure (18 bits, auto-calibration) 16
Familles de cartes DAQ : Série S PXI PCI Échantillons de mesures pris Simultanément Permet de mesurer des différences de phases précises entre signaux Vitesse d échantillonnage très rapide (10 Méch./s/voie) Familles de cartes DAQ : acquisition de données Reconfigurables série R CompactRIO PXI PCI Permet de réaliser des fonctions nouvelles par ex. : un déclenchement personnalisé des vitesses d échantillonnage asynchrones par voie des conditions de mesures, comme mesurer entre deux valeurs d un compteur 17
Familles de cartes DAQ : acquisition de données audio DSA CompactRIO et CompactDAQ PXI Mesure d accéléromètres et microphones Échantillonnage simultané et par Delta-Sigma 24 bits Filtre anti-repliement pour une mesure en fréquence TEDS, IEPE PCI Comment utiliser simplement un matériel DAQ? 18
Measurement and Automation Explorer (MAX) Création de tâches DAQmx Panneaux de test intégrés Configuration des périphériques et gestion des connexions Diagrammes des connexions de signaux Une tâche NI-DAQmx Une collection d une ou de plusieurs voies de mesure où l on déclare les paramètres de cadencement, de déclenchement, le type de mesure et la gamme. 19
L Assistant DAQ permet la déclaration des tâches Interface de création des voies pour : entrées analogiques sorties analogiques entrées compteurs sorties compteurs E/S numériques Chaque voie possède : le type de mesure le type de capteur le nom Les tâches et la génération de code NI-DAQmx Tâche locale Tâche globale dans MAX LabVIEW LabWindows/CVI 20
Introduction à LabVIEW SignalExpress Facilement enregistrer et analyser des mesures sans programmation et les exporter vers des tableurs et fichiers txt Rapidement détecter les matériels enregistreurs avec la technologie USB Plug and Play USB Connecter plus de 250 matériels DAQ, 400 instruments et 1000 capteurs Version LE (allégée) gratuite livrée et téléchargeable Démonstration des outils logiciels Measurement & Automation Explorer LabVIEW SignalExpress LabVIEW LabWindows/CVI 21
Les calibrations des voies et mises à l échelle Échelle NI-DAQmx personnalisée Une équation est utilisée pour convertir une mesure d une voie faite dans une unité (en général des volts) vers une autre unité associée à la grandeur physique mesurée Par exemple : à l affichage, nous voulons une échelle en courant alors que la carte mesure une tension sur un shunt de 0,1 ohm Pour I = U/R, si nous mesurons 1 V, nous affichons 10 A 22
Calibration d une voie virtuelle Corrige un décalage de la lecture de la mesure Entrée analogique uniquement Multivoies si toutes du même type Effectuée par logiciel Peut être combinée avec toutes t les autres mises à l échelle personnalisées Démonstration d une mesure avec mise à l échelle et calibrée Construire un programme de mesure de température et ajustement de la voie par calibration 23
Comment programmer avec DAQmx? Qu est-ce que NI-DAQmx? Un driver logiciel Une DLL qui réalise les appels directs à la carte DAQ Cela supporte les logiciels NI suivants : LabVIEW LabWindows/CVI Measurement Studio Ainsi que les langages suivants : C ANSI Microsoft C/C++ Visual Basic Borland C++ Borland Delphi 24
Périphériques simulés NI-DAQmx Exécuter des programmes NI-DAQmx et les assistants sans le matériel Exécution avec quelques exceptions Les déclenchements sont instantanés Lecture de fausses données (les données analogiques sont une sinusoïde avec du bruit) Compatible avec une majorité de produits DAQmx (DAQ, SCXI, SCC) Acquisition de données, les fonctions principales Créer une voie virtuelle Lire Écrire Cadencer Déclencher Fonctions de tâches 25
Acquisition de données, nœuds de propriétés Les nœuds de propriétés sont utilisés pour modifier par programmation les paramètres des fonctions Nœuds de propriétés spécifiques pour : les voies le cadencement les déclenchements la lecture l écriture Utilisation des menus déroulants des VIs DAQmx Sélectionnez vos paramètres : Type de mesure? Grandeur de la mesure? Type de capteur? Type de signal? Voie unique ou multiple? Échantillon unique ou multiple? Retourner les données au format waveform ou double (tableau)? 26
Utilisation des nœuds de propriétés Insérer la propriété dans le chemin de déclaration des fonctions Lire ou écrire un paramètre d une propriété DAQmx Exemple de paramètres : type de mesure nom de la voie physique valeur d entrée max. de la carte échelle personnalisée nombre de lignes d E/S rapport cyclique compteur encore beaucoup plus! API NI-DAQmx en LabVIEW Configurer Configurer Configurer Démarrer Lire/écrire une voie les cadencements les déclenchements l acquisition les données Effacer la tâche 27
API NI-DAQmx en C DAQmxCreateAIVoltageChan( taskhandle, Dev1/ai0,, DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL ); Configurer une voie DAQmxCfgSampClkTiming( taskhandle,, 10000.0, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, 1000 ); DAQmxCfgDigEdgeStartTrig( taskhandle, /Dev1/PFI0, DAQmx_Val_Rising ); DAQmxStartTask( taskhandle ); Configurer les cadencements Configurer les déclenchements Démarrer l acquisition iti DAQmxReadAnalogF64( taskhandle, -1, 10.0, 0, data, 1000, &read, NULL ); printf( Acquired %d samples. %d, read ); DAQmxClearTask( taskhandle ); Lire/écrire les données Effacer la tâche Démonstration d une mesure analogique Construire un programme de mesure avec les fonctions DAQmx. 28
Techniques de synchronisation Démonstration Synchronisation multifonction et multipériphérique Le temps réel et l acquisition de données L acquisition de données peut s effectuer sur un système d exploitation temps réel pour : la fiabilité le déterministe de l exécution et du temps de boucle le déploiement sur des cibles autonomes PC, PXI, cfp, crio Il n y a pas à réapprendre un langage de programmation 29
Conclusion et Références www./daq Tutoriaux Vidéos www./multimédia Vidéos Démonstrations www./support Manuels produits (pdf) Base de connaissances Forums Codes d exemples Drivers des produits Nous vous offrons la possibilité de refaire dans votre entreprise : cette présentation une ou plusieurs démonstrations présentées ici Pour cela, merci de le noter sur votre questionnaire. i 30
Merci pour votre attention, des questions? 31