Discussions au sujet de NI LabVIEW

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

Horodatage dans un fichier en TDMS (avec lecture en fichier Excel)

Résolu !
Accéder à la solution

Bonjour,

Je souhaiterai horodater des mesures à 10 kHz (par exemple), voici le VI en question (vous pouvez entrer un chemin fichier pour l'essai). Le wave form vient d'une acquisition (que je prend pour un exemple en réalité il est en continue venant d'une carte DAQmx). Je ne sais pas si c'est le VI 'TDMS -Ecrire' qui limite à ms ( 3 zéro après le virgule) ou bien c'est le fichier excel qui n'arrive pas à lire après 3 chiffres après le virgule. 

 

Excel.jpg    

Dans l'exemple je travaille à 10 kHz et il me manque un virgule. Savez vous d'où cela peut venir ? Si un autre utilisateur ouvre ce fichier tdms (fichier d'acquisition) pourra-il voir les quatres chiffres de précision ? Merci d'avance.

 

Cordialement

 

0 Compliments
Message 1 sur 10
2 226 Visites

Je ne sais pas ce que tu entends par une virgule qui manque mais pour le nombre de chiffres après la virgule tu peux essayer de faire un clic-droit sur t0 dans le tableau élément puis sélectionner Display Format ... et changer le nombre de digits pour 6.

 

Ben64

0 Compliments
Message 2 sur 10
2 200 Visites

Bonjour,

Ma fréquence d'acquisition étant à 10 kHz (je prends 30.000 éch/voie) tout les 0.1 ms je dois avoir un point. Or d'après mon précédent VI et dans le fichier Excel ci -dessous :  

 

1.jpg

J'ai 10:39:16,851 : il manque un chiffre de précision (soit 4 chiffres et non 3 chiffres après le virgule), en faisant un clique droit suivant ta méthode ne change rien au problème. En revanche je me demande si cela est limité par le fichier excel et non fichier enregistrement en TDMS.

  

0 Compliments
Message 3 sur 10
2 194 Visites

je vois bien ce que tu veux dire, en effet si tu laisses le "write TDMS" primitive faire la conversion timestamp to string, tu as 3 décimales.

si tu veux avoir un formatage "à toi" de ta string de timestamp, tu dois te la faire et donner un tableau de string au "write to TDMS" au lieu de donner un tableau de timestamp.

 

mais est-ce bien utile d'avoir une colonne "timestamp" dans ton fichier, sachant que tu as un incrément de temps fixe?

si tu sauves le t0 et dt, ça te suffit pas?

d'ailleur je sui à peu près sûr que la fonction "write TDMS" t'écrit le t0 et le dt dans un groupe du fichier tdms lorsque tu donnes en entrée ton waveform.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 10
2 186 Visites
Solution
Accepté par GSXR100038

Ha, en fait non, dans le TDMS c'est un DBL qui est enregistré pour chaque timestamp donc tu a toute la précision, c'est le plugin d'import vers Excel qui t'as fait le formatage en coupant à 3 décimales.

 

Ouvre ton fichier avec scout (gratuit) et tu verras

come je le disais dans le message précédent, la fonction write TDMS avec un waveform t'enregistre les propriété sur la chaque voies, c'est bien foutu!

Capture d’écran 2020-09-28 160628.png


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 5 sur 10
2 176 Visites

https://zone.ni.com/reference/en-XX/help/371361R-01/lvwave/get_waveform_attribute/#details


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 10
2 175 Visites

Bonjour Titou,

Non je ne pense pas nécessaire de faire un tableau de string car la fonction 'Get Waveform Time Array.vi' en allant dans son format d'affichage (comme d'ailleurs l'a remarqué Ben64) tu modifie ses propriétés pour avoir autant de précision après le virgule. Je me demande si le format est déjà précis mais c'est que Excel ne permet de le voir tout simplement, c'est un problème de visu seulement à mon sens

 

Format Excel.jpg 

Effectivement, il est un peu inutile de rajouter une colonne de Timestamp car on connait t0 et delta t entre les acquisitions. Je voulais simplifier le fichier pour éviter que mes collègues modifient sous Python.   

 

 

0 Compliments
Message 7 sur 10
2 172 Visites

des virgules comme séparateur décimal... c'est très français ça!

Windows en français France utilise la virgule par défaut, même Windows en français Suisse utilise le point.

Je me demande Windows français Belge 😮

Mais bon...

 

Pour tes collègues Python, il existe des libraries pour charger directement le TDMS, comme ça pas de soucis de transcription 😉

 

https://pypi.org/project/npTDMS/


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 8 sur 10
2 162 Visites

Bonjour Titou,

 

Je n'ai pas ouvert avec scout mais nous avons DIAdem et je l'ai ouvert le fichier et effectivement la précision est attendue. 

DIAdem.jpg

 

Merci pour la réponse et bonne journée.

 

 

0 Compliments
Message 9 sur 10
2 136 Visites

Bonjour,

Je reviens encore sur ce topic désolé. Après avoir effectuer avec une Fe=10 kHz j'essaie avec une Fe= 100 kHz et là je n'obtient pas les précisions attendues avec DIAdem. Probablement avec un cDAQ simulé je ne pourrai pas aller au delà de 100 Khz  ? Ci joint le nouveau VI avec 100 kHz. Merci de vos conseils. 

Copie d'écran avec DIAdem : 

limité à 4 chiffres.jpg

Probablement il faut peut-être afficher la précision sous DIAdem pour voir 5 chiffres après le point ? Merci

 

 

  

0 Compliments
Message 10 sur 10
2 125 Visites