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 :

[Débutant][LV10.4] Fenêtre a apparition unique


Sujet :

LabVIEW

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Points : 80
    Points
    80
    Par défaut [Débutant][LV10.4] Fenêtre a apparition unique
    Bonjour,
    J'ai un souci avec une fenêtre que je dois faire apparaitre dans un certain cas sous certaine condition:
    Tant que l'arrêt d'urgence n'est pas actionné, et si le niveau est inférieur à 0.8 alors j'affiche "il n'y a plus d'eau". J'arrive à afficher la fenêtre mais quand je clique sur "Ok", elle reviens car je suis dans ma boucle While. Auriez-vous une idée pour que cette fenêtre arrête de me prendre la main et de m'obliger à couper LV grâce au "gestionnaire de tâche"?

    J'ai déjà essayé de me servir de la fonction "premier appel" mais le problème reste le même, la fonction m'envoie en permanence "vrai" alors qu'elle n'en ai pas à son premier appel.

  2. #2
    Membre habitué Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Points : 174
    Points
    174
    Par défaut
    J'ai du mal a visualiser, mais je suppose que tu peux utiliser une FGV (Variable Globale Fonctionnelle) avec 3 opérations (Read, Set et Reset par exemple). Dans ta boucle, avant l'appel de la fenêtre, tu vérifies par exemple que ta FGV est a l'état FALSE, dans ton sous-programme contenant la fenêtre tu Set ta FGV à l'etat TRUE et lorsque tu sors des conditions d'appel, tu la Reset à FALSE.

    Ca devrait fonctionner si j'ai bien compris le problème.

  3. #3
    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
    En utilisant la fonction: First VI call sa devrait passer

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Points : 80
    Points
    80
    Par défaut
    en utilisant la balise first VI call ça devrait fonctionner
    Comme je l'ai dis plus haut la fonction "premier appel" ("FIRST CALL") ne fonctionne pas. Mais merci quand même.

    Ci joint une petite idée de mon VI et de ce que je voudrais faire.
    Tant que le fil du haut (arrêt d'urgence) ou que l'activation circuit chaud est FAUX la boucle While tourne en effectuant un test sur la mesure de niveau. Si celle ci est inférieure à 0.8 alors les variables CC et PC passent à faux, VMC et alerte niveau bas passent à vrai. Et le message dans "afficher un message s'affiche".
    Mon souci c'est que je voudrai que ce message ne s'affiche qu'une fois mais lorsque je branche un FFC ("First Function Call") l'affichage se fait encore et encore ...
    Images attachées Images attachées  

  5. #5
    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
    Dnas ce cas pourquoi pas une variable globale fonctionnelle? tu init un compteur à 0, puis à chaque appel le compteur prend +1, avec un case, tu peux ne le jouer qu'une fois

  6. #6
    Membre habitué Avatar de Nightmare Theater
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Juin 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 127
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par Rodéric Voir le message
    Dnas ce cas pourquoi pas une variable globale fonctionnelle? tu init un compteur à 0, puis à chaque appel le compteur prend +1, avec un case, tu peux ne le jouer qu'une fois
    Yep, j'avais aussi quelquechose de ce style en tête.

  7. #7
    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
    Pour moi, le VI first call doit être placé dans le sous Vi qui sert de popup (pas les VI express)

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Rodéric Voir le message
    Dans ce cas pourquoi pas une variable globale fonctionnelle? tu init un compteur à 0, puis à chaque appel le compteur prend +1, avec un case, tu peux ne le jouer qu'une fois
    Je vais tester ça, c'est vrai que ça semble logique dans la mesure où à la sortie du cas concerné, je pense à mettre une décrémentation de la Variable, ainsi à chaque fois que le niveau repasse en dessous de la valeur limite, la fenêtre s'affiche à nouveau.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Points : 80
    Points
    80
    Par défaut
    Merci pour l'idée Rodéric... Mais voilà en pièce jointe, ce que j'ai fais... Dans le cas où Mesure du niveau est supérieure à 0.8, je remet la valeur "Number to pass" à 0...
    Mais voilà dès le lancement du programme, je met mon niveau à 0 pour tester et la fenêtre "yahourt-yahourt" (j'ai mis ça juste pour tester) s'affiche encore indéfiniment. Quand je met une sonde entre le "+1" et "Number To Pass" en écriture dans la condition, celle ci me dis que NTP passe bien à 1 et reste à 1, mais dans ce cas pourquoi la fenêtre continue à s'afficher ????
    Images attachées Images attachées  

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 111
    Points : 80
    Points
    80
    Par défaut Enfin!!
    C'est bon il m'a suffi de rajouter une structure conditionnelle à la sortie de ma pop-up:
    - Quand j'appuie sur le bouton "Yahourt" (qui maintenant est devenu "Ok") je rentre dans la condition VRAI de ma nouvelle boucle est alors là j'incrémente NTP. Quand je monte ma mesure de niveau, la variable se remet à 0 puis quand je reviens en dessous de 0,8 la fenêtre s'affiche à nouveau.

    Merci de votre aide !!
    Images attachées Images attachées  

  11. #11
    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
    ravi d'avoir aidé, par contre penses à utiliser un registre à décalage plutôt que des locales ("more efficient")

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

Discussions similaires

  1. [Débutant] Mettre une fenêtre au premier plan
    Par richard_sraing dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 07/06/2007, 11h02
  2. Réponses: 1
    Dernier message: 23/04/2007, 10h23
  3. (débutant) Détecter les fenêtres ouvertes
    Par mossitebiesse dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2007, 00h37
  4. [Débutant] Créer une fenêtre windows
    Par frizou11 dans le forum Visual C++
    Réponses: 7
    Dernier message: 13/02/2007, 16h47
  5. [swing][GROS débutant] créer plusieurs fenêtres
    Par Aethis dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 03/07/2006, 17h15

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