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

Similar Messages

  • Problème ordre blocs & numéro paragraphe

    Bonjour,
    Comme indiqué dans le titre, j'ai un problème avec la numérotation des paragraphes dans Indesign qui se créer non pas en fonction de l'ordre des blocs texte dans la page mais en fonction de leur ordre de création.
    Comme exemple, dans l'image jointe, vous pouvez voir :
    - en rouge (à droite) l'ordre de création des blocs texte.
    - en vert l'ordre que je souhaiterais (Titre 01, etc.)
    - à gauche les numéros générés par Indesign (qui se calque donc sur l'ordre de création des blocs!!)
    Or... comment modifier tout ce #£*ù$^!! pour que l'on puisse choisir l'ordre des blocs ou au moins créer une numérotation cohérente.
    Merci pour vos réponses,
    Eilend
    PS : je travails sur Indesign CS4

    Ce n'est sans doute pas la solution plus rapide, mais ça a le mérite de fonctionner sur cette liste de 3 éléments et sur plusieurs pages successives :
    si je coupe (cmd-X) et colle sur place (cmd-alt-maj-V), alors l'ordre est respecté.
    (On parle bien d'une numérotation basée sur une liste définie comme continue au fil des articles).
    Dans l'exemple fourni à droite le point de départ, en noir, au milieu, en rouge, l'ordre dans lequel j'ai créé les blocs sur les 2 pages, à droite, en bleu, après avoir dupliqué et créé une seconde liste de numérotation, j'ai effectué les couper/coller des blocs concernés : dans l'ordre, p1, bloc 3, p2 bloc 2 et p2, bloc 3.

  • Boucles While en parallele

    Bonjour,
    J'ai créé un programme où je fais, dans une boucle While le contrôle d'un pressurisateur et dans une autre boucle l'acquisition et l'enregistrement des données.
    Le pressurisateur doit fonctionner en continu alors que l'enregistrement se fait lors de l'appuis sur un bouton.
    Est-ce que deux voire trois boucles While peuvent fonctionner en parallèle, si oui, faut-il faire qqch de spécial dans le diagramme ou ça fonctionne sans paramètres spéciaux.
    Merci, cdt
    J. Perrin
    Résolu !
    Accéder à la solution.

    dans ton 1er exemple ... c'est l'erreur typique d'une méconnaissance du principe du "flux de données".
    Ta boucle "du bas" ne commencera son exécution qu'àprès la fin de l'exécution de la boucle "du haut".
    Car elle a besoin pour "commencer" d'avoir toutes les données présente à ses entrées.
    Elle s'exécutera ... mais n'exécutera qu'une seule itération.
    voici une solution ... il y a plusieurs façons de stopper des while en // ... celle-ci est,disons, la plus "simple".
    clic droit sur ton bouton "stop" ... create / local variable ... et placer cette variable locale en "lecture".
    Pièces jointes :
    Test_While_qui_fonctionne.vi ‏60 KB

  • [débutant] erreur 50103

    Bonjour à tous, 
    voilà je dois concevoir un banc d'essai d'endurance au cours de mon stage, j'ai donc une partie regulation de pression à l'intérieur d'une gaine avec un cycle de pression définie en face avant et pression atmosphérique, j'ai réalisé ce cycle à l'aide du Vi "simuler un signal arbitraire" (période 9s, pression définie sur 6s et 3s de pression atmosphérique), pour les compressions de cette gaine, j'ai tout simplement créé un Vi "simuler un signal arbitraire" directement relié à ma sortie DAQ de mon vérin, cycle de période 9s aussi que je souhaiterai synchroniser avec le premier. Tout ces cycles répétés x fois via une boucle for.
    Cependant mon problème "erreur 50103" me bloque, j'ai fait le tour de ce forum, mais je n'ai pas bien compris les explications données sur d'autre exemples, je débute avec labview et j'ai certaine zone d'ombre justement sur ces problèmes de nombre de voies, nombre d'échantillons ect...
    Merci d'avoir pris de votre temps pour lire, à bientôt en espérant recevoir une réponse.
    J'ai mis en pièces jointes le Vi de mon programme.
    Cordialement Tedd' Chap's. 
    Pièces jointes :
    Regulation et vérin.vi ‏322 KB

    Bonjour Tedd' Chap's,
    tout d'abord merci d'utiliser le forum National Instruments.
    Tu pourras trouver ici un document très complet sur l'erreur 50103. Vu ton code, je pense que tu te situes dans le cas 4. Il faut donc faire attention à deux choses : ne pas ouvrir simultanément plusieurs DAQ assistants pour accéder au même périphérique en "séquentialisant" le plus possible ton code (utiliser le flux de données en câblant les E/S d'erreur des VI express est un bon moyen pour cela), et bien stopper les tâches d'acquisitions/générations (en câblant l'entrée Stop des DAQ assistant ou en choisissant le bon mode d'acquisition).
    Malgré tout, je suis d'accord avec Titou, utiliser des vi de bas niveau de la palette DAQmx au lieu des assistants DAQ rendrait le code bien plus propre, surtout si tu dois mettre tout ça dans une boucle. Par contre, les VI de bas niveaux DAQmx ne te permettront pas plus que les assistants DAQ d'accéder à ton périphérique simultanément avec plusieurs tâches. Il faudra donc toujours définir un ordre d'exécution dans ce que tu souhaites faire.
    J'espère que ceci répond un peu à ta question.
    Bien cordialement,
    Audrey_P
    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;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Lenteur testand et labview

    Bonjour,
    Voilà mon pb, j'utilise le séquenceur testand pour mes tests, codé en labview (vi)
    Mes tests sont très rapide et tout va bien
    J'ai donc installé ce soft avec une ihm pour les utilisateurs
    Le pb c'est qu'au lancement d'une séquence de test, teststand lance labview et c'est long, plus long que mes tests....
    donc il faudrait pouvoir lancer le moteur d'execution de labview (pas l'environnement de développement) a l'ouverture du pc
    je ne veux pas que les utilisateurs puissent modifier mes vi donc aucun accès à l'environnement de développement
    je suis sûr que je suis passé à côté de quelque chose...
    D'avance merci
    Résolu !
    Accéder à la solution.

    Bonjour melkior,
    La réponse à votre question se situe dans la partie 3 du document suivant : http://www.ni.com/white-paper/9923/en
    Il suffit de modifier la configuration de l'adaptateur LabVIEW en allant dans Configure >> Adapters sous TestStand - cela vous permettra de choisir le moteur d'exécution LabVIEW au lieu de l'environnement de développement.
    Cordialement,
    Celine
    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;}
    Journées Techniques LabVIEW
    Du 15 octobre au 7 novembre : Strasbourg - Lyon - Lille - Toulouse - Mar...

  • Acquisition fréquence variable et basse fréquence

    Bonjour,
    Je suis débutant en LV et dois mesurer la vitesse de rotation d'un moteur qui ralenti. Pour cela, un capteur de vitesse
    me délivre un signal traité par une carte électronique. Un signal carré est issu de cette carte
    dont la fréquence est image de la vitesse de rotation du moteur (160 Hz => 1600 tr/min et 0 Hz => 0 tr/min).
    La carte électronique apporte quelque fluctuation de fréquence, j'utilise donc deux compteur large gamme
    pour mesurer la fréquence.
    Mon problème est le suivant:
    Mon objectif est d'avoir en "temps réel" ( juste une indication, pas de "vrai" temps réel)
    sur ma face avant la vitesse de ralentissement de mon moteur. Cela fonctionne lorsque celui ci tourne
    jusqu'à 150 tr/min environ (15 Hz) en dessous mon VI bloque et je viens même dépasser le time out fixé lors
    de l'acquisition. Il faudrai au moins que j'observe le ralentissement jusqu'à 10 tr/min.
    Si quelqu'un a une idée pour pallier ce problème.
    Par avance merci pour votre aide
    Vincent V.
    Pièces jointes :
    Ralentissement.vi ‏83 KB

    C'est toujours le même soucis quand on a (le grand plaisir) de rencontrer un débutant : 
    1) un Block Diagramme qui fait plusieurs écrans
    2) des dizaines de variables locales partout, partout 
    3) ... bravo !!!! ... tu es passé a côté de la 3eme chose qui caractérise un débutant .... les structures séquences    il n'y en a pas (ouf)
    Pourquoi utiliser toutes ces variables locales ???
    ... alors que tu disposes sur le Diagramme de toutes les informations .
    Pourquoi ne cables-tu pas directement sur le terminal correspondant ? (au llieu de RE-lire l'info via une variable locale)
    Je ne vois aucune gestion de l'erreur sur ton Diagramme.
    Tu as plusieurs noeuds de propriété "de réinitialisation" ... ces noeuds sont flottant !!!
    Qui te dis que cette "réinitialisation" se fera en début d'exécution et pas à la fin ?
    Avec labview, le séquencement du code se fait via le "flux de données" .... sans flux de données l'ordre d'exécution est inconnu.
    Cabler les entrées/sorties d'erreur permet d'établir un flux de données.
    La première chose :
    réduire ton code à UN écran (au passage, aligne, fait "du propre")
    supprime tes variables locales.
    crée un flux de données pour tes noeuds de propriété.

  • Visualiser des données pendant l'éxécution d'une boucle

    Bonjour,
    J'ai réalisé un programme dans lequel je souhaite visualiser en continu plusieurs données (signaux analogiques, numériques...).
    J'ai également une structure condition qui me permet d'éxécuter une série d'actions selon 3modes différents (pas besoin de rentrer dans le détail).
    Mes données à visualiser en continu se trouvent donc en dehors de cette structure puisqu'elles interagissent avec les 3 modes. Mon problème est que lorsquel'éxécution du prog rentre dans cette structure condition, je ne visualise plus mes données puisqu'elles se trouvent en dehors. Comment puis-je faire pour visualiser ces données en continu peu importe l'éxécution du programme?
    Je vous remercie par avance de votre réponse.
    Cordialement.

    Bonjour,
    Quand on met un indicateur à l'intérieur d'une boucle, cette indicateur affiche la valeur que quand la derniere boucle est executé.
    Alors essayez de mettre votre indicateur a l'intérieur de la boucle, si c'est possible dans votre utilisation. Sinon envoyez moi votre VI.
    Brice S.
    National Instruments France

  • DAQ USB 6341 et boucle cadencée plante après un temps d'éxécution

    Bonjour,
    J'ai un souci avec un code (voir fichier joint Labview 8.6)
    Je réalise sur un DAQ 6341 une sortie horloge laquelle est reliée sur une entrée numérique qui me sert d'horloge à une boucle cadencée (cadencement à 250ms). Dans cette boucle je ne fais qu'afficher le temps écoulé en comptant le nombre de top qui sert au cadencement de ma boucle. 
    Lorsque j'exécute tous ce passe bien jusqu'à environ 247 seconde ou tout s'arrète:
    Je n'ai plus mon signal d'horloge que j'ai créé sur le DAQ, et le code Labview semble planté.
    Lorsque j'effectue plusieurs foi l'exécution du code le plantage intervient toujours aux alentours de de 247 secondes!!
    Je ne comprend pas ce qu'il se passe, voyez vous quelque chose dans mon code qui ne colle pas????
    Merci
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Test_sequence-cadence.vi ‏29 KB

    J'ai trouvé d'ou vient le problème!
    Pour ceux que cela intéresse il faut pour le VI DAQmx Cadencement câbler l'entrée "mode d'échantillonnage" avec "Echantillons continus".
    Dans la doc de Labview il est indiqué nul par la valeur par défaut de cette entrée si on ne la câble pas!! Par contre je ne comprend pas pourquoi c'est seulement au bout de 247 secondes que la tache s'arrète???????
    Ci joint le VI fonctionnant (Labview 8.6).
    Pièces jointes :
    Test_sequence-cadence.vi ‏39 KB

  • Quelle boucle choisir

    Bonjour à tous,
    Je ne connais LabView que depuis 15 jours, et ce n'ai pas toujours simple en autodidacte... Tout conseil sera le bienvenu !!!
    J'ai créé un programme de détection de signaux qui fonctionne très bien, mais qui est malheureusement un peu lourd pour ma machine.
    Je ne peux le faire tourner que sur des fichiers de 30 sec, et pourtant j'ai des heures d'enregistrement à analyser =(
    En gros, j'ouvre mon fichier wave, j'en extrait 30sec, je les passe dans mon programme et en sortie j'ai la position des pics détecter dans un fichier texte. Ceci fonctionne très bien, j'ai une commande pour aller aux 30sec suivantes, mais je dois le faire manuellement et c'est très long.
    Je tâtonne un peu, mais je ne vois pas trop comment le simplifier. Ce que j'aimerais, c'est que le programme ouvre 30 sec, écrive les positions, ouvre les 30sec suivante, écrive à la suite les positions etc etc. Je pense que c'est une histoire de boucle, mais je ne sais pas trop comment faire pour passer des 30sec en 30sec sans tout faire planter. A moins qu'il soit plus facile de faire une lecture continue du signal et qu'à chaque fois qu'un pic rempli les conditions, sa position soit inscrite dans le fichier.
    Je vous joins mon diagramme pour vous donner une idée. Cela vous paraîtra sûrement brouillon soyez indulgent =)
    Merci d'avance
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Diagram V3.jpg ‏129 KB

    Bonjour,
    Merci beaucoup, j'ai réussi, avec une boucle while et un noeud de rétroaction pour ajouter les 30 sec à chaque itération. Je suis super content, encore une fois ce forum est génial !!! Juste une petite question sur votre dernier commentaire. Pourquoi remplacer les VI express exactement ? J'ai réussi à le faire pour la plupart, il y a juste l'écriture dans le fichier texte que j'ai pas encore réglé... Pour le moment je prend les valeurs et je les retravaille sous excel pour les obtenir en temps relatif [hh]:mm:ss.000,  avec /24/60/60... Je n'ai pas encore bien épluché le forum sur les enregistrements dans Excel... c'est une des prochaines étapes !
    Merci encore pour votre réponse si rapide !
    PS : j'ai joins mon nouveau diagramme pour montrer le résultat !
    Pièces jointes :
    Diagram V4.jpg ‏139 KB

  • Boucle For et boucle While - Lequel choisir ?

    Bonjour à tous,
    Petite question : dans la mesure du possible, est-il préférable d'utiliser une boucle while ou une boucle for ?
    Cordialement,
    Geoffrey, LabVIEW Associate Developer

    C'est légèrement différent, on peut décider de ce qu'il faut faire si la boucle prend du retard (sortir et donner une erreur, attendre un multiple de, ignorer le retard).
    Mais si il n'y a pas de problème de cadence dans une boucle while ou for, il est fort peu probable que ça jouera aussi avec une timed loop. L'avantage sera que si d'autre tâches viennent prendre de la ressource pendant que cette boucle tourne, "normalement" (oui... on est sous Windows...) la timed loop bénéficie d'une priorité plus élevée.
    Note : le "attendre un multiple de" est très bien mais attention au piège car si le code met plus que la valeur demandée pour s'exécuter, on attend le prochain multiple et ça peut (pas forcément mais c'est possible) décaler encore plus. 
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • Commande d'onglet et execution bouclé

    Bonjour,
    Je bosse en ce moment sur un programme de gestion/supervision d'un Ball-trap je dois envoyer vers un automate les cycles de tirs (une partie peut se disputer à 1,2,3,4 et 5 tireurs) saisi via mon IHM (les cycles de tirs de chacun des tireurs doivent etre chacun dans un
    onglet different).
    Mon probléme est le suivant; comment executer les programmes de mes differents onglet en fonction du nombre de tireur (selectionnés via un menu déroulant).
    Exemple : si l'utilisateur choisi  "4 tireurs" le programme doit éffectuer les actions contenues dans les onglets 1,2,3 et 4.
    Merci d'avance 

    Re,
    Pour boucler, utilise une boucle (while par exemple)
    Jette un oeil ici: States machine
    Il s'agit d'une solution simple à mettre en oeuvre (une boucle while, un registre à décalage et une structure condition) qui est évolutive et qui permet de choisir dynamiquement le séquencement des étapes (ou états). Un petit exemple (utilise l'éxécution détaillée pour bien comprendre)
    A+
    P.S : j'ai omis de transformer mon énuméré d'états en typedef (pense à le faire sans quoi tu auras des problèmes plus tard pour faire évoluer ton code)
    Message Edited by Mathieu Steiner on 05-24-2010 11:10 AM
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB
    Pièces jointes :
    Machine etat simple.vi ‏19 KB

  • Benchmark d'une boucle

    Bonjour,
    La question est peut-être bête, mais je n'arrive pas pour le moment à avoir ce que je veux.
    La voici : "Comment mesurer le temps d'une itération dans une boucle ?"
    Je sais faire ça avec une structure séquence en plaçant des compteurs d'impulsions avant et après une itération, mais le probème est que ce genre de compteurs donne un résultat en milliseconde. Comment faire si l'on va plus vite ?
    Je pense que chaque itération de ma boucle à une durée d'exécution de l'ordre de quelques microsecondes,
    Y a t'il une solution pour mesurer une itération précisément ? Dois-je par exemple mesurer mon temps sur 1000 itérations et faire une bête division par la suite (je ne trouve pas ça très élégant si c'est la seule solution :/)
    Merci d'avance.
    Solved!
    Go to Solution.

    Bonjour Cyco,
    Tout d'abord merci d'avoir posté sur le forum National Instruments.
    Il existe dans LabVIEW un compteur plus précis que le compteur classique qui se nomme "High Resolution Relative Seconds.vi". Il n'est pas présent sur la palette de base, mais se trouve dans le dossier C:\Program Files\National Instruments\LabVIEW 2010\vi.lib\Utility\
    Vous trouverez ici un lien vers un forum plein d'astuces sur LabVIEW. Les premiers posts parlent de ce vi, snippet à l'appui.
    Bien cordialement,
    Audrey_P
    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;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Arrêter boucle consomatrice

    Bonjour
    J'ai developpé un programme sous LabVIEW 8.5, avec une boucle architecture productrice consomatrice. Dans ma boucle productrice je récuprère des données (provenant d'une cartre NI 6210), puis je traite les données dans la boucle consomatrice.
    Le traitement consiste en gros à:
       - détecter une surtension
       - choisir certaines données
       - enregistrer les données sur le PC.
    Pour passer de la boucle productrice à la boucle consomatrice j'utilise une file d'attente et un buffer (voir les pièces jointes).
    Je souhaite arrêter uniquement la boucle consommatrice en gardant le fonctionnement de la boucle prouctrice. L'arrèt est provoqué par un bit d'un autre programme. Par contre je ne souhaite pas garder les données en file d'attente lors de cet arrèt. Avez-vous des idées ou une solution pour résoudre mon problème?
    Merci à tous
    Damien
    Pièces jointes :
    producteur consommateur.JPG ‏26 KB
    Boucle Conso Traitement.JPG ‏511 KB

    Bonjour
    J'ai essayé de changer le time out mais je n'arrive toujours pas à arrèter la boucle consommatrice.
    J'arrive à arrèter la boucle poductrice mais pas la deuxième. Je vais donc vous envoyer mon projet peut etre que cela sera plus facile pour comprendre (je suis désolé mais je suis plutot débutant en labview alors mon programme est un peu dur à lire...)
    Lancement du projet:
    1. lancer "ENREGISTREUR DE DEFAUTS.lvproj"
    2. lancer "Acquisition de données 14 voies 8cas 4.vi"
    3. un fois "Acquisition de données 14 voies 8cas 4.vi" démarré, "Lecture tableau + envoie variables partagées 4.vi" doit se lancer automatiquement
    Explication des programme
    1. "Acquisition de données 14 voies 8cas 4.vi" réalise l'acquisition de 14 tensions (les tension proviennent d'une carte NI6210). Ces tension sont ensuite traitées de la façon suivante:
                - controle de dépassement de seuil sur les 9 première tensions. Si nous avons un dépassement
                - on enregistre 250ms avant le dépassement de seuil et 350 ms après le dépassement
                - les données enregistées (14 tensions) sont stockées dans des fichiers .txt
    2 A partir de ce moment le deuxième programme rentre en jeux ("Lecture tableau + envoie variables partagées 4.vi"). Ce programme lit les fichiers .txt vus précédement et met les données à disposition du serveur "Variable.Engine". Cela me permet de récupérer les données avec un client OPC.
    Le problème de mon application est que je voudrais arrèter les boucles consommatrice et productice de mon premier programme le temps quelle soient traitées par le client OPC.
    En gros je voudrais arrèter mon programme lorsque j'ai une surtension et que mes fichiers .txt sont utilisables (que j'ai enregistré 600ms 250ms +350ms, et redémarrer mon programme sur un ordre du client OPC.
    J'éspère avoir été assez clair et que quelqu'un pourra m'aider
    Merci
    Damien
    Pièces jointes :
    Enregistreur de défauts.7z ‏1190 KB

  • Creer un parrallele model personnaliser avec c#

    Bonjours
    je souhaiterai créer ou modifier un parrallel model de teststand pour pouvoir le personnaliser.
    mais je ne comprend pas comment teststand gere l'action du button, l'appel du model c'est réussi, la face avant s'affiche mais les bouttons pour lancer la mainsequence je n'y arrive pas.
    Si vous avez une solution ou juste des tutoriaux pour m'aider ca serai enorme.
    merci d'avance.

    Salut,
    Ce ne sont pas des boutons classiques que tu utilises pour gérer ton interface opérateur en C#. Ce sont des contrôles ActiveX que tu importes dans ta toolbox (si tu utilises Visual studio cliques droit dans la toolbox et choisi import items et choisi les composants COM NI TestStand User Interface)
    Une fois ces contrôles placés sur la face avant tu enregistres une callback associé au contrôle grâce à la fonction:
    axApplicationMgr.ConnectCommand(axTerminateAllButton, CommandKinds.CommandKind_TerminateAll, 0, CommandConnectionOptions.CommandConnection_NoOptions);
    Le 1er paramètre est le nom de ton contrôle ActiveX ("Bouton") , le deuxième est la méthode que le contrôle va invoquer concernant l'éxécution de la séquence.
    Par contre qu'entends tu par parallèle modèle? Veux tu spécifier un autre processmodel par prog en C# ou développer ton propre processmodel?
    As tu bien spécifié le sequence file et la séquence via les combobox control et les as tu enregistré avec les fonctions suivantes:
    axSequenceFileViewMgr.ConnectSequenceFileList(axFilesComboBox, true);
    axSequenceFileViewMgr.ConnectSequenceList(axSequencesComboBox);
    Il faut bien entendu spécifier le point d'entrée de ton process model et lancer l'application manager.
    As tu regardé la simple opérateur interface dotnet fourni?
    cordialement,
    Kamal
    NI France

  • Répétition d'une opération par le biais d'une boucle

    Rebonjour, je post un nouveau message pour vous demander à nouveau votre aide.
    Il y a quelques temps, j'ai réalisé un programme permettant d'envoyer des informations à un capteur (simulation de l'appuie sur la touche a, puis p, puis échap.
    La réalisaton fonctionne, seulement maintenant j'aurai besoin de realiser plusieur fois la simulation de l'appuie sur la touche p.
    Je vous met mon programme en pièce jointe, pourriez vous me dire ce qui ne va pas au niveau de la boucle ?
    Cordialement
    Note : Dans une version antérieure j'avais mis la boucle seulement sur la partie simulation de l'appuie sur la touche p, cela ne marchait pas non plus
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    port serie ecriture(modif17) - Test structure évênement.vi ‏178 KB

    C'est tout à fait normal que ça ne s'exécute qu'une fois, vu que le bouton conditionne l'action, et que tu n'appuies qu'une seule fois dessus. En fait dans tous tes cas tu dois sortir les conditions, et les boutons n'ont pas besoin d'être cablés.
    Il faut juste le laisser dans le cas correspondant s'il est en latch pour qu'il se réinitialise (qu'il se relache) mais il n'y a pas besoin de le cabler. L'action choisie génère un évênement qui est enregistré par LabVIEW  pour effectuer l'action correspondante
    L'évênement value change correspond à n'importe quel changement de valeur généré par l'utilisateur sur l'IHM ou par l'utilisation d'un noeud de propriété Value(signaling). c'est donc celui qui s'adapte le mieux à la gestion des IHM car tu peux t'en servir sur toutes les commandes et le générer par programmation.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

Maybe you are looking for

  • Purchase Invoice (AP Invoice)

    Greetings from India. we have some issues with some purchase invoice AP invoice. we buy some materials and some consumables which are second sale.  The supplier give us an assessable tax invoice for us to avail the CENVAT tax credit, which is a diffe

  • HELP! Can't import photos!!

    "iPhoto cannot import your photos because there was a problem writing to the volume containing your iPhoto library" WHAT THE **** DOES THAT MEAN?!?!?! and how do I solve this problem?

  • Is Photoshop CS2 compatible with WIN 7?

    Is Photoshop CS2 compatible with WIN 7?

  • Iphone downloaded 180Mb+ of data by itself and drain the battery

    Hi Guys, My iphone 16G(NOT 3GS) with 3.1 OS downloaded 180Mb+ of data by itself the other day and battery went flat after. I didn't even touch my phone and phone was on my desk all time. I am 100% sure that my phone is on sleep mode and on home scree

  • Stsadm.exe –o sync –deleteolddatabases throws ULS error

    I'm attempting to re-sync a User Information List on a particular site collection with no results.  In the management shell window I receive "A failure occurred during the processing of this command.  Check diagnostic logs for more information." In t