Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Lecture d'un fichier de mesures (.LVM .TDMS)

Résolu !
Accéder à la solution

Bonjour,

 

Suite à l'acquisition de données et l'enregistrement grâce au VI express "Ecrire dans un fichier", je souhaiterais réouvrir dans un graphique de mon VI après acquisition ce fichier pour analyse ultérieure.

 

J'ai d'abord testé le format .TDMS mais lors de l'ouverture du fichier c'est trop lent (temps équivalent à celui du temps d'acquisition).

J'ai ensuite essayé le format .LVM, l'ouverture est beaucoup plus rapide mais l'échelle de temps du graphique en abscisse est érroné. En effet il me rajoute du temps par rapport à l'acquisition.

 

En PJ vous pouvez ouvrir mon VI et aller dans l'onglet "Analyse", dans le graphique module 6 chercher le fichier .LVM en PJ avec la barre de recherche "chemin" et cliquer sur import.

Vous remarquerez que la courbe se trace de 7h25 à 8h10. Cependant si vous ouvrez le fichier .lvm avec notepad vous allez remarquer que le début d'acquisition est bien 7h25 mais la fin est 7h47.

 

Pourquoi j'ai cette différence?

 

Auriez vous d'autres méthodes pour analyse un fichier de mesures dans labview?

 

Merci pour votre retour.

Tout télécharger
0 Compliments
Message 1 sur 4
3 889 Visites
Solution
Accepté par l'auteur du sujet NM-Dangel

Bonjour,

 

Quelques éléments de réponse.

 

L'enregistrement, dans le code joint, est paramétré pour rajouter un header par segment, i.e. par action d'écriture dans le fichier. Cela n'a pas vraiement de sens à mes yeux, puisque l'enregistrement concerne les même channels, et à priori avec un rythme d'acquisition stable (même si déterminé logiciellement).

 

Lenteur du TDMS ? Mauvaise analyse. Le format TDMS est un format binaire, plus compact que le format LVM (fichier texte). Au sens des accès disques, le TDMS est forcément plus rapide que le LVM. Le problème de lenteur apparente réside à mon avis dans la méthode de d'enregistrement du fichier, avec un header par segment. La fonction de lecture vient lire segment par segment: s'il y a N segment, il faudra boucler N fois pour extraire les données du fichier.

 

Première correction à apporter je pense, réaliser l'enregistrement avec un seul header. Gain de place sur le disque, et lecture d'un seul trait à l'aide du VI Express (Cf. le projet TDMS Express Read and Write.lvproj, disponible dans les exemples de LabVIEW).

 

Pour le choix du format de fichier, je privilégierai le TDMS si les données sont relues drectement dans l'application et doivent être exploité par d'autres personnes "équipées" pour lire du TDMS (il existe un plugin pour Excel, permettant d'ouvrir les fichiers TDMS). S'il faut que les données soient traité par des personnes qui n'auraient un moyen simple de lire le TDMS, le fichier LVM est tout indiqué (format texte, lisible partout).

 

Cordialement,

 

0 Compliments
Message 2 sur 4
3 754 Visites

Bonjour,

 

merci pour votre retour.

En faite j'ai déjà pu résoudre mon problème, mais j'avais oublié de mettre à jour le post.

Je veux cependant confirmer votre idée. C'était bien cela le problème.

Le faite de cocher "un seul entête", cela me permet d'obtenir une seule et meme courbe dans le fichier .TDMS par capteur.

L'ouverture du fichier dans un graphique sur la face avant de labview est aussi beaucoup plus rapide qu'auparavant.

 

Bonne journée

Message 3 sur 4
3 731 Visites
0 Compliments
Message 4 sur 4
3 728 Visites