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 :

[LV 8.0][Débutant] Récupération de données dans une boucle d'un sous vi


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 11
    Points
    11
    Par défaut [LV 8.0][Débutant] Récupération de données dans une boucle d'un sous vi
    Bonjour,
    je souhaite récupérer des données dans une boucle while qui se situe dans un sous vi (par exemple le nombre d'incrément) et l'afficher sur la face-avant du vi principal pendant que celle-ci s'exécute.
    De même, j'aimerai commander un bouton stop d'une boucle while se situant dans un sous vi à partir du vi principal.

    J'ai essayé avec des connecteurs mais j'ai l'impression que les données en sortie et en entrée du sous vi ne sont pas actualisées durant son exécution.
    Un petit conseil?

    Merci d'avance

  2. #2
    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 Re: [LV 8.0][Débutant] Récupération de données dans une boucle d'un sous vi
    Salut,

    Citation Envoyé par pacman74 Voir le message
    Bonjour,
    je souhaite récupérer des données dans une boucle while qui se situe dans un sous vi (par exemple le nombre d'incrément) et l'afficher sur la face-avant du vi principal pendant que celle-ci s'exécute.
    De même, j'aimerai commander un bouton stop d'une boucle while se situant dans un sous vi à partir du vi principal.

    J'ai essayé avec des connecteurs mais j'ai l'impression que les données en sortie et en entrée du sous vi ne sont pas actualisées durant son exécution.
    C'est normal : le VI principal attend la fin de l'exécution du sous-VI (qui est un nœud d'exécution) pour mettre la valeur stockée dans ton connecteur de sortie à ta disposition. C'est le principe de la programmation par flux de données....

    Un petit conseil?

    Merci d'avance
    Une solution consiste à utiliser des variables globales. Il s'agit de varibles contenues dans des VI "externes" à ton programme mais qui peuvent être appelées, lues, mises à jour depuis n'importe quel VI (ou sous-VI) qui y fait appel.

    Pour plus d'informations (en anglais ...)

    http://zone.ni.com/devzone/cda/tut/p/id/7585

    Bon courage

    B.

  3. #3
    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,
    Citation Envoyé par pacman74 Voir le message
    J'ai essayé avec des connecteurs mais j'ai l'impression que les données en sortie et en entrée du sous vi ne sont pas actualisées durant son exécution.
    Normal car LV attend la fin de l'exécution du Sous-VI pour revenir au VI principal. Tu peux utiliser les variables globales pour sortir des données d'un sous-VI à condition d'exécuter le (s)sous-Vi(s) en parallèle avec le vi principale.

    a+

  4. #4
    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 BrunoIRM Voir le message
    Salut,



    C'est normal : le VI principal attend la fin de l'exécution du sous-VI (qui est un nœud d'exécution) pour mettre la valeur stockée dans ton connecteur de sortie à ta disposition. C'est le principe de la programmation par flux de données....



    Une solution consiste à utiliser des variables globales. Il s'agit de varibles contenues dans des VI "externes" à ton programme mais qui peuvent être appelées, lues, mises à jour depuis n'importe quel VI (ou sous-VI) qui y fait appel.

    Pour plus d'informations (en anglais ...)

    http://zone.ni.com/devzone/cda/tut/p/id/7585

    Bon courage

    B.
    Comme d'habitude BrunoIRM apporte une solution exaustive en temps record

  5. #5
    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 Re:
    Salut !!!!

    Citation Envoyé par reg64 Voir le message
    Salut,


    Normal car LV attend la fin de l'exécution du Sous-VI pour revenir au VI principal. Tu peux utiliser les variables globales pour sortir des données d'un sous-VI à condition d'exécuter le (s)sous-Vi(s) en parallèle avec le vi principale.

    a+
    C'est presque du mot à mot !!!

    C'est rassurant de voir un forum qui tourne bien.

    Salut à toi Reg64


  6. #6
    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 BrunoIRM Voir le message
    C'est presque du mot à mot !!!

    Citation Envoyé par BrunoIRM Voir le message
    C'est rassurant de voir un forum qui tourne bien
    En partie grâce à toi et à Scyrius
    Salut à toi

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Merci je vais tester ça je vous tiens au courant.

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Après quelques tests, tout marche. J'ai du rajouter une boucle pour mettre à jour les variables globales constamment mais rien de bien méchant.

    Merci beaucoup

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

Discussions similaires

  1. Récupération des données dans une boucle for
    Par boubounagh dans le forum Interfaces Graphiques en Java
    Réponses: 22
    Dernier message: 24/10/2011, 16h29
  2. [MySQL] Récupération de données dans une boucle
    Par Rodinrott dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 04/11/2008, 10h15
  3. [D6 => XML] Récupération de données dans une balise
    Par Bason_sensei dans le forum Delphi
    Réponses: 10
    Dernier message: 22/05/2006, 17h15
  4. Problème de récupérations de données dans une table mysql
    Par Helpine dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/03/2006, 19h07
  5. Réponses: 9
    Dernier message: 21/02/2006, 09h06

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