From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet des autres produits NI

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

problème incrémentation

Résolu !
Accéder à la solution

Bonjour,

je me permets de vous demander de nouveaux de l'aide, car je bute sur un problème d'incrémentation de nom de fichier que je pensais avoir résolu, mais en fait non.

voici mon problème: je fais une acquisition en continu à une fréquence de 10 hz, je reçois donc 10 données par secondes de chacun de mes capteurs.

Dans un premier temps, j'enregistre en continu des valeurs moyenneés (moyenne des 10 données / sec), et ceci en continu.

 

En parallèle, je souhaiterais pouvoir enregistrer à la demande la totalité des données dans d'autres fichiers.

je ne peux pas mettre le Vi dans sa totalité car il est trop grand, mais je vais essayer d'être claire.

les noms des fichiers d'enregistrement (ou au moins une partie de leur nom) est défini en amont, ainsi, lors d'une même acquisition, les fichiers correspondants aux valeurs moyennées et ceux correspondants à l'enregistrement de toutes les valeurs (10 hz) commencent de la même manière (pour facilité leur tri), à savoir, la date et l'heure du lancement de l'acquisition.

 

pour l'enregistrement de l'ensemble des données, j'ai créé un bouton "sauvegarde 10 hz". Ainsi à chaque fois que ce bouton est à la valeur vraie, l'enregistrement a lieu correctement.

il me reste à gérer le nom des fichiers. En effet, je peux avoir à faire plusieurs sauvegardes au cours d'une même acquisition.

Pour ceci, j'ai fait deux essais de programmation, le but étant qu'à chaque fois que l'on lance une sauvegarde, le nom du fichier soit incrémenté.

 

-1ère tentative (1ere config.): dans ce cas, à chaque fois que je lance une sauvegarde, labview incrémente le nom de mon fichier toutes les secondes et je me retrouve avec un fichier par seconde contenant 10 lignes (10 données par seconde pour chaque capteur) et ce n'est pas ce que je souhaite.

 

-2ème tentative (2ème config): dans ce cas, lorsque je lance la 1ere sauvegarde, labview crée deux fichiers: le premier intitulé "date heure 10hz 0.xls" et contenant seulement 10 lignes, quelque soit la durée de la sauvegarde, le deuxième fichier est intitulé  "date heure 10hz 1.xls" et contenant le reste de la sauvegarde. Si je redemande une sauvegarde par la suite, labview n'incrémente plus et remplit le deuxième fichier à la suite des dernières données enregistrées.

 

ma question est: comment faire pour que labview ne crée qu'un seule fichier lorsque je lance la sauvegarde, et ceci à chaque sauvegarde??

 

Si vous pouviez m'aider, ça me serait fort utile.

 

pour info, j'utilise Labview 8.5.

je joints les deux config en pièces jointes.

 

merci d'avance

galega

 

 

Tout télécharger
0 Compliments
Message 1 sur 8
3 985 Visites

Bonjour,

 

Ce qui serait intéressant, ce serait de voir la partie qui créé vos fichiers, en l'occurence le sous VI "10 Hz" je présume ?

 

Pouvez vous poster les fichiers mettant en oeuvre votre application afin que nous puissions mieux vous aider ?

 

Cordialement,

0 Compliments
Message 2 sur 8
3 978 Visites

Bonjour,

je vous mets en pièce jointe le VI enregistrer à 10 Hz.

au départ, je n'avais pas programmé l'incrémentation du nom de fichier. à chaque sauvegarde, le fichier créé était réouvert et les données enregistrées à la suite, ce qui n'est pas pratique pour le traitement des données (il faut rechercher dans le fichier les lignes correspondant à chaque enregistrement).

 

j'ai un seul bouton qui commande la sauvegarde des données (vrai) et l'arrêt de la sauvegarde (faux).

je ne comprends pas pourquoi lorsque je demande plusieurs fois la sauvegarde, les données sont bien enregistrées, mais l'incrémentation ne suit pas? 

 

je ne sais pas si je suis très claire, n'hésitez pas à me poser des questions.

merci pour votre aide.

 

galega

 

0 Compliments
Message 3 sur 8
3 971 Visites

Bonjour,

 

Pour moi, il s'agit d'un problème de "concurence" avec votre variable globale "Compteur 10 Hz", en effet, il se peut que la lecture de celle-ci ne soit pas encore terminée que vous essayez d'écrire une nouvelle valeur dans celle-ci.

 

Je vous conseillerai plutôt d'utiliser un registre à décalage auquel vous augmentez la valeur à chaque tour de boucle en fonction de l'état en cours.

 

Cordialement,

0 Compliments
Message 4 sur 8
3 964 Visites

je vais essayer votre solution et je vous tiens au courant.

merci

 

galega

0 Compliments
Message 5 sur 8
3 961 Visites

j'ai essayé avec une boucle et un registre à décalage, mais ça ne donne pas ce que je veux non plus (ou alors, j'ai mal programmé! je débute).

en fait, ce que je voudrais faire, c'est détecter le passage de faux à vrai de mon bouton sauvegarder et compter ces évènements pour pouvoir incrémenter les noms de fichiers.

si vous savez comment faire?

merci

 

galega

 

0 Compliments
Message 6 sur 8
3 959 Visites

Bonsoir,

 

Ci joint un exemple. Bon courage.

Philippe B.
Certified Associate Developer / Dépt Moyens d'essais

www.ingenia-system.com
0 Compliments
Message 7 sur 8
3 930 Visites
Solution
Accepté par l'auteur du sujet galega

Bonjour,

merci beaucoup pour votre aide à tous les deux.

Finalement j'ai fini par trouver la solution à mon problème, je la mets en pièce jointe, ça peut toujours servir à quelqu'un!

encore merci

 

galega

0 Compliments
Message 8 sur 8
3 901 Visites