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 :

[Debutant - Labview 8.6] Temps dans une boucle While


Sujet :

LabVIEW

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [Debutant - Labview 8.6] Temps dans une boucle While
    Bonjour,

    Sur un VI, j'ai une commande numérique en face avant (qui définit un temps en s), et une boucle While dans le diagramme.

    Je souhaiterais :

    - démarrer la boucle dès que cette commande est lancée

    - arrêter la boucle et réinitialiser ce qu'elle contient dès que le temps défini dans la commande est écoulé (OU lorsque l'on appuie sur le stop)

    Comment faire ? Merci par 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: [Debutant - Labview 8.6] Temps dans une boucle While
    Salut,

    Vois en attaché pour le déroulement de la boucle et le timing .....

    Pour le reste :

    Que veux-tu dire par "démarrer la boucle dès que la commande est lancée" ?
    Que veux-tu dire par "réinitialiser ce que la boucle contient" ?? Vaste programme ...

    A+

    B.
    Images attachées Images attachées  

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Résolu !
    Ca marche !!
    Par contre, j'aimerais juste comprendre une chose dans le fonctionnement de ton schéma : tu as un compteur d'impulsions d'horloge dans la boucle, et tu le soustrais à un 2eme compteur d'impulsions situé en dehors de la boucle.
    Comment fonctionne cet ensemble ?

    Sinon, "démarrer la boucle dès que la commande est lancée" : l'utilisateur rentre un temps en consigne sur la face avant, lance le programme, et la boucle démarre immédiatement.

    "réinitialiser ce que la boucle contient" : toutes les commandes sur la face avant sont remises à 0 dès que le temps est écoulé ou lorsque l'utilisateur appuie sur stop. J'y suis arrivé en utilisant une structure séquence empilée et en y glissant les variables locales qui représentent toutes les commandes.

    En tout cas, merci beaucoup pour ton aide et par avance, merci pour la réponse à la question ci-dessus !

  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:
    Salut,

    Je suis content que ça marche ....

    Pour info, le compteur d'impulsion situé en dehors de la boucle permet de stocker le moment (horloge Windows en ms) de départ de la boucle. Le compteur d'impulsions dans la boucle permet d'obtenir le moment de passage dans la boucle à chaque étape. En soustrayant les deux, on obtient la durée (en ms) écoulée depuis le début de la boucle.

    ATTENTION : Le code que je t'ai envoyé est un code de principe. Dans la pratique, tu aurais intérêt à temporiser un peu ta boucle (genre attendre 10 ms à chaque étape) sinon, LabVIEW va essayer de la faire tourner au maximum de la vitesse possible, ce qui risque d'emboliser ton processeur. Une boucle d'attente d'une action de l'utilisateur doit toujours être temporisée.....

    Sinon ce que tu me racontes pour le reste de ton programme (utilisation des variables locales) me paraît bien

    Bonne continuation

    B.

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

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