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 7.0] Arrêt d'une boucle while qui contient 3 boucles while à l'intérieur


Sujet :

LabVIEW

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut [Labview 7.0] Arrêt d'une boucle while qui contient 3 boucles while à l'intérieur
    Bonjour,

    J'ai un programme qui contient une boucle while qui l'englobe dans sa totalité.

    A l'intérieur se trouve 3 boucles while qui tourne en parallèle sous une condition de booléen tant que c'est "vrai".

    Je souhaite tout simplement pouvoir arrêter ma boucle while principal via un bouton. Mais je n'y arrive pas pour le moment.

    J'ai tenté des manipulations avec des variables globales, mais sans succès.

    Est-ce que vous auriez une idée à mon problème?


    Merci d'avance,

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    Il faut jouer avec les variable locale basée sur ton booléen d'arrêt.
    Ça devrait marcher.

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Bonjour et merci de votre réponse.

    Par contre j'ai tester quelques manipulations mais je ne dois pas avoir la bonne solution.

    Pourriez-vous être un peu plus explicite à ce sujet?

    Car j'utilise un bouton en variable locale mais il n'arrête pas la boucle.

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Je pensais a cela:
    Images attachées Images attachées  
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    J'ai effectuer la même schéma que vous pour effectuer un test. Mais cela ne fonctionne pas, mon programme continu de tourné.

  6. #6
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    je dirai que c'est impossible et pas logique
    Tu fait bien que RUN ( CTRL+R) et pas un Run Continously ?
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  7. #7
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Oui c'étais le fait que j'étais en continu. Merci du coup de main.

  8. #8
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    En faite, ça fonctionne bien. Mais mon problème n'est toujours pas résolu, car en faite dans mes trois boucles while, se trouve encore des petite boucles while à l'intérieur.

    Donc malgrès mon appuie sur le bouton stop, le programme va continuer de tourner dans les petites boucles à l'intérieur.

    Et la je c'est pas trop comment trouver une solution.

  9. #9
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Il faut jouer avec les conditions d'arrêt des boucles WHILE en leur ajoutant un OU avec le QUIT
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  10. #10
    Membre régulier Avatar de Maxoow
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 82
    Points
    82
    Par défaut
    Bah avec des variables locales suplémentaires dans ces boucles ça ne marche pas ?
    Sorry Mario, but our princess is in another castle!

  11. #11
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Oui c'est ce que j'étais en train de faire. J'éffectue des comparaisons en OU avec ma variable de la boucle et mon bouton pour quitter.

    Cela fonctionne bien, mais le seul problème est que j'effectue des opérations à la suite dans mon programme et dès que j'appuie sur le bouton, ce n'est pas immédiat.

    Lorsque j'appuie sur le bouton il va continuer d'éffectuer des opérations avant de s'arrêter.

    J'ai tester de mettre des boucles conditions mais ça marche pas vraiment.

    Ps : Ci-joint une image de mon programme. Vous comprendrez qu'est ce que j'entend par effectuer la suite des opérations.

    Merci d'avance,

  12. #12
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Par contre je n'est toujours pas trouvé de solution à ce problème. J'ai d'ailleurs fait appel à un spécialiste labview de mon entreprise lui expliquant que lorsque j'appuyer sur mon bouton, l'arrêt n'étais pas immédiat.

    Mes boucles et séquences présentes s'effectue deux ou trois fois puis s'arrête. C'est une histoire de 5 à 8 secondes..

  13. #13
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    L'arrêt par un bouton dans une boucle WHILE n'est jamais immédiat. Il faut comprendre le fonctionnement de Labview: il exécute tout le code de la boucle, puis teste le bouton, puis rééxecute le code et ainsi de suite. Ce qui engendre toujours un petit délai d'attente qui est tout à fait normal. L'impression que le code s'exécute plusieurs fois est juste une impression.

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    bonjour,

    je reprends ce sujet ancien mais qui correspond tout à fait à mon probleme:
    j'ai une boucle While contenant plusieurs boucles while à l'interieur (3 exactement).

    je voudrais arrêter toutes les boucles en meme temps (les 3 sous boucles et la boucle principale).

    j'a fait la même chose que ds le post 4 de scyrius, seulement j'obtiens un message d'erreur "L'action d'armement du booléen est incompatible avec les variables locales"???
    Images attachées Images attachées  

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    je précise que je suis sur labview 8.5...

  16. #16
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut
    Hello,

    Les variables locales n'acceptent pas d'être instanciées sur des booléens dont l'action mécaniques est basé sur un armement. Il faut une commutation ... c'est une question d'accessibilité et de lecture en mémoire ...

    Sur ta face-avant, fais un clic droit sur ton booléen et va sur le menu "action mécanique" puis sélectionne "Commutation à l'appui". Ça devrait marcher ....

    A+
    B.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    parfait, cela fonctionne maintenant, merci beaucoup!

  18. #18
    Candidat au Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    bonjour j avais le même problème: plusieurs boucle while dans une boucle globale et j ai fait ce que t as proposé et ça a marché, l 'exécution des boucles s’arrête mais le programme reste en mode "run" toujours, je me trouve obligée de cliquer sur le bouton rouge de" abort execution" pour qu'elle s'arrete
    est ce qu il y a comment faire pour sortir carrément après avoir cliqué sur le bouton stop ?
    MERCI

Discussions similaires

  1. [AC-2007] Evaluer une valeur texte qui contient un champ
    Par spirou33 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/03/2012, 15h25
  2. [LabVIEW 8.6] Arrêt d'une boucle for
    Par zohariel dans le forum LabVIEW
    Réponses: 6
    Dernier message: 29/07/2009, 12h41
  3. Réponses: 3
    Dernier message: 07/06/2009, 20h59
  4. Réponses: 3
    Dernier message: 28/11/2008, 08h21
  5. Réponses: 5
    Dernier message: 14/11/2007, 11h40

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