LUGE 2020.1 : DAQmx, ce que vous ne soupçonniez pas de ce driver

Par MESULOG · mai 2020

Document original : LUGE 2020.1 : DAQmx, ce que vous ne soupçonniez pas de ce driver (PDF, 1,5 Mo, 46 pages)

Télécharger le PDF Ouvrir dans le navigateur

DAQmx – diapositive 1

Ce que vous ne soupçonniez pas de ce driver

Mathieu REYROLLE

Chef de projet / Développeur certifié

Le présentateur

Le présentateur – diapositive 2

 Chef de projet et développeur

 Pratique de LabVIEW et TestStand depuis 2005

 Chez MESULOG depuis février 2013

 Certifications

 CLA depuis septembre 2016  CTA depuis octobre 2016

 Mathieu REYROLLE - LinkedIn

MESULOG – Fiche signalétique

MESULOG – Fiche signalétique – diapositive 3

 Création

 Statut : S.A.R.L. au capital de 150 000 €  Démarrage activité : mars 2000

 Localisation

 Grenoble (Parc Activités Centr’Alp)

 Effectif

 6 ingénieurs, 1 technicien, 1 apprenti

 Données 2019

 Chiffre d’affaires HT : 706 k€  Résultat net : 110 k€

MESULOG – Activité

MESULOG – Activité – diapositive 4

 Développement logiciel

 Orienté test et mesure  Sur plate-forme logicielle National Instruments™

 Étude, conseil, expertise

 Étude de faisabilité  Optimisation, fiabilisation de code existant  Expertise, assistance technique

MESULOG – Compétences

MESULOG – Compétences – diapositive 5

 Plate-formes logicielles

 LabVIEW  LabVIEW Real-Time  LabVIEW FPGA  LabVIEW DSC  TestStand  VeriStand

 Technologies

 Acquisition de données  PXI et instrumentation  Commande d’axes  Génération de rapports  Liaison base de données  OPC

MESULOG – Certifications

MESULOG – Certifications – diapositive 6

 Membre NI Alliance

 Certification National Instruments

 LabVIEW

5 CLA

 TestStand

5 CTA + 1 CTD

MESULOG – Quelques références

MESULOG – Quelques références – diapositive 7

 General Electric – Grid Solution  AREVA NP  CETIAT  HONEYWELL Security  LEGRAND  L.N.E.  ONERA  RADIALL  RENAULT  STMICROELECTRONICS  SOCOMEC  THALES  TRONICS

Sommaire

Sommaire – diapositive 8

1. Il était une fois… DAQmx

Retour rapide sur les l’histoire de ce driver

2. Enregistrement sur fichier

Comment tirer parti de l’enregistrement optimisé en streaming sur fichier depuis le driver

3. Sous-échantillonnage

Un exemple de sous-échantillonnage d’un signal périodique grâce aux fonctions de cadencement et de synchronisation

Diapositive 9

DAQmx – diapositive 9

Il était une fois…

DAQmx

Quelques dates

Quelques dates – diapositive 10

 1987 : premier matériel DAQ, plateforme Apple Macintosh, suivi

l’année d’après par la plateforme PC

 2003 : première release de NI-DAQmx

 Un seul package pour installer l’ancien et le nouveau driver jusque NI-

DAQ 7.4 (packages indépendants ensuite)

 60 produits supportés

 2005 : Simulation des périphérique (DAQmx 7.4)

 …

A votre avis…

A votre avis… – diapositive 11

Combien de références de produits sont supportées par va version 19.0 du driver DAQmx, sortie en mai 2019 ?

a) Environ 80 b) Environ 300 c) Environ 500 d) La réponse D

Pourquoi DAQmx ?

Pourquoi DAQmx ? – diapositive 12

 Limites de NI DAQ traditionnel (ancien driver)

 Architecture de driver mono-thread  Chemin de programmation inefficace et complexe  API simple et avancée incompatible  Fonctionnalités qui ne sont pas toutes disponibles dans tous les

environnements de développement

 Composants redondants entre les groupes de produits  Risqué d’ajouter de nouvelles fonctionnalités

Pourquoi DAQmx ?

Pourquoi DAQmx ? – diapositive 13

 Facilité d'utilisation

 Assistant DAQ  VIs Express LabVIEW  Transition en douceur de la programmation facile à la programmation

avancée

 Cohérence de l'API dans les différents

 Amélioration de la synchronisation

environnements de développement

et de l'acheminement des signaux

 Amélioration des performances

 Chemins de programmation plus efficaces  Capable de travailler en multi-thread  Plus de contrôle des opérations

Fondamentaux

Fondamentaux – diapositive 14

 Terminologie

Tâche DAQmx

 Voie globale virtuelle  Échelle  Tâche

Voie globale virtuelle

Echelle

Y=mx+b Unités

Mode d’acquisition Déclenchement Cadencement Source d’horloge

Voie physique Conf. terminal Gamme d’entrée Calibration

 DAQmx offre une décorrélation entre

voie de mesure et voie physique

Utilisation de MAX

Utilisation de MAX – diapositive 15

 Gérer et tester son matériel

 Définition globale au système

 Échelles / Voies globales virtuelles / Tâches  Test de ces différents éléments  Export/Import de configuration  Exploitable depuis vos applications

 Instanciation d’un périphérique simulé

 Peut constituer une couche d’abstraction pour vos applications

Les palettes dans LabVIEW

Les palettes dans LabVIEW – diapositive 16

 Fonctions essentielles

 Create Channel  Timing  Start / Stop  Read / Write  Clear

Les palettes dans LabVIEW

Les palettes dans LabVIEW – diapositive 17

 Fonctions avancées

 Création programmatique d’une échelle  Accès au Reset et Self-Test (comme sous MAX)  Enregistrement/suppression programmatique des échelles / voies

 Contrôle d’une tâche DAQmx

globales virtuelles / tâches

 Nœuds de propriétés DAQmx

 Coefficients de calibration de la carte  Horloge d’échantillonnage effective  Configuration des buffers  Options de regénération  etc.

Diapositive 18

DAQmx – diapositive 18

S’appuyer sur les outils existants

Enregistrement sur fichier

Scénario

Scénario – diapositive 19

 Scénario :

 Acquisition analogique 4 voies à 1MS/s  Enregistrement dans un TDMS  Acquisition finie  Une seconde de signal

 1Méch par voie à enregistrer

Rappels sur le TDMS

Rappels sur le TDMS – diapositive 20

 Données de mesures écrites en binaire

 Taille sur disque optimisée (vs. format texte)  Accès plus rapide aux données

 Trois niveau d’information

 Fichier  Groupe de voie  Voie

 Meta-data

 Peuvent être associées à ces trois niveaux de données  Typiquement pour une voie, t0 et dt d’une waveform

Approche classique – Le code

Approche classique – Le code – diapositive 21

 La waveform est très facile d’utilisation

 Inscription des meta-data dans le fichier TDMS (t0, dt)

 Gestion de l’écriture sur fichier en trois fonctions

 Open, Write, Close

Approche classique – Fichier TDMS

Approche classique – Fichier TDMS – diapositive 22

A votre avis…

A votre avis… – diapositive 23

A 1Méch/s et pour 1 seconde d’acquisition, soit 1Méch par voie, sur 4 voies, quelle est la taille du fichier généré ?

a) 4Mo b) 32Mo c) 8Mo d) Aucune idée, mais j’ai de la place sur mon disque…

Enregistrement DAQmx – Le code

Enregistrement DAQmx – Le code – diapositive 24

 Une fonction de plus dans le flux DAQmx

 Enregistrement optimisé

 Lecture des échantillons sur 2 octets plutôt que 8 (sans mise à l’échelle)  Mises à l’échelle gérée par le driver dans le TDMS et pour l’applicatif  Fichier 4 fois moins volumineux qu’avec l’approche classique

Enregistrement DAQmx – Fichier TDMS

Enregistrement DAQmx – Fichier TDMS – diapositive 25

 Aurait-on pu faire mieux avec une autre méthode ?

 Aurait-on pu faire mieux avec une autre méthode ? – diapositive 26

 Au prix de quel effort de développement ?

Scaled, Unscaled, Raw

Scaled, Unscaled, Raw – diapositive 27

Données brutes

Données sans mise à l’échelle

Données

mise à l’échelle

Waveform

Timing et attributs

ch0

ch1

Mise à l’échelle

Désentrelacement

Buffer d’acquisition

Scaled, Unscaled, Raw

Scaled, Unscaled, Raw – diapositive 28

Facilité d’utilisation

Performance / Débit

Acquisition unscaled + code spécifique

Acquisition unscaled + code spécifique – diapositive 29

 Techniquement faisable

 Plus de code

 Quid de la mise à l’échelle des valeurs remontées dans l’application ?

 Gestion d’échelle personnalisées ?

 Mise au point, maintenance, évolutions ?

 à implémenter !

 à implémenter !

Quand recourir à cette extrémité ?

Quand recourir à cette extrémité ? – diapositive 30

« Est-ce qu’on peut démarrer/arrêter l’enregistrement alors que la tâche d’acquisition est active, sans devoir stopper et redémarre la tâche ? »

(question de Cyril G.)

 La réponse est non

 L’enregistrement est très fortement lié à la tâche, il

n’est pas possible de jouer sur la commande du log alors que la tâche est active

 L’erreur -200557 est on ne peut plus explicite !

 Pour des besoin d’acquisition continue combiné à un déclenchement de l’enregistrement optimisé et à la demande, sans arrêt de la tâche d’acquisition, alors l’acquisition « unscaled » peut s’avérer nécessaire

Diapositive 31

DAQmx – diapositive 31

Application 100% DAQmx

Échantillonnage équivalent entre 40Méch/s et 80Méch/s

Le besoin

Le besoin – diapositive 32

 Acquisition simultanée de 16 voies analogiques ±10V

 Fréquence des signaux : entre 280kHz et 310kHz

 Besoin d’analyse sur les signaux acquis

 Résultats d’analyse à fournir toute les secondes

 Signaux périodiques « stationnaires »

 Pas de variation significative de signal sur une période d’observation de

l’ordre de une seconde

 Système autonome et borgne, intégré dans une supervision

Solution matérielle retenue

Solution matérielle retenue – diapositive 33

 Deux cartes PXI-6133, série S

 Echantillonnage simultané 14 bits  2.5Méch/s par voie

 Une carte horloge PXI-6608

 Référence d’horloge 80MHz

 Un châssis PXI + contrôleur RT PXI 8101

…le tout programmé avec LabVIEW RT et DAQmx

Les tests de principe sur un PC Windows avec une carte de série E

Nyquist – Shannon

Nyquist – Shannon – diapositive 34

« La représentation discrète d'un signal exige des échantillons régulièrement espacés à une fréquence d'échantillonnage supérieure au double de la fréquence maximale présente dans ce signal. »

Wikipedia, théorème d’échantillonnage

Exploitation du sous-échantillonnage

Exploitation du sous-échantillonnage – diapositive 35

 « Progression » dans le motif périodique

 Un point par période  Nécessite d’observer N périodes pour reconstruire la forme du signal

Limite de l’approche

Limite de l’approche – diapositive 36

 Ne s’applique qu’à un signal périodique et « stationnaire »

 La fenêtre d’observation des signaux pour reconstituer l’allure du signal

dure un grand nombre de périodes du signal observé

 Le signal doit être stable pendant de temps d’observation  Les transitoires ne peuvent être observé convenablement

Implémentation à l’aide de DAQmx

Implémentation à l’aide de DAQmx – diapositive 37

 Une première tâche d’acquisition analogique

 Acquisition finie @ 2.5Méch/s  Permet de déterminer la fondamentale du signal de référence

 Une tâche compteur pour générer l’horloge d’échantillonnage de la

seconde acquisition finie

 Horloge de base à 80MHz  Fréquence de l’horloge générée variable, légèrement inférieure à la

fondamentale mesurée

 Une seconde tâche d’acquisition dont l’horloge est générée par la carte

compteur

 Acquisition finie  Calcul requis pour déterminer la fréquence d’échantillonnage équivalente

Mise en œuvre – Le code

Mise en œuvre – Le code – diapositive 38

 Encapsulation dans une classe

 Fenêtre d’acquisition standard : 50μs  Fenêtre d’acquisition sous-échantillonnée : 10μs  Agrégation de deux tâches

 Génération compteur  Acquisition analogique

Mise en œuvre – Read

Mise en œuvre – Read – diapositive 39

 Démarrage des tâches

 Armement de l’acquisition analogique puis démarrage de la génération compteur

 Lecture de l’acquisition analogique  Arrêt des deux tâches  Report du Pseudo Sample Rate au niveau du dt des Waveform acquises

Mise en œuvre – Adjust Under Sampling

Mise en œuvre – Adjust Under Sampling – diapositive 40

Fréquence d’échantillonnage variable

Fréquence d’échantillonnage variable – diapositive 41

Coup de chapeau

Coup de chapeau – diapositive 42

Un grand merci à Emmanuel Roset (National Instruments France) pour les informations « historiques » transmises au sujet des drivers NI-DAQ et NI-DAQmx

Diapositive 43

DAQmx – diapositive 43

Pour aller plus loin

Pour aller plus loin – diapositive 44

 A propos de DAQmx

 Manuels utilisateurs des différents matériels  Compatibilité entre les versions de DAQmx et de LabVIEW  Compatibilité entre les versions de NI DAQmx et de Microsoft Windows  Qu'est-ce que la Série X ?  NI-DAQmx Custom Scales and Usage Explained

 Fichiers TDMS

 TDMS File Format Internal Structure - National Instruments  TDM Excel Add-In for Microsoft Excel Download

 Toujours plus loin…

 Présentation techniques MESULOG (dont celles du LUGE)  La page du LabVIEW User Group Rhône-Alpes pour suivre nos prochaines évènements

Continuons la discussion

Continuons la discussion – diapositive 45

Le LUGE est le LabVIEW User Group de la région

Auvergne Rhône-Alpes

Tenez-vous informé des prochaines rencontres du LabVIEW User Group Rhône-Alpes et participez à

l’élaboration de la prochaine rencontre !

Plus d’information sur les pages de la communauté NI

Diapositive 46

DAQmx – diapositive 46

Merci de votre attention