IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

(debutant) condition d'ouverture de fichier


Sujet :

LabVIEW

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut (debutant) condition d'ouverture de fichier
    Bonjour
    Dans le cadre d'un projet je dois faire l'acquisition de données de différent capteurs (Température, pression, hauteur d'eau ...) situés sur un banc d'essai. L'acquisition des données commence lorsque j'appuie sur le bouton "démarrer" et s'arrête en cliquant sur le bouton "stop". En cliquant sur le bouton "démarrer" le programme me demande de sélectionner le fichier texte dans lequel je veux que les données s'enregistrent. Le bouton "stop" ne commande pas la fermeture du fichier. Celle-ci se fera grâce au bouton "arrêt définitif".

    Ce que je veux maintenant, c'est que lorsque je démarre l'acquisition de données d'un autre capteur, le programme enregistre automatiquement ces données à la suite des données du capteur précédent sans que mon programme me re-demande dans quel fichier texte je veux enregistrer les nouvelles données. J'ai pensé à conditionner l'ouverture du fichier avec le bouton "stop" mais je n'y arrive pas. Comment puis-je faire pour résoudre mon problème ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    A mon avis ouverture du fichier idouane, écriture des données du capteur 1, fermeture du fichier, puis ré-ouverture et écriture des données du capteur 2... c'est pas très beau mais sa devrait marcher

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Pour l'instant c'est ce que je fais. Ouverture du fichier, écriture des données, fermeture du fichier puis ré-ouverture pour le capteur 2. Seulement les données du capteur 2 s'écrivent par dessus les données du premier capteur et je n'ai donc plus les données du premier capteur. J'aimerai que les données du 2éme s'écrivent à la suite de celle du premier

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Sans doute pourrez vous stocker les différentes données dans des tableaux, créer un tableau 2D puis les écrire dans le fichier une fois les mesures terminées.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Bonjour,

    Si vous utilisez (par exemple) le VI : "Écrire dans un fichier Tableur", il y a un booléen qui permet justement d'ajouter au fichier les valeurs que l'on souhaite sauvegarder en plus.
    Si tu utilise le VI express "Écrire dans un fichier de Mesure", tu a aussi l'option de rajouter les données a la fin du fichier au lieu d'écraser tout le fichier.

    Bref, ca dépend de comment tu a codé ton programme. Tu pourrais peut être poster ton VI (ou un condensé si le VI est complexe), pour que l'on puisse te donner des conseils plus précis.

    Cordialement,

    Losaque

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci de m'aider! Pour l'instant dans mon code j' écris les données dans un fichier texte. L'ouverture du fichier se fait dans la première étape de la boucle séquencée.
    (Comment faire pour t'envoyer mon VI, les pièces jointes en .vi ne sont pas acceptées...)

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Salut,

    Compresse ton VI en .ZIP ou .RAR

    Cordialement,

    Losaque

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    C'est bon j'ai trouvé. je te mets mon VI en pièce jointe (qui ne doit pas être trop complexe, je viens a peine de débuter sur Labview)
    Fichiers attachés Fichiers attachés

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Re,

    D'après se que je vois :
    * Tu n'a besoin d'ouvrir ton fichier qu'une seule fois par lancement à se que j'ai compris, donc place la création de ton fichier texte au tout début de ton programme (avant même de rentrer dans ta grosse boucle While). Et profites en pour y placer l'écriture des noms de tes colonnes

    * De même pour la fermeture du fichier Texte. Vu que tu ne dois le fermer que quand tu a fini tes mesures, place de telle sorte qu'il ne se ferme que quand tu as quitter ta boucle While.

    *Au vu de la façon dont tu sauvegarde tes données, je te conseille fortement d'utiliser le VI "Écrire dans un Fichier Tableur". Ce VI Ouvre+Modifie+Ferme le fichier pointer. Il te permettra de facilement formater tes données pour du traitement Tableur (1 Donnée = 1 Case Excel par exemple)

    Losaque

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Ah très bien! Ça fait ce que je veux maintenant en mettant la création du fichier en dehors de la grande boucle while.
    J'ai une version de labview ou tout les modules ne sont pas installés et je n'ai pas trouver le VI "écrire dans un fichier tableur". Les seul VI que j'ai sont "écrire dans un fichier texte" et "écrire dans un fichier binaire". Cependant pour l'instant j'ouvre le fichier texte avec Excel.
    Merci de ton aide précieuse!

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Re-Re,

    2eme retour par rapport à ton VI,

    * Actuellement, tu ne fait qu'une mesure par une mesure (Température OU Pression OU Hauteur ...). J'imagine que ce n'est pas ce que tu souhaite. Il va donc falloir que tu revois ton code si tu veux tout faire en même temps (et la je pourrais pas t'aider car je n'utilise pas -ou peu- les DAQmx).

    * Je te remet ton VI modifié avec une solution que j'ai trouvé en fouillant dans les fonctions texte (Le positionnement de l'écriture à la fin d'un fichier texte, donc pas de passage par un fichier tableur). J'y ai mis quelques commentaires qui t'aideront peut être.

    Bon courage pour la suite

    Losaque

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup!
    Si, en faite je ne veux faire que mesure par mesure et pas toutes les mesures en même temps car les capteurs sont placés sur un banc d'essai (de la Fac) dont la configuration ne permet pas de faire fonctionner tout les capteurs en même temps. Sur le banc d'essai une commande nous permet de choisir la configuration du banc et donc le capteur.

    Merci de ce que tu m'as envoyé, ca va m'aider !

  13. #13
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Je viens d'avoir une illumination !!!

    Tu n'a pas mis dans tes boucles While de temporisation, ce qui fait que ton/tes processeur(s) est/sont (bon j'en ai marre, on va dire que tu as au moins 2 processeur).
    Ce qui fait donc, que tes processeurs sont utiliser a plein régime (100%), tu ne pourra donc quasiment rien faire de façon fluide pendant l'exécution de ton code. Voila le lien du site qui t'explique tout ca. Je te conseille d'ailleurs de la lire car elle donne vraiment de bonne base (et elle n'est pas trop longue).

    Voila ca devrais être tout.

    Encore bon courage

    Losaque

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Dois-je mettre cette temporisation dans toute les boucles while ? Il y a t-il un temps minimum de temporisation ?

  15. #15
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Personnellement je met des temporisation dès que je crée une boucle While, ca m'évite d'oublier.
    Pour se qui est du temps de la temporisation ... je dirais que ca dépend de l'utilisation que tu a besoin de faire ... Par exemple, si tu veux essayer de lire des capteur toutes les 2-3 secondes, ou toutes les 200-300 ms. De même, si tu a une interface utilisateur, tu ne doit pas mettre de tempo trop longue pour éviter que l'utilisateur pense que le programme à planter alors qu'en fait il est dans une tempo.
    Personnellement, je met entre 10 et 100ms (sachant que Windows n'ai pas un OS temps réel, 50-100ms doivent être bien).

    L'important n'est pas la durée (tant que tu ne met pas 1ms bien sur ^^), mais le fait de laisser du temps au processeur afin de traité les autres processus.

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    OK très bien, je viens de rajouter un temps de temporisation pour chacune de mes boucles while.

    Bonne continuation à toi aussi et encore merci

    +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Condition d'ouverture de fichier
    Par Thalica dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/04/2014, 22h18
  2. conditions et ouvertures de fichiers
    Par membreComplexe12 dans le forum C++
    Réponses: 2
    Dernier message: 02/02/2011, 22h13
  3. Réponses: 2
    Dernier message: 17/07/2007, 11h53
  4. [VBA-E][debutant] Problème avec l'ouverture de fichiers .INI
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2007, 08h36
  5. Réponses: 10
    Dernier message: 18/08/2006, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo