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 :

Tempo dans une boucle while secondaire


Sujet :

LabVIEW

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Tempo dans une boucle while secondaire
    Bonjour a tous,
    Je réalise actuellement un projet ou je traite les informations reçu par un puissance-metre, je règle l’éclairement de mes diodes par un générateur, puis une fois que la puissance reçu est convenable je lance un exécutable qui enregistre l'image.

    J'ai déjà réaliser 90% de la première partie et je m'attaque a l'enregistrement.

    Comme mon système n'est pas immédiatement stable, j’aimerai instaurer une temporisation de 3 seconde entre le temps ou je détecte que le taux d'erreur est assez faible et le moment ou je lance la ligne de code qui lance la vidéo
    De plus il faut que le traitement des données continue en // même si je lance la l'enregistrement de la vidéo.

    J'ai essayer différentes boucles dans al boucle while , en dehors mais je n'y arrive pas, ou le système s’arrête des qu'il entre dans la seconde boucle , ou les données ne sortent pas de la 1ere boucle

    Auriez vous une idée?

    Merci d'avance

    Cordialement Rodolphe B.

    Ci joint le fichier contenant le VI principale
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé Avatar de reg64
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 959
    Points : 1 255
    Points
    1 255
    Par défaut
    Salut,
    D'après ton code la boucle Lancement du programme d'enregistrement ne se lance que si tu appui sur le bouton Stop de la boucle Acquisition des données (fils vert booléen).
    Je te conseil de lire la partie qui traite le flux de données dans la FAQ.
    La solution a ton problème est deux boucle en //:
    1. Boucle Producteur/Consomateur
    2. Variables locales

    ou simplement une boucle while+structure condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Si (taux d'erreur=faible)
    Lance vidéo
    a+

  3. #3
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Salut robedo,
    Comme le dit Reg64, je te conseille deux boucles consomateur/producteur (utilise les fonctions "Files d"attente"). Bon courage

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour, et merci de m'avoir répondu mais :

    Mon problème n'est pas dans le fait de savoir comment exécuter ma 2nd boucle mais plus dans le fait de savoir comment :

    1er cas/
    Sortir une valeur d'une boucle while pendant qu'elle tourne toujours?
    afin de lancer l'enregistrement

    Ou 2nd cas/
    Si j’intègre ma seconde boucle DANS la grande première,
    Comment faire pour que la tempo de ma 2nd boucle n'ai pas d'influence sur ce qu'il y a en dehors de la seconde boucle (soit dans mon cas la 1ere boucle)?

    Dans l'exemple que je vous ai envoyer j’essayai de faire marché les 2 boucles en // mais apparemment c'est pas comme ça que l'ont fait

    Le but final est d'avoir la première boucle while (acquisition) qui tourne tout le temps et des fois , après vérification du taux d'erreur faire tournée en // la seconde

    Cordialement
    Rodolphe B.

  5. #5
    Membre éprouvé Avatar de reg64
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 959
    Points : 1 255
    Points
    1 255
    Par défaut
    Citation Envoyé par robedo Voir le message
    1er cas/
    Sortir une valeur d'une boucle while pendant qu'elle tourne toujours?
    afin de lancer l'enregistrement
    Relis bien mon poste, la réponse y est dans.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    De plus , j'ai commencer labview il y a 3 semaines pour mon stage donc je n'ai pas forcement toutes les connaissances

    Cordialement
    Rodolphe B.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci

    J'ai utilisé une variable local comme tu m'a dit , je pense avoir comprit ce que c’était, je l'ai utilisé mais je n'arrive pas a la contrôler

    Le programme s'envoie au bout de quelques secondes alors que la donnée de stabilité ne lui as pas encore été envoyer.
    De plus si je met un wait X seconde dans la boucle" 2, j'ai l'impression que la boucle 1 le prend aussi en compte car elle ralentit grandement et bug a moitie quand je met un timer

    Ci joint le nouveau VI (il a le même nom par contre)

  8. #8
    Membre éprouvé Avatar de reg64
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 959
    Points : 1 255
    Points
    1 255
    Par défaut
    Citation Envoyé par robedo Voir le message
    De plus , j'ai commencer labview il y a 3 semaines pour mon stage donc je n'ai pas forcement toutes les connaissances

    Cordialement
    Rodolphe B.
    Voici un exemple d'une boucle Producteur/Consomateur:

    a+

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci a toi de m'avoir répondu.

    Pour être honnête je comprend le principe d'une telle boucle mais je ne suis pas sur de comprendre exactement comment elle fonctionne

    De plus, aurait-je quand même ce problème avec la tempo ?
    Si je met une tempo dans la boucle 2 (Consommateur) comment faire pour qu'elle n'intervienne que dans la boucle 2 et pas sur les 2 en même temps?

  10. #10
    Membre éprouvé Avatar de reg64
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 959
    Points : 1 255
    Points
    1 255
    Par défaut
    Citation Envoyé par robedo Voir le message
    Si je met une tempo dans la boucle 2 (Consommateur) comment faire pour qu'elle n'intervienne que dans la boucle 2 et pas sur les 2 en même temps?
    la tempo de la boucle consommateur n'aura aucun influence sur la boucle producteur.
    Fait un essaye en mettant une tempo et un indicateur numérique sur l'itération de la boucle consommateur et un autre indicateur sur l'itération de la boucle producteur.

Discussions similaires

  1. [Tkinter] Méthode get() dans une boucle while
    Par Thundie dans le forum Tkinter
    Réponses: 2
    Dernier message: 04/02/2006, 00h06
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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