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.2] [Débutant ]Entrées et sorties des données dans une boucle while


Sujet :

LabVIEW

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [LV 8.2] [Débutant ]Entrées et sorties des données dans une boucle while
    Bonjour,

    Je suis toujours en train d'étudier un programme déjà réalisé par une autre personne dans le but de l'améliorer. J'aurais une question concernant les tunnels de boucle.

    Dans le programme, l'acquisition des données se fait grâce à l'assistant DAQ, un VI "assistant DAQ" est situé hors d'une boucle while, les données sont regroupées dans un tableau hors de la boucle while également puis le tableau est transmis dans la boucle via un tunnel, le tableau est traité via différents VI dans la boucle puis les données traitées ressortent de la boucle grâce à un tunnel.

    La question que je me pose est de savoir si les données d'entrée et de sortie sont actualisées à chaque itération de la boucle while ou alors juste quand la boucle s'achève. Par exemple au temps T1 le tableau 1 issu de l'acquisition de données entre dans la boucle, la première itération se produit ; à la deuxieme itération la boucle prend elle en compte le tableau T2 issu de l'acquisition au temps T2 ou reste-elle à T1 jusqu'à ce que la boucle s'achève?
    De même est-ce que les données traitées sortent de la boucle à chaque itération ou seulement à la fin de celle-ci?

    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
    Hello,

    LV fonctionne en flux de données: donc pour disposer de tes données en sortie de boucle, il faut que celle-ci soit terminée. Si tu veux faire autrement, tu doit passer par des variables locales.

    a+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    Décidément, elles reviennent partout ces variables...

    Par contre, cette question est intéressante :
    Citation Envoyé par Jon_Wo-o Voir le message
    La question que je me pose est de savoir si les données d'entrée et de sortie sont actualisées à chaque itération de la boucle while ou alors juste quand la boucle s'achève.
    Je serais tenté de dire que si le DAQ est placé en dehors de la boucle, il fait l'acquisition une fois pour toute.
    C'est la compréhension que j'en ai en tout cas.
    Attends des experts pour confirmation ou infirmation

  4. #4
    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: Tunnel de boucle .....
    Bonjour,

    Un tunnel de boucle est une "vu" comme une variable locale à la boucle.

    En entrée, il y a donc copie du contenu du contrôle (ou de la constante) que vous placez en entrée dans le tunnel (vu comme une variable locale).

    Ainsi, si vous modifiez la valeur du contrôle pendant que la boucle tourne, cela n'a pas d'incidence sur le déroulement de la boucle. Celle-ci peut donc travailler en toute tranquillité, dans un processus qui lui est propre.

    Donc, en terme d'actualisation, il y un décorrélation TOTALE entre les données externes à la boucle et les données internes (indice, tunnel, contrôle placés dans la boucle).

    L'unification du tunnel de sortie (autre variable locale) et de l'indicateur (externe à la boucle) qui reçoit le contenu du tunnel se fait à la fin de l'exécution de la boucle.

    J'espère que ces éléments théoriques vous aideront à mieux comprendre le fonctionnement de votre code

    A+
    B.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci pour vos réponses j'y vois plus clair maintenant !!

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

Discussions similaires

  1. Insérer des données avec une boucle while
    Par adnanedelphi dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 20/11/2011, 13h24
  2. 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
  3. [MySQL] concaténer des données dans une boucle recursive
    Par stily dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/01/2009, 22h45
  4. Gestion des erreurs dans une boucle While
    Par Gregory.M dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2008, 20h57
  5. [MySQL] récupérer les dimensions des images dans une boucle while
    Par Navyel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/08/2007, 11h09

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