Temps d'attente

Bonjour Monsieur,
 je débute encore avec Labview et Vision Builder,j'ai encore un problème.Mon application est basée  sur l'utilisation d'un webcam et j'espère bien réaliser cet algorithme (lancer la camera-->temps d'attente-->prendre la photo):
-Je lance tout d'abord la vision avec le webcam.
-Un lape de temps se declenche après la vision. 
-Enfin,mon webcam sera capable de prendre une photo claire et nette.
J'ai déjà fait une petite exemple mais j'ai un problemmme de cablage de ce travail(vous le trouverez ci joint avec l'email)
Cordialement,
Zaid LOUAT
Attachments:
temp d'attente.JPG ‏22 KB

Bonjour Zaid LOUAT,
S'il vous plaît, regardez l'image ci-joint. Il montre comment câbler votre exemple et comment utiliser une structure séquence.
Cordialement,
Tim O
Applications Engineer
National Instruments
Attachments:
LOUATI.PNG ‏11 KB

Similar Messages

  • Afficher le temps d'attente à l'aide d'une barre de progression

    Je cherche à afficher un temps d'attente sous la forme d'une barre de progression.
    Pouvez vosu m'aidez ?

    Salut,
    Jette un oeil ici et là
    A+
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB

  • Temps d'attente érroné

    bonjour,
    j'ai besoin pr mon programme d'une temporisation de 5s qui détermine la commande d'un moteur.
    j'utilise la fonction "attendre un multiple de ms", seuleùment je contaste que l'attente est parfois loin des 5 secondes désirées..
    cela est très aléatoire, chronomètre en main, l'attente est régulièrement de 2 ou 3 secondes seulement!!
    Y-a-t-il un autre moyen plus fiable pour une fonction attente? S'agit-il d'un problème réccurent sous Labview (incohérence horloge Labview/Windows)?
    merci de vos réponses

    La fonction que tu utilises fonctionne de la facon dont tu observes.  Cette fonction donne un delais en tranches de temps, donc en tranches de 5 secondes dans ton cas.  Alors, si tu dois faire une action, le compteur a deja debuter..  alors s'il reste 1 sec apres l'action, le delais percu sera 1 sec, mais en realite, la fonction a compter 5 secondes... 
    En autres mots, tu utilises la mauvaise fonction.  Tu veux probablement "Delais".  Cependant, selon to programme, c'est peut-etre mieux de coder la solution d'une maniere differente.  Est-ce que tu attends pour une reponses provenant du moteur?  Il y a t'il une indication que la commande a ete complete'?   Si oui, la boucle devrait etre capable de lire relativement continuellement (en attente d'environ 10 a 100 ms) jusqu'a ce que le moteur (ou sonde ou message) confirme que la commande est complete'.
    Tu peux attacher ton logiciel et on peut regarder ce que tu as fait jusqu'a present.

  • Boucle while parralelle temps attente

    Bonjour,
    Je possede deux boucles while qui commandent deux machines differentes qui marchent bien independament, mais lorsque je met les deux boucles while en parralelle sur un meme vi je suis obligé d'augmenter le temps d'attente des deux boucles.(2 et 4s)
    Y a t il une autre solution?
    Merci pour vos reponses
    Pièces jointes :
    MiniFlash1214.vi ‏100 KB

    Bonjour et merci pour ta réponse,
    Effectivement ça marche bien, sauf l' intervalle d'enregistrement qui est de 4s quand je regle 2s et 4 puis 6s en alternance quand je regle 5s.(alors qu'il marchait bien avant).
    Si je sort l'init de visa l'intervalle est bon mais la carte me donne des valeurs eronées par moment.(un thermocouple sur trois en alternance)
    Il ya un truc a savoir sur les boucles cadensées?
    Ci joint mon VI
    Pièces jointes :
    MiniFlash1223.vi ‏121 KB

  • Temps attente

    Bonjour
    j'ai un petit probleme
    je doit générer trois signaux different en frequence, et chaque siganux a son propre temps d'excution. "je suis sur Labview 2012"
    par example la durée de 1 ere signal et 10ms
    le duexieme signa et 14ms
    le troisieme et 5ms
    je veux sauter directement de 1ere signal vers le 2 eme signal
    la meilleur resultat qu j'ai eu, c'est généré deux signaux avec boucle for mais avec un tempps décalage
    pour bien expliquer ! j'ai généré le 1ere signal et il y avait un temps d'attent de 20ms puis j'ai genere le 2 eme signal
    je ne veux pas ce temps d'attent, plutot je veux passer directement du 1ere au 2eme
    quelqu'un pour m'aider ?
    Merci.

    Okay. Donc plutôt que de générer "morceau par morceau", préparez l'ensemble du signal à générer avant de le passer à la fonction DAQmxWrite. Si vous travaillez avec des waveform, Append Waveforms VI fera très bien l'affaire. En donnée brutes (tableau de DBL par exemple), Build Array Function avec l'option Concatenate.
    Le gros intérêt de la méthode est qu'elle permet de déleguer complètement le cadencement de la génération au matériel, par le bias du driver DAQmx. Encore faut-il lui donner toutes les données d'un seul tenant : sur des temps de génération aussi courts, il n'est pas étonnant d'observer un délais entre deux écritures vers le driver.
    Bon courage,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Comment augmenter le temps de lecture vidéo?

    Bonjour,
    Je suis actuellement en train de faire un VI qui traite une vidéo. J'utilise donc les VI associé au AVI.
    Mon problème se pose lorsque j'utilise des vidéos très longues (au delà de 10min) la boucle qui traite chaque image se bloque car directx atteint le temps limite de lecture d'un fichier AVI. Une partie du message d'erreur concerne la fermeture de l'avi hors je ne le ferme qu'une fois avoir parcouru toutes les images de la vidéo à l'aide d'une boucle FOR. Le VI n'atteint donc meme pas le VI de fermeture, cela bloque avant.
    Il m'est demandé d'augmenter le temps d'attente comment puis je faire ceci?
    Pièces jointes :
    probleme fermeture directx.JPG ‏27 KB

    Je passer pour venir dire que j'ai réussi à contourner le problème.
    Je ne sais toujours pas d'ou cela peut venir mais en passant mes vidéos par un logiciel de montage vidéo labview les accepte. A mon avis la compression des  vidéos devait être trop élevée, pour une heure la vidéo ne pesait que 40Mo, une fois modifier et réencoder elle fait 200Mo et est accepté par Labview.
    Je vais quand même répondre aux question, DirectX 9.0c, Labview 8.6, NI-IMAQ 4.1
    Je perd pas mal de temps en devant repasser les vidéos par le logiciel de montage vidéo mais c'est un moindre mal.

  • Arrêt forcé d'une boucle while

    Bonjour,
    Est-il possible d'arrêter une boucle while avant la fin de l'exécution de la boucle ou avant la fin du temps d'attente ?
    Exemple si je programme un temps de cycle de 5 secondes ou plus (quelques minutes), et que j'appuie sur le bouton stop de la boucle j'observe alors une tempo de 5 s (ou plus) avant l'arrêt de la boucle.
    Merci.

    Oui, c'est possible. Vous pouvez remplacer la fonction d'attente avec une structure de gestion des évenements avec un timeout correspondant.
    J'attache un example.
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011
    Attachments:
    Example.vi ‏18 KB

  • Structure condition

    Bjr à tous,
    J'ai fait un vi qui effectue une mesure de tension sur un système. Grace à une boite de dialogue j'indique en face-avant à l'utilisateur l'état du système et les opérations qu'il doit effectuer pour modifier cette état.
    Mais je souhaiterais qu'après que l'utilisateur est pris connaissance des opérations à réaliser dans la boite de dialogue (après appui sur "ok"), il puisse modifier les paramètres en face avant et lancer le diagramme qui changera l'état du système.
    J'ai réussi à réaliser cela avec une structure séquence déroulé qui me permet de réaliser deux étapes.
    La première effectue la mesure de tension sur le système et la deuxième modifie l'état du système.Cela en associant à la première un temps d'attente.
    Mais justement je souhaiterai trouvé une autre solution car l'utilisateur est obliger de modifier en un temps défini les paramètres en face-avant et le temps que j'aurais prédéfinis sera forcement trop long ou trop court.
    Zeeley973
    Lbw8.0 PCI6289

    Bonjour,
    Vous pourriez ajouter un bouton "Valider" sur la face avant pour l'utilisateur afin qu'il puisse avoir le temps de changer les paramètres en question, après avoir pris connaissance des opérations à réaliser dans la boite de dialogue. Une structure condition vous permettrait d'exécuter la portion de code en fonction de l'état de la variable booléenne associée au bouton.
    Cordialement.

  • Verification du cadencement Daqmx

    Bonjour,
    J'ai besoin de prouver que le cadencement Daqmx fait bien son boulot.
    Je suis dans une boucle while qui fait des acquisition régler a 1000 Hz par la fonction DaqMx.
    J'aimerais savoir comment vérifier qu'entre chaque pas de la boucle while il se passe bien 1 ms !
    En prenant le temps (horloge Windows ?) je n'ai pas les milliseconde de disponible.
    Peut on utiliser une autre prise de temps afin d'obtenir l'heure en ms?
    Par exemple trouver la valeur que renvoi la fonction temporisation : "Attendre un multiple de ms" qui renvoi l'heure en ms si je ne me trompe pas.
    Sinon j'avais pensé à utiliser un nombre d’échantillon fini de 1000 et vérifier qu'il c'est bien écoulé 1 seconde pour toutes l'aquisition.
    Ou faut t'il que je prenne l'heure exactement pour retomber sur 1 seconde et valider le fonctionnement du cadencement par fonction DaqMx?
    Avant l'entrée dans la boucle et à la sortie? ou à la premiere itération et a la sortie de la boucle ? ou encore à la première et dernière itération de la boucle ?
    Merci d'avance,
    Résolu !
    Accéder à la solution.

    Non le cadencement matériel est garantie.
    Une fois le cadencement matériel imposé alors la carte s'occupe de prendre les échantillons à labonne vitesse et remplit un 'buffer', la fonction lecture elle va aller lire dans ce 'buffer'.
    Si par exemple je cadence matériellement la carte à 1kHz, celle-ci rempli le buffer à 1000échantillon par seconde , je peux très bien avec la fonction lire prendre 10 échantillons à chaque tour de boucle donc un temps d'attente de disponibilité d'échantillon de 0.1sec ou bien lire 1000 échantillons et alors la boucle attends que 1000 echantillons soit disponible dans le buffer.
    La vitesse matérielle de la carte ne change pas. Elle fait son boulot et prend bien 1000éch/sec.
    Pour bien comprendre le phenomène utilisez sous MAX le test panel de votre carte, mettez vous sur une voie d'acquisition puis régler acq continue 1000Hz fréquence acquisition puis 1000 echantillon à lire, le graphe se lmet à jour toute les sec, mettez 100 echantillon à lire le graphe se met à jour en 0.1sec et pourtant la fraquenec d'acquisition n'a pas changé.
    Greg S.
    CNRS
    LV 7.1 8.2 8.6 2009 2011 2012 2013
    LPMC - CNRS
    N'oubliez pas de complimenter cela fait toujours plaisir.

  • Boucles parralleles : choisir l'ordre d'exécution

    Bonjour,
    Je réalise un programme mettant en jeu dans une séquence deux boucle while en parrallèle. Cependant étant donné que le parrallélisme n'est qu'une "illusion", l'une s'éxécutant à la suite de l'autre de façon extrêmement rapide, je voudrais pouvoir déterminer laquelle s'exécutera avant l'autre. Puis je le faire?
    Merci d'avances pour vos réponses!

    voici une partie de mon code, je n'ai pas tout mis, elle comporte des tâches daqmx donc vous ne pourrez lancer le programme mais je vais vous expliquer:
    Dans la première séquence je paramètre ce que j'ai appeller la période d'échantillonage, qui définit le temps d'attente d'une des deux boucles dans la séquence suivante (celle du bas).
    Quand je lance le VI, la boucle du haut se lance une fois que celle du bas à terminé sa première itération, ce qui fait que celle ci se lance au bout du temps définit par la période d'échantillonage.
    Hésitez pas à me demander des compléments car je crains que je ne soit suffisament clair.
    et merci pour vos réponses
    Pièces jointes :
    exempleni.vi ‏29 KB

  • Transformation masse en debit

    Bonjour,
    Je souhaite piloter avec labview un debit grace a une balance et un vibreur: la balance donne la masse, labview transforme la perte de masse en debit et via un pid controle une sortie du module usb 6008 NI.
    Je recupere sur labview la masse mais je n'arrive pas a la transformer en debit (soustraction de deux valeurs et multiplication par le temp d'attente entre deux envoies de masse). Comment faut il proceder? tableau? lequel?
    La seconde question sera sur le PID lequel? comment le cabler?
    Dans l'attente de votre reponse
    Cordialement
    Eric MARTIN

    Bonjour Eric,
    Merci d'avoir posté sur le forum.
    Concernant ton algorithme de conversion de la masse en débit, peux-tudonner quelques détails supplémentaires s'il teplaît ? 
    J'aimerais savoir quelles valeurs tu dois soustraire, est-ce la valeur t et t+1 des masses ?
    Concernant le temps d'attente entre deux récupérations de la masse, cela peut être récupéré en monitorant le temps entre deux itérations de ta boucle d'acquisition des valeurs de masse. La palette "Infos temporelles" te permettera d'accéder à différentes fonctions pour la récupération de ce temps.
    Autre information, la fréquence de ton acquisition, qui peut bien évidemment te permettre d'évaluer ce temps.
    Enfin, lorsque tu voudras mettre en place ta régulation PID, il existe différents moyens de l'implémenter. Le document suivant permet de reprendre la théorie et son utilisation dans LabVIEW :
    PID Theory Explained
    Enfin n'hésite pas à fouiller la communauté et La Developer Zone pour trouver des exemples de PID simples qui pourront te permettre de mieux définir ton application : http://zone.ni.com/dzhp/app/main
    Bon courage!
    Antonin G. Associated LabVIEW Developper
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Communauté francophone des développeurs LabVIEW et des enseignants en STI2D
    Si vous souhaitez partage...

  • Exécution parallèle

    Bonjour,
    Je voudrais savoir si il est possible d'éxecuter deux actions en même temps avec Labview. Dans mon cas, je voudrais faire clignoter une lampe (allumer, temps d'attente, puis éteindre et à nouveau temps d'attente), en même temps qu'un message s'affiche sur la face avant.
    Merci pour vos réponses
    Résolu !
    Accéder à la solution.

    Bien sur c'est possible, c'est même l'un des grands interêts de LabVIEW : le flux de données.
    A partir du moment ou une action à toutes les conditions pour se déclencher (comprendre par là : tous les fils dont elles a besoin sont validés), elle s'execute.
    C'est d'ailleurs pour ca que l'ordre d'execution d'un programme est souvent guidé par le fil d'erreur.
    Ainsi, tu peux réaliser : une programmation "série" comme sur cette image :
    Ou une programmation "parallèle" comme sur cette image :
    J'espère t'avoir aidé,
    Cordialement
    J.D.
    French Labview beginner
    N'oubliez pas de complimenter les bonnes réponses - Don't forget Kudos for good answers

  • Récupérer valeur tableau

    Bonjour,
    Je souhaite creer une table qui récupère mes données toutes les 15 secondes. Dans ma boucle While j'utilise un temps d'attente de 1 seconde. Jusque là, je peux récupérer sans problème mes valeurs à chaque tour de boucle. J'ai utilisé le bloc division avec reste afin de diviser l'itération de la boucle par 15. Si le reste vaut zéro je souhaite qu'il me récupère mes données (avec une structure condition). Le problème c'est que cela ne fonctionne pas du tout. Le problème vient des registres à décalage qui stockent mes valeurs à chaque tour de boucle, donc au moment d'écrire ça m'écrit toutes les valeurs du registre au lieu d'une seule ...
    Pouvez-vous m'aider ?
    Merci d'avance.
    Résolu !
    Accéder à la solution.

    Bonjour Flavien_33,
    Pouvez-vous construire un VI simple qui permet de reproduire le problème et le poster? De cette façon, il sera plus facile de vous aider, et de vous donner des conseils ciblés sur la problématique.
    Cordialement,
    Rémi D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Les rencontres techniques de NI - Mesures et acquisition de données : de la théorie à la mise en ...

  • Fermeture lente d'un programme

    bonjour,
    Mon programme fonctionne correctement mais a la fin de celui ci j'ai le choix entre l'arreter ou le relancer ce qui dans tout les cas stop le programme.Et a ce moment la programme mais un temps fou a s'arreter j'ai regarder avec NI spy et j'ai trouver ceci ( pièce jointe 1 )
    Comment puis je limité ce temps d'attente
    ci joint aussi mon programme labview 10.0
    merci d'avance pour votre aide
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    programme banc rot et lin modifié V5.vi ‏564 KB
    capture NI SPY.spy ‏206 KB

    Au lieu d'utiliser la fonction arrêter, essayé avec la fonction quitter labview qui arrête tous les vis en cours d'exécution.
    Cordialement
    L.MICOU

  • Boolean crossing de la palette FPGA

    Le VI Boolean Crossing de la palette FPGA fonctionne t'il ? En tout cas ca n'a pas l'aire de fonctionné sur  le poste de travail.
    J'essaye de faire une methode simple pour detecter un front montant 1 PPS avec une carte FPGA.
    Merci

    Après avoir effectué plusieurs tests et recherches, voilà les informations qui devraient vous être utiles:
     Tout d'abord, bien que vous puissiez accéder à ces informations à partir de l'aide de LabVIEW, voici un lien décrivant le VI Boolean Crossing:
    http://zone.ni.com/reference/en-XX/help/371599F-01/lvfpga/boolean_crossing/
    Voici également un lien vers un forum anglais dont le sujet était très proche du votre:
    http://forums.ni.com/t5/LabVIEW/I-cannot-get-the-Boolean-Crossing-PtByPt-VI-to-give-me-an-output/m-p...
    Comme expliqué dans le lien vers cet autre forum, le fait de placer une fonction d'attente ou un timer de boucle dans la boucle dans laquelle vous placez le VI Boolean Crossing est très important. En cas d'absence d'un minimum de temps d'attente ou de cadencement, d'une part le système va trop vite (et le changement d'état n'est pas visible) et d'autre part, cela monopolise le processeur et peut ralentir l'ordinateur. Ici, le VI s'exécutant sur un FPGA, vous n'êtes pas concernés par le deuxième point.
    Je vous joins 2 VIs que j'ai construit comme exemples:
    Dans l'un des deux, j'utilise une boucle while, j'initialise le Boolean Crossing à false et je choisis de détecter les 2 types de changements d'états (montants et descendants). Dans cette version, c'est l'utilisateur qui fait basculer l'état de l'entrée du VI.
    Dans l'autre exemple de VI, j'ai utilisé une boucle cadencée, je n'ai pas initialisé le Boolean Crossing (il est naturellement initialisé lors de son appel) et je choisis de détecter seulement les changements d'états true->false. Pour cet exemple, je génère un signal carré en booléen grâce à un nœud de rétroaction en entrée du Boolean Crossing, ce qui exclut l'intervention de l'utilisateur.
    J'ai utilisé dans chaque exemple une des façons de cadencer les boucles pour les VIs s'exécutant sur FPGA. Ces deux manières sont quasi-équivalentes ici. J'ai défini 500ms comme constante à chaque fois pour que vous puissiez visualiser les changements d'états de la LED mais vous pouvez réduire considérablement ce temps, le VI Boolean Crossing fonctionnera toujours (utilisez des sondes et animez l'exécution en mode débogage (appelée "mise au point") pour le vérifier)
    L'un des fichiers est en version compatible avec LabVIEW 2009 tandis que l'autre ne peut être exécuté qu'avec LabVIEW 2010 (en raison de la présence du nœud de rétroaction).
    Ajoutez l'un ou l'autre de ces VIs d'exemple sur votre FPGA dans un projet et vous pourrez alors constater le bon fonctionnement du Boolean Crossing.
    Cordialement,
    Jérémy C.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France
    Pièces jointes :
    Boolean Crossing FPGA (boucle while) (LabVIEW 2009).vi ‏20 KB
    Boolean Crossing FPGA autonome (boucle cadencée).vi ‏37 KB

Maybe you are looking for

  • Problem in inserting data into MySQL table

    Hi All, I have a table with just two fields FIRSTNAME and SECONDNAME in MySQL. I am accepting the First Name and Second Name in two text fields and then trying to insert them into the MySQL table. I have set the concurrency of the rowset to CONCUR_UP

  • Time Based Workflow - how to make it work?

    Hello, Has anyone successfully built a Time Based Workflow? Could you share your examples? For me it does not work properly. I have tried to set up 2 workflows: on Opportunity Close Date and Account Contract Expiration Date. - Account Contract Expira

  • Help not a available because not connected to internet

    I have seen numerous posts on the subject of Help being unavailable because iTunes is not connected to the Internet when obviously there is a connection. I should note that I am a Windows 7 user. The problem seems to have been in existence for quite

  • Flex file upload more than 100 MB

    Hi, Is there possibly any method where I can upload file to the server which are more than 100 MB? I've gone through the nice piece of code demonstrated at here : http://www.zehnet.de/2009/02/23/flex-fileupload-component/ , where it shown how we can

  • How To Insert Bullet Points in LIVE in DW CC?

    How do your insert bullet points (ordered or unordered) in LIVEVIEW without using divs or classes? (basic tags) I am using DW CC 2014 Thanks