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 :

[Labview 8.5] enregistrer automatiquement sur plusieurs fichiers txt


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut [Labview 8.5] enregistrer automatiquement sur plusieurs fichiers txt
    Bonjour à tous,

    Pour commencer cette discussion, je vous présente mes meilleurs vœux pour cette nouvelle année avec en premier lieu la santé!

    Je dois piloter des capteurs selon 4 axes en leur envoyant un certain signal (par générateur...) et en récupérer ce signal ,sur un autre capteur ou le même selon la configuration de l'expérience.

    J'arrive à enregistrer mes données (en .txt) mais cependant, selon le nombre de séquences configurés le fichier de sortie est trop lourd (plusieurs centaines de MO).

    Serait-il possible d'effectuer une boucle permettant d'enregistrer automatiquement sur un nouveau fichier au bout de X MO, en incrémentant le nom du fichier automatiquement ( genre fichier1, fichier2....).

    La partie déplacement se décompose en 4 boucle for imbriquées permettant les 4 déplacements (au choix X,Y,Z,Q pour l'ordre des déplacements ainsi que pour le nombre de déplacement).

    Je vous transmet le VI permettant l'enregistrement des données.

    En vous remerciant par avance,

    Pilip
    Fichiers attachés Fichiers attachés

  2. #2
    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,

    voila le principe,

    Utiliser le VI qui renvoi la taille, et tu fait un modulo de cette valeur par la taille maximum voulue du fichier. (La taille est en octet !!!!)
    Tu vire l'ancien chiffre, et tu met l'ancien à la place.

    Je t'ai fait un VI pour mieux comprendre. (ATTENTION : ne mettre qu'un seul "_" dans le chemin pour que ca marche, sinon il faut adapter la recherche du numéro du fichier !!)
    J'ai aussi fait une copie d'écran avec des sondes pour que tu vois tout de suite le principe.

    J'espère que ca t'aidera,

    Cordialement,

    Losaque

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup Losaque pour toutes ces explications

    Cependant, pourrais-tu me renvoyer ton VI en version 8.5 car je n'arrive pas à le lire avec ma version de Labview.

    En te remerciant,

    Pilip

  4. #4
    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
    Voici donc en LV 8.5

    Losaque

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Merci Losaque

    Je m'y mets de ce pas et je te tiens au courant.

    Cordialement,

    Pilip

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Je viens de tester le VI que tu m'as passé et si je comprends bien celui-ci permets de connaître la différence entre la valeur du fichier de sortie et la valeur maximale souhaitée. Est-ce bien cela?

    Ce que j'aimerai savoir c'est si il y a un moyen de couper ce fichier de sortie tout les X MO pour en faire plusieurs ? En utilisant ton programme de différence surement.

    En te remerciant,

    Pilip

  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,

    Actuellement ce VI permet de changer le nom du fichier quand il dépasse une taille donnée. Si ta taille max voulue est de 2Mo, et que tu n'a qu'un fichier de 1.99999MO, ca ne changera rien.
    Cependant si après l'écriture des derniers parametres, il fait 2.1MO, il y aura changement du nom du fichier et sauvegarde des données suivante sur un nouveau fichier.


    Pour la segmentation de fichier, je ne m'y suis jamais penché.

    Cordialement,

    Losaque

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Je te remercie Losaque pour ton aide, cela me permet de mieux cerné mon problème.

    Si quelqu'un sait comment faire pour segmenter un fichier txt existant, je suis preneur

    Cordialement,

    Pilip

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Bonjour à tous,

    Je reviens vous voir car je bloque toujours sur mon problème.

    Quelqu'un saurait-il comment faire pour générer un nouveau fichier tous les 5 MO (par exemple), en y intégrant à chaque fois la sauvegarde dedans.

    Je m'explique : mettons que lors de ma programmation mon fichier de sortie fera 20 MO. J'aimerai que les 5 premiers MO soit dans le fichier test_1.txt, puis les 5 d'après dans fichier_2.txt et ainsi de suite jusqu'à la fin.

    J'ai essayé de faire ceci avec le VI "Obtenir la taille du fichier" pour effectuer la comparaison mais cela ne veut pas fonctionner malgré de multiples tentatives de configuration.

    Si quelqu'un a un exemple ou une idée, je lui en serai très reconnaissant

    Cordialement,

    Pilip

  10. #10
    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
    Tu peux tester avec le VI express enregistrer des données (que tu peut ouvrir comme un fichier .txt), voici une copie décran

  11. #11
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Merci Rodéric mais en fait, vu la configuration du programme, utiliser un VI express ne m'arrange pas...

    En tout cas merci de m'avoir proposé ton aide

  12. #12
    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
    Dans ce cas, tu peux regarder le code du VI express et reprendre seulement les fonctions qui intéressent... mais bon j'ai jeté un oeuil il est gros le code.

  13. #13
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Merci Roderic, j'ai jeté un œil aussi et ça m'a l'air plus compliqué qu'autre chose...

    Je suis en train de testé par un autre moyen, on verra ce que ça donne.

  14. #14
    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 as tu déjà pensé à sa mais... Si tes données sont toujours du même type, pourquoi ne pas enregistrer les données dans un fichier au bout de la nième itération plutôt que de raisonner en terme de taille de fichier. (Si tu connais le nombre de données tu connais la taille correspondante) tu écrases ton buffer pour y mettre les données suivantes etc...

  15. #15
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Ton idée est intéressante Rodéric mais j'ai réussi à trouver la solution, enfin je pense. J'ai fait pas mal de tests et pour le moment les résultats sont corrects (enfin peut-être que d'ici quelques temps il y aura un soucis).

    J'ai mis ma partie enregistrement dans la première boucle for (il y en a 4, une pour chaque axe de déplacement), ce qui fait qu'à la fin de chaque séquence (du premier ordre choisi, soit X,Y,Z ou Q), il m'enregistre sur un nouveau fichier. Ce qui allège grandement la taille.

    Je pense que ça rejoint l'esprit de ce que tu m'as conseillé.

    En tout cas je te remercie d'avoir passé du temps pour m'aider

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2010, 19h42
  2. Effectuer des opérations sur plusieurs fichiers txt
    Par Jim la truite dans le forum MATLAB
    Réponses: 4
    Dernier message: 11/08/2008, 23h18
  3. Réponses: 2
    Dernier message: 05/05/2008, 17h08
  4. #define sur plusieurs fichiers
    Par [thebadskull] dans le forum C
    Réponses: 5
    Dernier message: 14/10/2005, 20h52
  5. Réponses: 4
    Dernier message: 03/12/2004, 11h18

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