Utilisatio​n des variables

Bonjour,
Je viens vous demander quelques conseils pour l'utilisation des variables : Faut-il préférer des noeuds de propriétés par rapport aux variables locales ? pourtant il me semblerait que la première nécéssite une référence + un noeud de propriété alors que la second il n'y a seulement une seule variable. D'après qq infos la première solution est préconisée, et vous que pensez-vous ?    
Résolu !
Accéder à la solution.

salut si tu cherches des infos sur locale VS noeuds de propriétés VS terminal, je te conseille la lecture de
blog : Techniques Programmation avancée LabVIEW : Gestion des données FGV – AE - vers DVR
ou Technique de programmation avancée : gestion des données sous LabVIEW de la locale vers la DVR
ou LabVIEW noeud bloquant - Thread User Interface - Root Loop - priorité - interruption 
GSXR100045 a écrit :
Faut-il préférer des noeuds de propriétés par rapport aux variables locales ?    
Pour modifier juste la donnée dans un même diagramme (dans l’ordre) : terminal / variable locale / nœud de propriété.
Le nœud de propriété va engendrer des lenteurs car dans thread UI (le ratio est de l'ordre de 100 à 300 x plus lent en écriture). Par contre le nœud de propriété peut permettre de faire un value signaling + chainage erreur.
Quand vous mettez à jour une commande avec la même valeur plusieurs fois de suite, une variable locale ou un terminal de commande ne redessine pas la commande sur la face-avant à chaque fois (ce qui est le cas avec le noeud de propriété).
Il y a des duplications des données avec locale ou noeuds de propriétés.
Bonne lecture
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

Similar Messages

  • Equivalence des variables automates M251 sous labview Modbus

    Bonjour,
    Je cherchais à savoir les équivalence pour accéder au variable d'un automates Modicon M251 via le protocole ModBus de Labview.
    Je connais déjà ces équivalences :
     - 0XXXXX : %M
     - 1XXXXX : %I
     - 3XXXXX : %IW
     - 4XXXXX : %MW
    Mais je ne connais pas l'équivalence des variables %IX et %QX, si quelqu'un peut me renseigner ?
    Cordialement,
    Nathan

  • Comment accéder en lecture et ecriture à des variables définit pour les utilisateu​rs ???

    Bonjour,
    Je travail sous TestStand 3.5 ET LabView 8 et je désirerai accéder en lecture et en écriture à des variables que j'ai créées au niveau des utilisateurs. Je m'explique, dans TestStand j'ai créé pour l'utilisateur par défaut 2 variables, NbBon et NbMauvais. Maintenant lorsque je crée un utilisateur les champs NbBon et NbMauvais apparaisse au même titre que PassWord ou bien encore FullName. Maintenant je désire écrire et lire les valeurs de ces champs à partir de LabView, comment puis je faire ???
    Merci de toute l'aide que vous pourrez m'apporter.
    Will W

    Les variables globales sont stockées dans le fichier "StationGlobals.ini" du répertoire "ini" de TestStand. Pour sauvegarder les variables de manière durable, il faut sauver ce fichier. La plus simple des méthodes est d'utiliser la méthode "Engine.CommitGlobalsToDisk()". Vous trouverez ci-joint le VI modifié de façon à sauvegarder les valeurs sur disque.
    Cordialement,
    Attachments:
    Access Prop.vi ‏25 KB

  • Problème avec des variables globales

    Bonjour,
    J'ai un problème avec mon sous VI, où j'utilise des variables globales. Le problème est comme suit: même si j'initialise les valeurs de mon programme mon sous VI s'exécute avec les premières valeurs que j'ai entré au début (même si je change les valeurs avec lesquelles je travaille).
    Merci pour votre aide

    ci joint le vi principal : essai, et le sous VI paramètres
    Pièces jointes :
    Essai.vi ‏200 KB
    Paramètres.vi ‏23 KB

  • Probleme pour dupliquer des variables dans le projet

    Bonjour à tous,
    J' ai un soucis que je n'ai pas rencontré dans le passé concernant la duplication de variables dans mon projet Labview...
    Avant je faisais un petit CTRL + clic , glisser déposé, mais dans mon projet actuel des fois ça marche et des fois ça ne marche pas , j' imagine qu'il y' a des restrictions ou autre.
    Je peux bien entendu les créer manuellement mais là il s'agit de plusieurs dizaines de variables qui pour la plupart ne diffèrent que par le nom. Je gagnerai mon  temps à les dupliquer et juste les renommer par la suite.
    Avez vous des idées sur le problème ?
    Merci d' avance.

    En fait c'est vraiment au niveau du projet
    Voir le jpg : Je voudrais copier par exemple toutes les variables "KEPCO_BOP_WOOB1_ xxxxxx" et les renommer en "KEPCO_BOP_WOOB2_ xxxxxx" .
    Si  je selectionne tous et je fais ctrl + clic droit pour dupliquer à un autre endroit, j'ai la fleche de la souris avec le petit " + " à coté et je fais un glissé déposé mais rien ne se passe.
    Pour l' instant je m 'en sors en créant à chaque fois une nouvelle variable mais c'est beaucoup plus long surtout si je dois répéter l' opération 100 fois.
    Pièces jointes :
    Capture.JPG ‏60 KB

  • Valeurs des variables

    Bonjour,
    Je vous expose mon problème, nous possédons une installation qui communique avec un automate qui nous retourne des données par le biais d'une passerelle modbus/ethernet. Ensuite en utilisant le Gestionnaire de systèmes distribués NI, je remarque que les valeurs que je lis (F400504 et F400506 par exemple) ne correspondent pas aux valeurs que je lis sur le logiciel modbus doctor.
    Reprenant ce projet à l'abandon et étant débutant, je souhaiterais quelques éclaircissement.
    Cordialement.

    Bonjour,
    Je ne connais pas Modbus Doctor et je supose que pour retrouver les variables ModBus de votre automate via le Gestionnaire de systèmes distribués NI, vous utilisez le module DSC, que je n'utilise pas non plus. Malgré tout ça je pense que les différences de valeur lues sont dues au fait que le Gestionnaire de systèmes distribués NI affiche un Float alors que ModBus Doctor doit afficher la table ModBus de manière brute. En effet, le protocole ModBus ne gère que les booléens et les mots de 16 bits. Les valeurs flottantes sont donc obtenues par combinaisons de mots de 16 bits en fonction de règle défini par l'automate. Il y a donc de fortes chances que les données soit correctes des 2 côtés ou alors que le flotant affiché par le Gestionnaire de systèmes distribués NI ne soit pas converti correctement.
    Cordialement,
    Olivier JOURDAN
    SAPHIR | Certified LabVIEW Architect | Topaze on NI Community | LabVIEW add-ons on NI Community | Follow me on Twitter

  • Chargement des Variables (Flash 6, 7, 8)

    Bonjour � tous,
    Il y a un mystere que je ne comprends pas.
    Je charge une liste de variable dans le m�me dossier
    avec la commande
    suivante:
    loadVariables("Id.db", "_root");
    Cela fonctionne parfaitement avec l'apercu avant publication
    flash ou bien
    sous un mode .exe mais en mode html rien, nada !
    Quelqu'un aurrait il la gentillesse de m'expliquer pourquoi
    ou ce que je
    fait de faux. Je ne pige rien � ce truc
    Je vous remercie d'avance
    Cordialement
    R�gine

    Oups! J'ai trouv� il s'agissait de l'option
    acc�s aux fichiers locaux et non
    � l'acc�s au r�seau uniquement.
    Merci � tous et bon Week-end
    R�gine
    "R�gine" <[email protected]> a �crit dans le
    message de
    news:e72kca$eju$[email protected]..
    > Bonjour � tous,
    >
    > Il y a un mystere que je ne comprends pas.
    >
    > Je charge une liste de variable dans le m�me
    dossier avec la commande
    > suivante:
    > loadVariables("Id.db", "_root");
    >
    > Cela fonctionne parfaitement avec l'apercu avant
    publication flash ou bien
    > sous un mode .exe mais en mode html rien, nada !
    > Quelqu'un aurrait il la gentillesse de m'expliquer
    pourquoi ou ce que je
    > fait de faux. Je ne pige rien � ce truc
    >
    > Je vous remercie d'avance
    > Cordialement
    > R�gine
    >
    >

  • Utilisatio​n des fonctions trigo sur labview

    Bonjour,
    je fais de l'acquisition de données sur labveiw et je suis encore débutant!! j'ai un problème avec l'utilisation des fonction trigonométrique sur labview car ca me renvoie tout et n'importe quoi. j'ai fait un simple VI pour vérifier le fonctionement de la fonction sinus et arcsinus et quand j'entre par exemple j'entre la valeur 30 ca me donne en sortie du sinus -0.98 alors qu'on sait tous que le sin 30°=1/2  et pire encore quand je reprend ces -0.98 que j'entre dans la fonction arcsin ( la réciproque) je n'obtiens plus les 30 de depart mais -1.42 :/ j'aimerais savoir savoir le truc que je ne capte pas. Car pour moi tous ces résultats sont illogique!!!
    Merci 
    Résolu !
    Accéder à la solution.

    Bonjour,
    Il faut utiliser des angles en radians.
    Cordialement,
    Micaël DA SILVA

  • J'aimerais lire ou modifier des variables globales sur TestStand à partir de LabVIEW

    Bonjour,
    J'utilise LabVIEW pour lancer TestStand et j'aimerais avant de lancer la sequence, modifier les variables globales sous LabVIEW.
    Pourriez vous m'indiquer comment faire?
    Merci,
    Cordialement
    Résolu !
    Accéder à la solution.

    Bonjour,
    En cherchant un peu dans l'API de TestStand (TestStand API Poster : http://www.ni.com/pdf/manuals/372844b.pdf)
    On trouve :
    Typically, you use the PropertyObject class to get or set the values of custom step properties, sequence local variables,
    sequence file global variables, and station global variables.
    Ce qui donne :
    Cordialement,
    Da Helmut
    Pièces jointes :
    TestStand Globale.vi ‏11 KB

  • Enregistrer et récupérer des valeurs de variables numériques entre deux exécutions d'un logiciel créé avec Labview 2009

    Bonjour,
    Je cherche le moyen le plus fiable et simple pour enregistrer et récupérer des valeurs de variables numériques entre deux exécutions d'un logiciel créé avec Labview 2009.
    Cordialement
    Philippe

    Une fois l'executable fermé, on perd les valeurs de variable partagée? Comment peux t on les stocker automatiquement à la fermeture de l'exe et les récupérer à son ouverture? Il y a toujours la solution de les enregistrer sur un fichier texte mais je n'ai pas l'impression que cela soit la solution la plus usuelle. J'ai vu qu'il y avait la possibilité d'allouer les clefs de registres à la création de l'installeur. Est ce que ces clefs de registres peuvent servir à stocker des données de configuration pour mon logiciel comme des variables numériques?
    Cordialement,
    Philippe

  • Variables partagées

    Bonjour,
    J'utilise actuellement les variables partagées. J'ai compris plusieurs aspects mais certains m'échappent.
    Les variables partagées peuvent être configurées en mode "publiées sur le réseau" avec ou sans "bufferisation". Après plusieurs tests, le comportement est très proche d'une FIFO dont l'accès au timeout, horodatage...sont disponibles. Très bien.
    On peut configurer la variable partagée en mode "un processus" pour par exemple le partage de données entre 2 boucles (par exemple, une boucle déterministe et l'autre non) du même VI. De même que pour la configuration en mode "publiée sur le réseau, on peut activer le principe de bufferisation avec l'activation de la FIFO RT.  Ce qui permet de garder l'aspect dit "déterministe" qui pour moi signifie temps réel avec contrôle temporel de ce qu'on fait, utilile pour l'acquisition de données ou l'envoie de données avec contrôle du cadencement. L'aspect FIFO permet de s'abstenir des éventuels problèmes de contention lors de l'acquisition de données.
    J'ai plusieurs questions : 
    - Ce que j'ai dit précédemment est-il juste (dans les grandes lignes)?
    J'ai pu constater que l'on pouvait activer, pour une variable partagée, à la fois la bufferisation réseau et la FIFO RT. 
     - J'aimerais savoir à quoi peut servir la double configuration "Activation de la bufferisation" + "Activation de la FIFO RT" sur une variable partagée et comment ça fonctionne?
    Quelle que soit la configuration de la variable partagée, lorsque celle-ci est lue, automatiquement le timeout se déclenche ensuite (ou plutard si la bufferisation est longue) si aucune écriture n'est faite ensuite. Ce qui signifie que la variable perd sa valeur! J'ai pu constater que cette valeur pouvait être un élément vide ou la dernière valeur maintenue. Suivant l'aide Labview, ça peut être 0.
    Comment controle-t-on ceci? Y'a-t-il un moyen de le définir par défaut? 
    En vous remerciant par avance de vos réponses,
    Je vous souhaite une bonne journée.
    Vincent.

    Bonjour Bruno,
    Oui l'installeur doit installer les différents drivers et runtime nécessaires à ton programme.
    Vérifie que tu as bien coché toutes les options nécessaires dans l'onglet "Installeurs supplémentaires" dans ta spécification d'installer.
    En ce qui concerne l'utilisation des variables partagées, je ne m'en suis jamais servi, mais il te faut forcément un point connu.
    Par exemple, si tu ne connais pas l'adresse IP des postes "utilisateurs", alors je te conseillerais d'inverser le système, c'est l'utilisateur qui met à jour une variable partagée sur ton poste ( en supposant qu'il a une adresse fixe & connue).
    J'imagine ce schéma en faisant l'analogie des systèmes client/serveur (principe du web) le serveur a tjs une ip fixe, et le client initiateur de la demande peut varier.
    En espérant t'avoir apporter des éléments de réponse.
    Cdt,
    Michael

  • 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

  • Datasocket comment retrouver une variable avec un lien datasocket mal configuré dans un VI

    Bonjour,
    J'ai dans un projet une variable configurée avec un lien datasocket en mode lecture qui fait appel à une adresse IP fixe.
    Je le vois avec la commande Netstat sous dos...
    Mon problème c'est que je n'arrive pas à la retouver dans tous les VIs de mon projet pour la corriger ....
    Y'a t'il une astuce
    Merci

    Bonjour Clément,
    Malheureusement je ne saisi pas très bien votre problème
    Utilisez-vous des variables partagées que vous avez liées à une adresse IP?
    Elles ne sont pas présentent dans une bibliothèque de votre projet?
    Je ne comprends ce que vous voulez dire lorsque vous écrivez: "je n'arrive pas à la retrouver dans tous les VIs de mon projet"
    Peut-être pourriez vous poster votre projet?
    Cordialement
     PS: ce forum est destiné au posts en anglais si vous désirez poster en français vous avez le forum français.
    Message Edité par Véronique D le 04-01-2008 04:29 AM
    VéroniqueD
    NI France

  • Problème NXT + variables globale

    Hello, my name is Jérôme and i'm doing a project for my studies.
    The goal of this project is to do a Segway in Labview for NXT (LEGO)
    But the problem is that i don't know how to create globales variables ?? Because it's impossible with NXT envirronment.
    The stabilisation software works perfectly, my problem is to go forward and backward.
    I wish to do two differents while loops working together. The first one content the stabilisation software and the second one is for moving.
    But in order to do this, in the second loop, i have to modifie the values of variables in the first variable in real time (contained in an array of floats).
    Do you have some ideas about this ?
    Thks 
    Bonjour, je m'apelle Jérôme et je dois réaliser un projet dans le cadre des mes études.
    Le but étant de réaliser un segway en Labview pour un NXT de Lego.
    Je ne sais pas comment faire des variables gloabales ??? car le NXT interdit les variables globales.
    Le programme de stabilisation marche impécable, mon problème étant de le faire avance et reculer. 
    Je souhaiterais faire deux boucles while, une qui contient le programme de stabilisation et l'autre qui contient mon programme "avancer/ reculer". Le programme avancer/reculer doit modifier des variables ( en temps réel) de la boucle stabilisation (qui sont stockées dans un tableau de float) sans interrompre le programme de stabilisation. 
    Auriez-vous des idées pour m'aider ??
    Merci 
    Spoiler (Highlight to read)

    Did you try with functional global variables?:
    FGV
    regards,
    Romain DUVAL || Application Engineer Specialist ||Certified LabVIEW Architect (CLA) || Certified TestStand Architect (CTA)
    National Instruments France

  • Communication par variable partagée entre un PC et une cible RT LabVIEW 2009

    Bonjour,
    j'utilise un version 2009 de LabVIEW. 
    Je tente d'utiliser des variables partagée (publiée sur le réseau et non RT -> pas de FIFO activé). 
    Je lance mon programme sur le cible RT (écriture sur la variable partagée) puis le lance mon programme surle PC hôte (lecture de la varaible partagée) ça fonctionne. 
    Maintenant je veux faire un exécutable pour ma cible RT et la, plus moyen de lancer le programme sur le PC. De la même façon, si je lance le programme sur le PC sans que la cicle RT ne soit connecté, pas déployement possible. 
    J'utilise également des version 8.2.1 et 8.5 et ce procèdait de la même façon avec succès... 
    Merci pour votre aide. 
    Message Edité par Jean-Baptiste D le 11-19-2009 09:51 AM

    Bonjour,
    Avez-vous vérifié que la version des logiciels est la même sur l'hôte et sur la cible?
    Je joins deux documents qui vous aideront peut être à résoudre le problème.
    Cordialement,
    Thomas B. | CLAD
    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;}
    >> Inscrivez-vous gratuitement aux Journées Techniques : de l'acquisition de données au contrôle/com...
    Attachments:
    KB 4QQ9FCCX.docx ‏139 KB
    KB 53A3QPHY.docx ‏15 KB

Maybe you are looking for

  • How can I delete an authorized computer?

    In my account settings it says I have 5 devices authorized, I want to deauthorize old devices.  I see teh optoin to deauthorize all, but how can I look a th

  • Outlook 2010 Send/Receive Issue

    I have Windows. Office 2010. Norton Internet Security. Microsoft Windows 8 x64 Business Edition (Build 9200) Dell Inc. Inspiron 7720 iTunes 11.0.4.4 QuickTime 7.7.4 FairPlay 2.4.14 Apple Application Support 2.3.4 Using Outlook 2010, pop email address

  • Stolen apps

    It is a big news in Japan recently and many news site in Japan report the incident. At first I thought it will be settled in a couple fo days. I decided to translate a couple of their articles and post here because I hear Apple Japan wrongly treated

  • CUIC-UCCX bundle

    Hello, I am currently working with an UCCX 9.0(2) installation and the csutomer is using CUIC as the reporting tool. We are currently facing some troubles: 1. We are in a timezone that is GMT-3 (Argentina). If, for instance, you ask for de summary ac

  • Help! Getting the cannot find symbol error.

    Hello everyone. I have gone throught my whole program and I am still getting a cannot find symbol error. What does this error mean exactly? Here is the code below. I am trying to color a background using a comobox method. import java.awt.BorderLayout