Variable ou Registre à décalage ?

Bonjour à Tous,
J'ai des questions sur le choix entre variable ou registre à décalage.
Exemple :   
         Dans une boucle While, il y a une machine d'état comportant 10 Conditions. A la condition 1, vous générez un indicateur comprenant un résultat que vous voulez utiliser dans les conditions 8 et 9.
Les questions à répondre sont les suivantes :
- Vous choisissez quoi : registre à décalage ou variable ?
- Lequel est le moins gourmand en ressource ?
- Si vous choisissez la variable, a partir de combien de conditions dans lequelles vous avez besoin de ce résultat vous passerez à un registre à décalage ?
Merci beaucoup, si possible répondre au trois questions
Résolu !
Accéder à la solution.

Bonjour,
Le concept majeur de la programmation sous LabVIEW est le concept de flux de donnees, le fait d'utiliser une variable locale va casser ce concept via les noeuds "lire/ecrire dans une variable locale...".
L'utilisation d'un registre a decalage va permetre d'assurer la continuite de ce flux de donnees a travers la boucle while.
C'est donc la meilleure methode a suivre et ne prendra pas plus de memoire au cours de l'execution du VI qu'une variable locale.
Dans certains cas on pourra meme remplacer le registre a decalage par un noeud de retroaction.
Cordialement,
Da Helmut

Similar Messages

  • Comment ça marche un registre à décalage qui remplace une variable globale

    Bonjour,
    L'utilisation des variables Globales n'est pas conseillée.
    Pour les éviter, il existe une méthode qui consiste à utiliser une boucle While composée d'un registre à décalage non initialiser.
    J'aurais besoin de comprendre comment LabView gère les registres à décalage. Lorsqu'on modifie la valeur du registre (pour remplacer la fonction écriture vers globale), comment et où LabView stocke-il l'information ?
    Merci pour vos nombreuses réponses.
    AKIRA.

    Bonjour,
    Lorsque l'on utilise un registre à décalage, la variable est stockée dans la RAM mais il n'est pas possible de savoir où exactement car cela permettrait de la changer, ce qui n'est pas le but d'un registre à décalage car il sert à protéger les valeurs stockées.
    Cordialement
    David S.| Certified LabVIEW Associate Developer
    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 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...

  • Comment remplacer un registre à décalager par une variable globale

    Bonjour tout le monde,
    Je vous sollicite encore une fois par manque d'expérience....
    Alors cette fois-ci j'ai un VI qui va acquérir une tension et faire la moyenne de celle-ci, mais mon problème est que j'utilise une boucle while avec un registre à décalage et d'après mon tuteur c'est à cause de cette boucle que je n'obtiens pas les résultats escontés.
    Il m'a donc conseillé de supprimer ma boucle while et de mette une variable globale qui gère la période de moyennage à la place de mon registre à décalage. 
    Le souci c'est que je ne connais ni d'adem ni d'eve cette variable...
    Est-ce que quelqu'un aurait l'amabilité de m'expliquer un peu cmt ça fonctionne parce que je ne trouve pas mon bonheur dans les exemples et les autres sujets?
    Et surtout est-ce la bonne solution?
    REM: le VI a été créé par une autre personne je n'est fais que de modifier la partie moyennage, donc les autres variables globales ne sont pas de moi.
    Merci d'avance!
    Attachments:
    VI_TEST2.vi ‏50 KB
    VI_TEST2.vi ‏50 KB

    Bonjour à toi,
    Tu trouveras ci-dessous un exemple d'implémentation d'une variable globale fonctionnelle :
    Basic Functional Global Variable Example
    J'ai regardé ton programme mais je ne suis pas sûr d'avoir bien compris ce qu'il devait faire, aussi je ne peux pas te conseiller entre les deux solutions, essaye avec la variable globale fonctionnelle cela sera de toute facon un bon exercice d'apprentissage.
    Pour le reste du programme, il est en principe fortement déconseillé d'utiliser des structures séquences déroulées. Il vaut mieux, si on veut s'assurer du bon déroulement de son programme, utiliser une structure de machine à état ou bien tout simplement le flux de données, principe natif de LabVIEW :
    Programmation par flux de données dans LabVIEW
    Machine à états simple
    J'espère que cela t'aidera,
    Bonne journée,
    M-Junior

  • Fonctionne​ment registre à décalage

    Bonjour,
    Pour éviter d'utiliser les variables globales, il est conseillé d'utiliser un VI composé d'une boucle While avec un registre à décalage non initialisé.
    Comment et où sont stockées les informations du registre à décalage ? En quoi finalement cette méthode améliore l'usage de la mémoire comparativement à la variable globale classique ? 
    Merci pour vos nombreuse réponses.
    Slts
    Solved!
    Go to Solution.

    Merci de ne pas soumettre plusiers copies de la meme question.  Vous avez poser la question en francais dans un forum qui est majorite anglophone; il existe aussi un forum francophone.
    En plus, votre question n'est pas completement logique.  La registre a decalage stocke des donnees en soi - c'est la fonction d'une registre a decalage.
    Une registre a decalage non initialise n'est pas forcement mieux qu'une variable globale - par exemple l'acces a une variable globale est plus vite.  L'avantage d'une registre a decalage est qu'il est possible de faire des actions plus complexe que lire et ecrire sans la risque d'une "race condition" (je ne connais pas la bonne traduction de cette phrase).  Une presentation sur l'usage des registres a decalage: https://decibel.ni.com/content/docs/DOC-21226
    Translation of the original question into English:
    Hello,
    To avoid using global variables, the use of a VI containing a While loop with an uninitialized shift register is recommended.
    Where and how is the data stored in a shift register?  How does this method improve memory use compared to a global variable?
    Thanks for your many replies.

  • Registre à décalage

    Bonjour,
    J'ai développé récemment une IHM dans le cadre de mes études d'ingénieur. Cette IHM devait envoyer des commandes de tensions vers une carte électronique via une liaison RS232. La carte électronique envoyant ensuite cette commande de tension sur une ou plusieurs voies (24 au totale) afin de polariser une antenne.
    J'ai donc mis 24 controls numérique (pour l'envoi de la valeur de tension/ un par voie) ainsi que 24 cases à cocher (pour la sélection des voies) sur mon IHM. J'ai ensuite mis une structure évenement (avec un évenement sur chaque sélection de la case à coché pour l'envoi de la valeur de la tension) je stock ensuite les 24 valeurs dans un tableau. Lorsque j'appuis sur le bouton "envoi", je "dépile" mon tableau dans le VI d'envoie sur la liaison RS232. Un programme sur la carte électronique se chargant ensuite du traitement des valeurs différentes de 0V pour envoie vers l'antenne.
    J'ai don du utilisé 24 registres à décalage pour avoir accés à chaque valeur dans tous les évenements de ma strucuture évenement. Je suis finalement arrivé à une IHM parfaitement fonctionnelle mais je me posais la question s'il n'existait pas d'autre alternative que le registre à décalage pour mon IHM (parce que j'en ai passé des heures à relier chaque ligne de mes registre à décalage). Même question pour l'utilisation du tableau.
    J'epère avoir été clair.
    Merci
    Benjamin
     

    " extraire un à un les éléments d'un Cluster" ... ?
    il n'est pas possible " d'indexer " un Cluster.
    par contre, si tous les éléments du cluster sont du même type, tu peux convertir ton Cluster en Tableau ("cluser to array" dans la palette cluster)
    et ensuite ... indexer le Tableau obtenu.
    attention, les éléments dans le Tableau se trouveront dans l'ordre dans lequel il se trouve dans le cluster
    Tu me diras .... bein oui, je m'en doute :-)
    attention ... l'ordre dans le cluster n'est pas oblibatoirement l'ordre avec lequel ils sont graphiquement visibles (dans le cluster)
    Au départ ... l'ordre dans un cluster est l'ordre suivant lequel tu introduis les éléments dans le cluster.
    ensuite .... tu peux réorganiser cet ordre ... clic droit sur le bord du cluster + reorder controls in cluster.

  • Boucle FOR dans une boucle while avec un registre à décalage

    Bonjour à tous,
    je rencontre un problème au niveau de l'indexation de l'execution de mes commandes.
    Lorsque j'exécute mon programme, seulement la dernière commande est prise en compte.
    Faut-il enlever mon registre à décalage? Changer le mode du tunnel ?
    Cordialement
    Pièces jointes :
    Boucle FOR, while.JPG ‏134 KB

    ça peut avoir son utilité lorsque le diagramme est conséquent et illisible
    alors c'est que tu "reprends en main" le diagram d'un autre .... 
    sinon... si c'est le tien ... il ne sera jamais illisible.
    Et si tu veux "gagner du temps" ... je t'assure ... cable "propre" du premier coup.
    Lisibilité, compréhensibilité, évolutivité ... tu seras gagnant à tous les coups. (à 1000%)
    Sans compter "le coup d'oeil" quand "un autre" ouvrira ton code.
    Avant d'aller plus loin et de comprendre quoi que ce soit dans ce que tu as fait ...
    la propreté de ton diagram sera "ta signature".
    Ah oui ... un diagramme aussi propre que ça ... ça ne peut être que Geoffrey !
    ça l'fait non ?  

  • Registre à décalage, problème d'initialisation

    Bonjour,
    Sur l'image en PJ, j'ai réalisé un registre à décalage pour ma T_Consigne.
    Je souhaite l'initialiser avec la 1ère valeur relevée et ensuite comparer ma dernière valeur en mémoire avec ma nouvelle valeur.
    Néanmoins, à chaque itération, la valeur est à nouveau initialisée avec la nouvelle..
    Pourtant l'initialisation ne se fait qu'une seule fois?
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Registre à décalage.JPG ‏91 KB

    salut, j'étais en train d'écrire, et j'ai vu la réponse de ouadji, qui effectivement ouadji est bonne :
    le fond :
    > pour être utilisé dans la boucle, les contrôles doivent être dans la boucle
    > il te faut un case "init", au démarrage, qui va servir à lire la valeur des contrôles et initialiser les registres à déclages
    la forme : une image permet de regarder rapidement, un exemple permet de comprendre ton problème.
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Registre à décalage et initialisation DMM

    Bonjour,
    Je developpe actuellement un logiciel permettant le contrôle d'étalonnage de capteur de pression avec des carte PXI 4065.
    La structure de mon programme est un registre à décalage, plusieurs étapes me permettant d'initialiser les matériels que j'utilise (générateur de pression étalon et cartes multimétre).
    Afin de réaliser des mesures de qualité, je dois respecter un temps de chauffe matériel et pour cela initialiser la communication quelques étapes avant de réaliser ma mesure.
    Malheureusement, je n'arrive pas à garder "fermé" le contact de ma carte au moment de la mesure, celle-ci se réinitialise de façon systématique au moment de l'acquisition de la valeur.
    Est-il possible de lire uniquement la valeur sans recharger la configuration hardware dans la carte d'acquisition. (Je suis obligé d'utiliser un bloc Initiate sinon j'ai une erreur "handle instrument error" avant le bloc read)
    D'avance merci!
    Cordialement

    Hello Pod_Bol,
    The issue is you're reinitializing the DMM.  I recommend wiring the DMM session handle from NI-DMM Initiate to a front panel indicator, so you can pass the session handle to the Mesure subVI.  It would look something like this:
    Of course, you could also accomplish this by closing the session in one VI and then reinitializing it in another without resetting the device, but this is sloppy coding:
    General comments:
    -Are you using the PXI-4060?  The PXI-4060 is the only PXI DMM NI sells that has a 200mV range.  If you're using any PXI-407x DMM, I recommend using the 100mV for better sensitivity (if your measurement is less than 100mV, of course) or specifically set the 1V range.  As your code is written, requesting the 200mV range on a PXI-407x DMM will coerce to the 1V range.
    -The flat sequence structure in Mode measure.jpg is unneccessary.
    -There is no reason to add a delay to the DMM while calling commit (ExpressVI inside Vrai case structure).
    -There's probably a better way to store the data than in the dynamic data array you're generating from each measurement. 
    Are you possibly trying to acquire multiple data points from the DMM?  If so, I recommend using the excellent NI-DMM Example VIs, located here:
    Example Finder»Hardware Input and Output»Modular Instruments»NI-DMM»Multi-Point Measurements
    Let us know if you have any other questions and I'm happy to clarify.  Have a great day!
    -John Sullivan
    Analog Engineer

  • Changer etat d une variable booléenne

    Bonjour.
    Je débute avec labview et j'ai généré un signal numérique dont l'état est stocké dans une varable booléenne que je dois faire évoluer au cours du temps. La règle d'évolution du signal est que le signal a une chance sur dix de changer d'état.
    J'ai donc créer une variable booléene correspondant à l'état du signal, créer une boucle infinie à l'aide d 'une boucle while,stocker l'état du signal à laide d'une registre à décalage, réaliser un tirage aléatoire.
    VOIR pièce jointe
     Il faut que je crée une condition pour que l'état de ma variable booléenne change et la je bloque (passage de 0 à 1 ou vice versa); l'énoncé me demandant qu'il y ait une chance sur 10. Il me restera à afficher les résultat dans un graphe déroulant.
    Quelqu'un pourrait-il m'aider en m'indiquant comment changer l'état de ma variable afin que je puisse poursuivre mon travail?
    MERCI
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    IMAGE 1.png ‏25 KB

    Merci beaucoup pour votre réponse qui m'a beaucoup aidé dans la partie 1. Je me permets donc de revenir vers vous pour la suite qui me pose un peu problème.
    Voila dans un premier temps ce qui m'est demandé dans la suite de l'exercice (partie 2)
     II] décodage des fronts montants
     On souhaite maintenant compter l'ensemble des fronts montants du signal. Pour cela, il faut détecter les changements d'état du signal (d'état bas à état haut).
     Modifier votre programme précédent pour stocker le nombre de fronts montants.
    Etapes intermédiaires :
    - créer une variable compteur
    --‐ Utiliser un registre à décalage pour pouvoir incrémenter le compteur
    --‐ Incrémenter le compteur lors d'un changement d'état
    Cela ne ME pose a priori pas de problème voir pièce jointe image 2.
    Qu'en pensez vous?
    La partie 3 me pose un peu plus de problème de part l'utilisation du MYDAQ.
    VOIR PIECE JOINTE INFO
    En fait j'éprouve des difficultés à retrouver le signal avec le MYDAQ. Je pense que le programme fonctionne mais je n'arrive pas à le relire avec l'oscilloscope.
    Voici la consigne de la partie 3 :
    3  génération du signal à l'aide du MYDAQ
    On souhaite maintennant envoyer le signal simulé sur la ligne de sortie D0 du MYDAQ. Pour cela, on doit modifier notre programme pour ajouter l'envoi du signal numérique sur la sortie D0 du MYDAQ. Réaliser la génération du signal corespondant sur sortie et vérifier à l'aide de l'oscilloscope MYDAQ que le signal est correct; Vous devez obeserver exactement le même signal que celui de votre face avant.
    Pouvez-vous m'indiquez si cela vous semble correct?
    Je vous emercie encore pour votre aide qui m'a fait beaucoup progressé.
    Pièces jointes :
    Image 2.png ‏87 KB
    info.png ‏248 KB

  • Evénement déclenché par une variable connectée par Datasocket à un serveur OPC

    Bonjour,
    J'utilise un serveur OPC pour lire et écrire des variables sur un automate. J'ai essayé de connecter les variables directement avec un connexion Datasocket et d'utiliser les VI en exemple. Dans les deux cas, les ressources de mon PC augmentent et les temps de réponse sont assez longs.
    Dans mon application, j'ai besoin d'"attendre" une valeur particulière d'une variable automate. Je voudrais donc dans un premier temps, vérifier que la variable n'est pas à la valeur souhaitée et si ce n'est pas le cas, avoir un événement qui se déclenche au changement de valeur de cette variable. Cette méthode de programmation fonctionne lorsque la connexion de la variable locale n'est pas activée, mais pas avec la connexion Datasocket.
    Est-ce normal? Y-at-il un moyen pour que ce soit le serveur qui informe le client Labview que la variable a changé d'état?
    Cécile

    Bonjour Cécile !
    Et bienvenue sur ce Forum ...francais
    Je ne vous apporterai pas d'élément complet de réponse car je n'ai jamais utilisé de process DATASOCKET .
    Cependant je pense pouvoir vous aider lorsque , je vous cite :
    "Dans les deux cas, les ressources de mon PC augmentent et les temps de réponse sont assez longs. "
    Je pense que vous utilisez des boucles contenant des tableaux ou des variables locales et pire encore ,pour l'espace mémoire, des fonctions concaténation, des fonctions de modification de tableau etc...
    En effet contrairement à certains languages de programmation utilisant des boucles (presque tous maintenant) Labview génére à chaque itération de boucle une allocation mémoire (différente si ce n'est pas le premier appel ) lors d'une lecture ou écriture de variable locale (imaginez alors si c'est un tableau de clusteur par ex...) l'utilisation mémoire augmente alors à chaque lecture ecriture des variables...
    Utilisez un registre à décalage (click droit sur la boucle for ou while) pour que votre variable soit transmise à la prochaine itération (même en arretant Labview, vous pouvez utiliser les valeurs précédents l'arret !) et ne soit plus réallouer à chaque itération
    vous pouvez avoir plus de détails en lisant l'Application note suivante...
    Labview Performance and Memory Management
    et un sujet (en anglais) qui définit bien la différence et le fonctionnement des variables
    locales et noeuds de propriété
    que vous pourrez retrouver dans le répertoire manuals de LAbview...n'oubliez pas de préciser à chaque sujet votre config et des infos précises sur votre problème , le monde des sytèmes electronique - informatique et vaste et varié...
    CordialemntMessage Edité par Ecosmose_CNRS le 05-26-2005 06:13 PM
    Julien
    Conception Informatique et électronique
    CNRS LCSR Web
    Orléans la Source FRANCE

  • Variable Globale Fonctionnelle (débutant)

    Bonjour à tous,
    J'essaye de comprendre "à fond" le principe et le fonctionnement des FGV.
    Pour le "pourquoi" ... c'est compris.
    Le comment:
    On trouve tous et son contraire sur le Net. (on trouve surtout des choses différentes)
    Du côté de l'aide en ligne NI, il y a un exemple, mais je trouve celui-ci ... disons un peu "pauvre".
    NI présente un exemple : init, incrémentation, lire
    J'aurais préféré le cas plus "basic", init, lire, écrire.
    J'aimerais trouver un exemple de FGV parfaitement "conforme" à la théorie en la matière
    un exemple d'école !
    Voici ma vision de la "chose" (en snippet) ... est-ce correct ?
    Pour l'entrée "Enum", je ne vois même pas l'utilité de la placer en dehors de la boucle While.
    A mon sens, "Enum" pourrait tout aussi bien se trouver "dans" la boucle While.
    Qu'en pensez-vous, toutes réflexions et remarques sont bonnes, je prends tout
    Je suis particulièrement intéressé par vos avis sur la position du contrôle (enum/write)
    et de l'indicateur (enum/read) dans ce code.
    Merci pour votre aide.

    ouadji a écrit :
    Merci Luc.
    Super doc sur la gestion de la mémoire par LV, très intéressant.
    Oui, dans ce cas je comprends pourquoi il est préférable de "sortir" les contrôles et indicateurs des structures.
    Une seule chose me dérangeait sur la "sortie" de l'indicateur (dans ce cas précis d'une FGV)
    Si je sors l'indicateur de ma structure "case", il devient commun à tous les sous-diagrammes (de cette structure case)
    Ce qui veut dire que quand je fais un "set" ... la valeur modifiée se retrouve dans le Shift-Register, mais aussi dans l'indicateur
    re
    1) cette doc est vraiment bien.
    2) [..] parce que la mise à jour de l'indicateur dans le cas d'un "Set" me paraît logique [..] je suis d'accord avec cela! Dans une FGV si je fais un Set alors je change mon indicateur et le registre à décalage.
    3) tu peux me faire un save en LV2010 SVP
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Lecture dans un fichier de configuration

    Bonjour,
    Je viens vous demander des conseils. J'ai un fichier de configuration (en ci-joint), j'ai dèja une version qui fonctionne bien mais je voudrai améliorer un peu (car trop de variable locale), pourriez-vous me dire si je peux créer une VGF pour lire le fichier et ensuite les afficher par la suite peut-être de modifier les paramètres et ensuite écrire dans le fichier de configuration ? Je ne sais pas si une VGF est bien adaptée pour lire/écrir/afficher les paramètres de configurations? Merci d'avance.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    fichier config.txt ‏1 KB

    Bonjour,
    J'ai ouvert votre vi par curiosité, le fichier de config est un peu plus précis (ci-joint la copie) de ce fait je pense plutôt lire d'abord le fichier (avec la corection des coefficients et l'offsets) et stocker des datas (un tableau de cluster de caractère, plus facile par la suite de les afficher directement sur FA) dans le registre à décalage du VGF et par la suite je peux faire ce que je veux. Mais hélas comme d'habitude je rencontre toujours des soucis.         
    Pièces jointes :
    Config-HT.txt ‏1 KB
    lecture-fichier-config.JPG ‏153 KB

  • Transférer un tableau dans une structure évenement

    bonjour,
    Je souhaite commander l'acquistion et l'enregistrement des mesures par eux booléens.
    L'acquisition commence via une structure évenementielle lorsque qu'on change l'état du booléen "acquisition", les données sont mises dans un tableau.
    J'aimerais commander l"enregitrement via un autre évenement.
    Seulement, lorsque je clique sur un des booléens, le deuxiéme marche bien mais ne commande plsur rien
    et
    Je n'arrive pas a récupérer mon tableaude valeurs (j'ai essayé avec des fils et des variables locales.)
    Merci
    Pièces jointes :
    Capture.PNG ‏29 KB
    Capture1.PNG ‏20 KB

    Bonjour,
    Lorsque l'on souhaite transférer des données entre plusieurs itération d'une boucle le mieux est d'utiliser un registre à décalage.
    Pour le code, je pense que tu devrais jeter un coup d'oeil aux machines à états pour revoir l'architecture de ton soft
    Ce n'est pas génial de mettre une boucle dans un évênement, qui ne doit contenir que du code 'rapide' à exécuter, comme un changement d'état de ta machine à état.
    Un dernier points, il ne faut pas mettre de boucle comme ici sans aucune temporisation, elle va consommer tout ton processeur pour tourner à fond.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

  • Plusieurs bouton, un seul à l'état vrai

    Bonjour,
    Voila j'ai 8 boutons et je voudrais que lorsque l'un eux passe à l'état VRAI, tous les autres passent à l'état FAUX. J'ai tenté d'utiliser des variables locales mais cela fonctionne mal à cause de la boucle while, j'explique pourquoi:
    On considère 2 boutons A et B. A est relié à la variable locale de B par un NON, et vice et versa (Donc quand A est VRAI, B est FAUX et si B devient VRAI, A devient FAUX)
    BOUCLE 1:
    A=VRAI B=FAUX
    A dit à B d'être FAUX
    B dit à A d'être VRAI
    BOUCLE 2:
    A=VRAI B=FAUX
    B devient VRAI (commande de l'utilisateur)
    A=VRAI B=VRAI
    A dit à B d'être FAUX
    B dit à A d'être FAUX
    BOUCLE 3:
    A=FAUX B=FAUX
    A dit à B d'être VRAI
    B dit à A d'être VRAI
    En clair, les deux variables locales rentrent en conflit et cela ne marche pas. J'ai tenté d'introduire une séquence mais cela revient au même.
    Y a-t-il une solution pour éviter ca ? Existe t-il une fonction qui revient à "je fais ça seulement si j'ai un changement d'état"
    Merci d'avance.

    Vous pourriez utiliser des "boutons radio". Il n'y a rien à programmer. Il suffit d'en "customiser" la présentation
    Et oubliez complètement les variables locales, il n'y a absolument rien à en tirer dans votre cas, sinon un état dépressif de longue durée.
    Une autre solution aurait été de réunir les boutons en cluster ou en tableau, et de jouer avec une boucle, un registre à décalage, un opérateur de comparaison et des opérations logiques.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Sortie des informations "chaîne" d'une boucle While a chaque boucle

    Bonjour a tous,
     Je souhaiteras avoir des informations pour sortie a chaque bouclage de boucle While une "chaîne" de caractère afin de la traiter en parallèle.
    J'ai réussie a récupéré la valeur à la fin de la boucle While mais pas en cour de bouclage.
    Je me doute que mon code n'est forcement optimiser, j'ai débuter il y a quelque semaine
    Je vous ci-joint mon code.
     Merci par avance
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    ma problematique.png ‏47 KB

    Bonjour,
    Il n'est pas possible de câbler la chaine comme vous l'avez fait. Les infos à la sortie d'une boucle ne sont dispo que lorsque la boucle a terminé son exécution. Il faut du coup soit passer par une varaible locale, une variable globale fonctionnelle, ou même mettre votre code directement dans la boucle puisqu'il traite une info qui se met à jour comme la boucle....
    La boucle n'a pas de cadencement, elle s'exécute rapidement. Vous pouvez aussi récupérer en sortie un tableau de toutes les chaines traitées (ce que vous avez fait en fait), et les traiter juste derrière.
    De plus, vous pouvez utiliser un registre à décalage plutôt que des variables locales dans la boucle, ce sera plus propre et plus efficace.
    Francis M | Voir mon profil
    Certified LabVIEW Developer

Maybe you are looking for

  • Audigy 4 in Win XP is

    Hi, I bought the Audigy 4 specifically so I could output audio in high resolution, but I could not find any option to allow me to output in 24 bit sound with 92kHz sampling rates in stereo mode. Does anyone know how to do this? TIA!

  • Having troubles updating apps (V.32). The ipa file doesn't work correctly.

    Need some help. Thanks

  • Production Order Change Management

    Hi ALL, Dealy need of following. How the changes to the production order can be viewed? Is there any tcode to check this ? Regards, MHP

  • ESSBASE server - Connect Error 1042032:

    Hi All, I am having trouble connecting to Essbase Server on a new install i have done on a windows 2008 64 bit. The Installation went successful and I am able to start the essbase server from command prompt. From the Administration service Console, I

  • Can't install Google Talk

    Hi! I'm new to this community and I have a question regarding my Blackberry Q10 (SQN100-3). I bought it last June 8 from Manila Philippines and now I am staying in Seoul South Korea. Everytime I download GoogleTalk from the AppWorld, it says "Unavail