LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

comment enregister des données toutes les minutes?

Salut à tous !

Je travaille sur un programme qui m'enregistre les données d'un capteur toutes les 0.2 secondes dans un fichier excel. j'ai donc configuré le DAQ comme il se doit (nb samples = 200 et Rate= 1k). Toutes les 0.2 secondes, je vérifie la valeur de mon signal pour savoir s'il ne descend pas en dessous d'un certain seuil. J'ai donc BESOIN d'enregistrer mes données toutes les 0.2 secondes pour effectuer ce contrôle.
Mais au final, je souhaiterai écrire dans un fichier excel les données du capteur toutes les secondes (tout simplement pour ne pas avoir trop de place attribuée dans le fichier excel).
J'ai donc pensé conserver mon premier fichier excel et je me suis dit qu'il suffisait de l'ouvrir, le lire et faire une moyenne toutes les 5 données et écrire le résultat dans un autre fichier excel.
Seul problème : je n'arrive pas du tout à trouver comment faire !
Quelqu'un pourrait-il m'aider ?

Merci
0 Kudos
Message 1 of 6
(3,017 Views)
In english

Hi everyone!

I am working on a program that migrates data from a sensor every 0.2 seconds in a file excel. I have therefore set the DAQ as it should (nb samples = 200 = Rate and 1k). Every 0.2 seconds, I check the value of my signal whether it down to below a certain threshold. So I NEED to save my data every 0.2 seconds to check this.
But in the end, I would like to write in a file excel sensor data every second (simply for not having too much space allocated in the excel file).
So I keep my first thought excel file and I thought it was enough to open it, read it and make an average of every 5 data and write the result in another file excel.
Only problem: I can not at all to find out how to do it!
Could someone help me?

Thank you

Message 2 of 6
(2,975 Views)
Il en est de même si vous avez des difficultés par écrit à la feuille Excel? Vous pouvez utiliser une écriture dans la feuille de calcul fonction.
Message 3 of 6
(2,974 Views)

Bonjour van29, je voudrais vous aider avec ce problème. Vous utilisez quelle version de LabVIEW (français ou anglais)? Et quelle OS?

 

Le problème, comme je le comprends, c’est que vous essayez de prendre les 5 données, faire une moyenne, et les enregistrer dans un fichier Excel. À mon avis, il y a deux façons de faire ça:

a)      Vous pourriez enregistrer les cinq points dans un fichier, et puis prendre la moyenne. Comme ça, vous utiliseriez plus d’espace et plus de choses se passerait dans chaque itération.  Cette méthode ne serait pas très efficace.

b)      Vous pourriez faire une moyenne immédiatement, sans enregister les cinq points dans un fichier. Comme ça, vous utiliseriez moins d’espace et moins se passerait dans chaque itération de la boucle «While».

 

La meilleure solution, à mon avis, serait «b» si vous n’avez pas besoin enregistrer les premières données dans un fichier Excel.

 

D’abord, est-ce que c’est absolument nécessaire d’avoir un Rate = 1kHz? Si vous avez besoin de 0.2 échantillons chaque seconde, peut-être vous pourriez avoir un Rate = 5Hz et Nb Samples = 5. Puis, vous pourriez faire une moyenne des 5 données chaque itération et enregistrer les données après la boucle «While» est terminé. S’il vous plaît, regardez le fichier JPEG ci-dessous.

1.       Si vous avez «Dynamic Data», utilisez le «Convert from Dynamic Data» VI. Si vous avez «Waveform Data», utilisez le «Get Waveform Components» VI.

2.       Vous pourriez faire une moyenne avec une boucle «For» comme indiqué dans le JPEG.

3.       Branchez les lignes comme indiqué dans l’image. Soiyez sûr que «indexing» et actif ou inactif et utilisez les «shift registers» comme  nécessaire

4.       Finalement, vous aurez les données après la boucle «While». 

 

De plus, si vous n’aviez pas besoin de faire une moyenne, vous pourriez prendre 5 données chaque itération pour vérifier les valeurs, et puis enregistrer seulement 1 des données.

 

Si cette solution ne marche pas pour vous, faites-moi savoir. Bonne journée!

Dan Richards
Certified LabVIEW Developer
Message 4 of 6
(2,944 Views)

Bonjour Dan,

 

Je vous remercie beaucoup pour votre réponse. J'ai trouvé un moyen d'enregistrer mes données toutes les minutes ! En fait, j'ai intégré une variable que j'incrémente 25 fois, et à la 25ème fois, j'enregistre la donnée issue du capteur. J'ai donc une condition "if" et en entrée, je teste si ma variable est inférieure ou égale à 25. Si ça n'est pas le cas, j'incrémente la variable, si c'est le cas, j'enregistre mes données et je réinitialise ma variable.

Merci beaucoup pour votre aide et pour votre disponibilité

 

 

0 Kudos
Message 5 of 6
(2,941 Views)

oh pardon ! j'ai oublié de préciser que ce bout de programme me permet d'enregistrer toutes les 5 secondes : c'était pour tester si ça marchait ! et comme 25*0,2 = 5, j'enregistre bien toutes les 5 secondes !

 

salut !

0 Kudos
Message 6 of 6
(2,940 Views)