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
Similar Messages
-
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 aideci joint le vi principal : essai, et le sous VI paramètres
Pièces jointes :
Essai.vi 200 KB
Paramètres.vi 23 KB -
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 -
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... -
bonjour,
je voudrai sauvegarder une variable globale pendant l'excution de Labview.
est ce qu'il existe un exemple montrant ce que je veux faire
merciIl y a un endroit dans votre vi principal où cette variable globale est écrite. A cet endroit, placez une fonction "écrire dans un fichier tableur".
Utilisez l'entrée "données 1D", en intercalant une fonction "construire un tableau", prise dans la sous-palette Tableaux. N'oubliez pas de câbler l'entrée "ajouter au fichier" avec un booléen True.
Au démarrage du vi, réalisez l'opération inverse : lire le fichier (sortie de données 1D), indexer le tableau pour récupérer le dernier élément (utiliser la fonction Dimension et enlever 1), mais SURTOUT, faites en sorte que l'écriture de la globale se fasse avant toute autre opération.
Chilly Charly (aka CC)
E-List Master - Kudos glutton - Press the yellow button on the left... -
Variable globale visible sur un autre PC
Bonjour, j'essaie de faire de la supervision depuis un pc "principal". J'ai un parc de six machines en réseau avec le pc principal. Mes six prog sur mes six machines envoient des infos chacune sur une variable globale dans un dossier sur le réseau. Mon prog de supervision va chercher ces valeurs dans chacune de ces variables et les rassembles. Le problème est que chacune des machines remplissent bien la variable mais le prog de supervision ne les rapatrie pas. J'ai essayé de mettre le prog de supervision sur une des machines et cela fonctionne pour la supervision de cette machine proprement dite. Alors est ce possible de récupérer des variables globales avec un PC autre que celui dont est issu celles-ci?
CordialementBonjour.
Effectivement comme l'a dit Roderic, les variables partagees sont la meilleure option.
Plus d'informations ici : http://zone.ni.com/devzone/cda/tut/p/id/4679
Cordialement,
Da Helmut -
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 WLes 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 -
Menu déroulant variable globale
Bonjour,
je souhaite passer un menu déroulant en variable globale. Le problème, c'est que je souhaite récupérer dans un sous-VI les données mais aussi le nom des éléments de mon menu déroulant qui se trouve en face-avant de mon VI principal. Les valeurs passent mais pas les textes qui y sont associés. Quand je fais un noeud de propriété de ma variable globale dans le VI
principal, on ne me propose pas "chaines et valeurs" ou le texte. Pourquoi? J'ai essayé aussi avec des CtlRefNum mais pareil, seules les valeurs passent.
Merci d'avance.Bonjour,
je suis pas certain qu'il soit necessaire de passer la reference du control sauf à vouloir le modifier dans les sous vi
generalement on obtient le du choix effectué en indexant le tableau possible avec l'index recupéré
ci joint un vi pour exemple
Cdt
Tinnitus
CLAD / Labview 2011, Win Xp
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail
Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
Pièces jointes :
get choix.vi 12 KB -
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 KBBonjour à 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 -
Comment créer une variable globale
Bonjour,
Ca fait maintenant un moment que j'utilise Labview (1ans), et pour la première fois je pense avoir besoin d'une variable globale, mais je n'arrive pas a la maitre en oeuvre.
Mon problème est le suivant. Je voudrais qu'en cliquant sur un bouton STOP de la face avant d'un de mes VI, sela est l'accion d'apuiller aussi sur le bouton stop d'un autre VI (sous-sous-vi). Je pensais donc mettre une variable global qui surveil à quel état est le bouton stop de mon VI, et faire surveiller cette variable globalle par mon sous-sous-vi pour l'aréter quand on apuis sur stop.
J'ai donc ajouter une variable globale à mon VI, mais je n'arrive pas à la relier à mon bouton STOP. (jobtien un fil de liaison brisé).
N'ayant jamais mis de variables globale en place, je ne comprend pas pourquoi, et ne trouve pas de solutions.
Si quelqu'un pouvais m'expliquer pas a pas comment écrir dans une variable globale, puis comment lire une variable globale, cela m'aiderais grandement. ( je n'ai pas non plus compris pourquoi les variables globales ont une face avant???)
Merci pour votre aide.
NicoBonjour,
Il semblerait que vous ayez créé votre Variable Global en laissant le type par défaut. Du coup vous essayez d’écrire un booléen dans une variable de type Double.
Je vous conseil de lire ce lien pour tout ce qui est utilisation de variable partagée.
Message Edité par BenjaminR le 05-26-2008 04:51 AM
Benjamin R.
R&D Software Development Manager
http://www.fluigent.com/
Pièces jointes :
VarGlob_Revolution.png 151 KB -
Reset variable globale à la fermeture d'un vi.
Bonjour à tous,
Je souhaiterais vider une mémoire globale ( ou mettre à 0) à la fermeture d'un vi. Je m'explique .
Le vi "A" me génère une valeur numérique dans une variable globale . Le vi "B" fonctionnant en parallèle lit la variable globale en permanence.
Jusque là, tout va bien.
A la fermeture du vi "A" , je souhaite vider (ou remettre à 0) la variable globale. Le but est d'afficher un message d'erreur dans "B" si la variable globale n'est pas " active".
J'espère avoir été clair. :-)
Je m'aperçois qu' à la fermeture de "A" La variable globale garde la dernière valeur. ( le pc n'est pas coupé et LV n'est pas relancé.)
Merci pour vos infos.edit : je trouve ma réponse précédente un peu "courte".
Il fut un temps où j'étais bien content de recevoir des "petits exemples"
un (tout) petit vi pour te permettre de "voir" comment fonctionne (et comment on cable) un Notifier.
vi ci-joint en LV2011.
à partir de "là" ... seule l'imagination peut placer une limite.
tu vois ... je "passe" une donnée d'une boucle vers l'autre ... elles sont totalement indépendantes.
et quand je stoppe la boucle "émettrice", la boucle "réceptrice" en est informée via "wait on notification / timed out ?"
bon code !
Pièces jointes :
basic_Notifier.vi 8 KB -
Lire variable locals de teststand dans labview par activeX
Bonjour,
Dans le cadre d'un projet interne, je crée une application sous labview qui servira d'interface utilisateur et autres choses.
Le problème est que j'ai besoin de lire les variables locals de teststand avec labview sans que le programmeur teststand se soucie de faire appel à une fonction spécifique.
Pour faire simple l'idée est d'utiliser l'activeX sur labview pour lancer les fichiers séquences etc. ça ne me posse pas se soucie à ce niveau-là.
Mon problème est que j'aimerais lire les variables locals de teststand dans labview, j'avais l'habitude de lire les variables StationGlobals par cette méthode mais pas moyens de faire la même chose pour les locals.
En gros, il faudrait que j'ai accès à sequenceContext par activeX mais sans faire un appel d'un VI dans teststand comme dans l'exemple proposé dans teststand.
Cordialement.Bonjour Steve,
En effet, ceci n'était pas aussi simple qu'il n'y paraissait...
Voici un exemple:
L'astuce étant de récupérer le Sequence Context depuis l'Executionview manager, on notera qu'il faut passer par l'exécution puis le thread car la propriété qui devrait renvoyer le SequenceContext directement ne fonctionne pas et renvoie une erreur...
Rodéric L
Certified LabVIEW Architect
Pièces jointes :
récuperer locales depuis IHM.png 14 KB -
Enregistrer variables globales
Bonjour,
Dans les variables globales, il est possible d'attribuer une valeur par défaut.
Est-il possible de changer cette valeur par défaut ? En fait, je souhaiterais, chaque fois que je rentre une valeur dans une variable globale, que cette valeur devienne celle par défaut.
Merci d'avance.Oui c'est possible.
Comme toute valeur par defaut, tu peux soit le faire a partir du controle en cliquant du bouton droit de la sourie et choisir que cette valeur soit par defaut.
Ou a travers le menu d'edition et choisir de mettre toutes les valeurs a defaut.
Dans les 2 cas, il faut sauvegarder le fichier.
Pour accomplir de meme pendant que le VI roule, il faut utiliser des "property nodes" (je ne me souviens pas du terme francais - desole). Il faut encore une fois utiliser (si je me souviens bien) un "invoke node" afin de sauvegarder le VI globale apresavoir defini les valeurs par defaut.
R -
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 -
How to make a variable global to use in all of my cfm page?
I have a problem with the variables.
i need to use a variable " loginrecord" in all of my cfm pages, its created in my login.cfm and the value of this needed in other page and maybe i need to change it .
in ASP simply we can use SESSION to make a variable global , is there any way in coldfusion ?
also in ASP we have a command SESSION.SESSIONID , so return the unique number from browser and we can se it as a security check for each one of people login to our site and each one is seperate random and unique number , is there any similar in coldfusion ?
Thanks
AlirezaThanks,
the reason at the moment i stock with this command is i need to have login information available in all the pages to check the security. the good point i had in ASP is SESSION.SESSIONID , it make a unique number base on browser and i can check it if user loged in or no , or if loged in is the same user or other user . i couldnt find same command in coldfusion , and now i use <cflogin> but if i can find the way to have a browser session it help me in other part of my program.
i start coldfusion new ( near a month ) i have some book and Lynda DVDs, also online sources , and in this priod i re developed one of my program from ASP to coldfusion and its work. i am happy of this and help me to develop better and faster . in compare the coldfusion developed one realy is 40% original development in size and 50% faster . i have good background of ASP in last 8 years include MCSD and developed many program for a small and big companies. but i wanna to continue with coldfusion because i found it more helpfull than ASP specialy in FLASH development .
BTW thanks for your help
Maybe you are looking for
-
i brought an allbum on my ipad, when i went to download it on my laptop to pu onto my ipod its not in the purchased section however the album did download to my iphone automatically and i have been charged for it do i just purchase it on my laptop as
-
OBIEE: Criterias not appearing in Answers query
Hi All, I am trying to include two criterias based on date conditions in Oracle Answers but when I look at the query generated by BI server, I can't see the criterias included in where caluse.Please can u help! Criterias are something like this: CAST
-
Hello, first of all, thank you for your attention, the case as far as I am particularly when the flash games are doing everything in order just after moving to the final stage where you need to put together the following things, when you way to say t
-
How to charge bluetooth headset?
How do i charge the bluetooth hedset
-
Hi, As mentioned previously I have purchased a MacBook Pro Retina with 512GB SSD and am getting used to it after using a PC for years. I'm so impressed with it I am going to order a new iMac 27. I would like some ideas as to what to order: 1. Shoul