Variables partagé publiés réseaux

Bonjour,
Je suis en train de réaliser un programme et pour cela je dois faire circuler des données entre mon vi UI main et mon vi RT. Pour cela j'utilise des variables partagées publiés sur réseaux de type tableau de double. 
Dans un premier temps j'écris mes consignes sur mon vi UI main dans ma variables partagées (nom : PC) puis je la désassemble dans mon vi RT pour les lire.
Problème lorsque je la désassemble dans RT je n'ai que 9 valeurs, alors que j'en ai environ vingt dans mon UI main.
Savez vous d'ou vient le problème, est ce que j'aurais pas oublié un paramétrage (même si j'ai déja vérifié)
Ci joint deux photos explicatives:
La première (photo 1) correspond aux moment ou j'écris mes valeurs dans ma variables partagées sur le vi UI main
La seconde (photo 2) correspond aux moment ou je lis mes valeurs dans ma variables partagées sur le vi RT
Solved!
Go to Solution.
Attachments:
photo 2.png ‏173 KB
photo 1.png ‏193 KB

Salut,
Clique-droit sur la fonction "tableau en cluster" et configure la taille souhaitée pour le cluster. Par défaut elle est de 9...tu dois donc modifier ce paramètre et la régler à la valeur 21. Et ça devrait rouler !

Similar Messages

  • Variable partagée entre 2 éxécutables sur deux machines en réseau

    Bonjour, je désire communiquer par variable partagée entre deux éxécutables (créés en LV 8.6) sur deux machines différentes d'un même réseau local. Le noeud de méthode "déployer une librairie" me retourne une erreur dès que je place une ip différente de localhost ; d'une façon plus générale, l'exacte marche à suivre n'est pas très clair pour moi : qui déploie vers qui, necessité d'un "binding" ou pas, etc...Quelqu'un a t-il déja réalisé cette opération ? Merci d'avance...
    Vincent
    Solved!
    Go to Solution.

    Bonjour,
    Quel est précisément votre message d'erreur ? Pouvez-vous nous fournir votre VI afin de reproduire votre problème ?
    Voici quelques tutos :
    sur la technologie PSP pour les variables partagées publiées sur un réseau
    Network Variable Technical Overview
    Ainsi que quelques KB traitant du sujet :
    Comment déployer des variables partagées publiées sur le réseau
    Can I Use Multiple Network Cards with LabVIEW?
    Deploying Shared Variables to a Specific Network Card
    Et sur les messages d'erreur rencontrés :
    Troubleshooting Network-Published Shared Variables
    Shared Variable Error Explanations
    Cordialement,
    Message Edité par Steve Mohamed le 01-28-2009 05:32 PM
    Steve M.
    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;}
    >> Vidéo-t'chats de l'été : présentations techniques et ingénieurs pour répondre à vos questions

  • Variables partagées entre executable et entre machine

    Bonjour,
    J'utilise deux variables partagées pour communiquer entre deux exécutables sur une même machine (Labview 2011).
    Le reproduis ce schéma sur deux machines. Sur chaque machine, j'ai mes deux variables partagées.
    La valeur de chacune d'entre elle est visible par le gestionnaire de systèmes distribués (2011).
    Je souhaiterai utiliser une troisième variable partagée qui serait écrite par l'instance d'un exécutable sur une première machine et qui, sur une seconde machine, serait lu (avec utilisation du timeout). J'ai choisi pour chacune des trois variables la lecture /  écriture et l'option publiée sur le réseau.
    Pour ma troisième variable, je souhaiterai qu'elle ne soit diffusée que par une seule machine. J'ai donc choisi l'option 'Activer les alias'  et mis l'alias d'une de mes deux machines \\sbgantlbv2\Variable partagées\Online Offline.
    Cependant, la valeur de ma troisième variable n'est pas accessible.Ci joint copie d'écran de mon gestionnaire de systèmes distribués.
    Quelle est la configuartion à utiliser pour une telle variable?
    Merci
    Attachments:
    ges sys distri.png ‏35 KB

    Julien,
    In fact, you cannot do what you want with only one variable. The idea is to create two shared variables : One with read/write access and the other one in read only.
    Let's name them "ReadWriteVariable" and "ReadOnlyVariable".
    On the machine where you'll have to write into your shared variable, you'll use "ReadWriteVariable".
    In the properties of "ReadOnlyVariable", you'll have to enable aliases and put the path of the "ReadWriteVariable" variable :
    Then, on all the other machines where you have to only read the variable, you'll obviously use "ReadOnlyVariable" with the following method :
    The function used is "Read Variable" :
    So you'll have two applications. One for the machine where you write into the "ReadWriteVariable" and an other one for all the machines which will have to only read the value of your variable ("ReadOnlyVariable").
    Regards,
    Jérémy C.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • 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

  • Variable partagée sans spécifier le client/machine

    Bonjour à tous,
    Comme indiqué, je souhaite utiliser une variable sur un réseau pour communiquer une donnée entre une machine A et une machine B. Après avoir bidouillé, crée un projet et une bibliothèque, je peux maintenant envoyer ma variable partagée réseau. Pour cela, je désactive l'alias sur la machine client. Sur la machine B, j'active l'alias et je vais chercher la variable sur la machine A. Justement, ne puis je pas récupérer la variable sur la machine A sans spécifier d'alias ? Cela m'oblige en effet à aller chercher son emplacement manuellement si je veux changer de machine. Puisque la variable est partagée sur le réseau localhost, ne puis pas accéder à la variable juste avec son nom ?
    J'espère avoir été clair et je vous souhaite un bon après midi.

    Bonjour,
    SI j'ai bien compris, vous souhaitez lire une variable qui a toujours le même nom depuis un ou plusieurs endroits, et cette variable peut changer d'emplacement. J'entend par emplacement l'adresse IP du PC qui publie la variable et celle de celui qui vient lire la variable.
    Si c'est bien ça, on doit pouvoir le faire en indiquant le nom du PC dans le chemin de la variable à la place de l'adresse IP. Du coup, au moment de lire la variable, il va chercher le nom du PC et non son adresse IP.
    Le chemin devriendrait alors quelque chose comme : ni.var.psp://NomDuPC/NomDeLaBibliothèque/NomDeLaVariable
     A voir si ca fonctionne. Sinon, on peut toujours rendre le tout plus facilement modifiable en construisant la châine en indiquant la nouvelle valeur d'adresse IP pour la variable.
    Cordialement
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • 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

  • Communication variable partagée

    Bonjour,
    Est-il possible de communiquer entre ordinateur sur un réseau local un tableau de Chaines 2D avec une variable partagée ?
    J'arrive à communiquer un tableau 1D mais pas 2D
    Résolu !
    Accéder à la solution.

    Bonjour,
    Essayez de convertir votre tableau en variant et d'utiliser ce type de donnees pour communiquer entre vos deux systemes.
    Cordialement.
    Da Helmut

  • Variable partagée

    Bonjour,
    J'ai une variable que je voudrai lier avec une variable d'un serveur OPC. Voici la copie d'écran une variable qui fonctionne très bien mais il y a un message qui me dit "National Instruments vous conseille d'utiliser le moteur de variables partagées pour la liaison de données...." Pas de souci, alors je crée une variable partagée mais comment faire un équivalent avec l'ancienne de type DataSocket "opc:/OPC.SimaticNET/S7:[Liaison_S7_1]Humidite_relative". Voici une copie d'écran de la variable partagée mais je ne sais pas si c'est bien configurée. Merci d'avance de votre participation.
    Pièces jointes :
    DataSocket.JPG ‏65 KB
    Variable partagée.JPG ‏68 KB

    Bonjour,
    SI j'ai bien compris, vous souhaitez lire une variable qui a toujours le même nom depuis un ou plusieurs endroits, et cette variable peut changer d'emplacement. J'entend par emplacement l'adresse IP du PC qui publie la variable et celle de celui qui vient lire la variable.
    Si c'est bien ça, on doit pouvoir le faire en indiquant le nom du PC dans le chemin de la variable à la place de l'adresse IP. Du coup, au moment de lire la variable, il va chercher le nom du PC et non son adresse IP.
    Le chemin devriendrait alors quelque chose comme : ni.var.psp://NomDuPC/NomDeLaBibliothèque/NomDeLaVariable
     A voir si ca fonctionne. Sinon, on peut toujours rendre le tout plus facilement modifiable en construisant la châine en indiquant la nouvelle valeur d'adresse IP pour la variable.
    Cordialement
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • Comment retrouver l'utilisation d'une variable partagée dans un projet

    J'ai un projet assez important où j'utilise des variiableables partagées. Le problème arrive lorsque je veux les retrouver.
    Avec un vi ou une variable glogale, c'est facile : il suffit de faire un clic droit et de sélectionner "trouver toutes les instances". Mais pour une variable partagée, ça n'existe pas.
    Existe-t'il une méthode? quelle-est-elle?

    Bonjour,
    Veuillez suivre cette procédure afin de résoudre votre problème.
    In order to see your Network-Published Shared Variables in the VI Hierarchy you must change their Variable Type to Single-Process. You should only change this property type when you are not accessing the variables from the network. Changing the Variable Type can be done by right-clicking on your variable in the Project Explorer Window and selecting Properties from the drop-down menu. In the Shared Variable Properties window change the Variable Type to Single-Process. Once the variable type has been changed, you can now see what variables are being used by what VI's. To do this open your Main VI, go to VIEW » VI Hierarchy. In the VI Hierarchy window go to VIEW » Include Globals. Now all of your variables will be seen as Globes in the VI Hierarchy.
    Cordialement

  • Variables partagées Labview avec Visual C#

    Bonjour,
    Je suis étudiant en Génie Electrique et Informatique.
    Je cherche un moyen pour pouvoir lire et écrire, à partir d'une Form en C# directement dans le Moteur de Variables Partagées de Labview.
    À terme, je devrais pouvoir, à partir du PC n°1 (C#) écrire dans le VI du PC n°2 et lire dans le VI du PC n°3.
    J'ai déjà créé mes VIs et les variables globales et ils fonctionnent sur les PC n° 2 et 3.
    Il ne me manque "que" la partie C#, ou comment acceder à ce MVP. Quelqu'un peut-il m'orienter ?
    Anthony
    Hi,
    I'm currently studying in Computing and Electrical Engineering.
    I'm searching a way to Read/Write from a C# Form directly in the Labview's Shared Variables Engine.
    At the end, I'll have to communicate between the C# application (Computer n°1) and the first VI (Computer n°2, in order to write) and between the C# application and the second VI (Computer n°3, in order to read).
    My VI files and my shared variables are already created and this pack work with the two VIs.
    I have miss the C# part, then i don't know how to acces to the SVE. Could anyone show me the way ?
    Anthony

    see if http://www.ni.com/white-paper/6593/en/ and http://zone.ni.com/reference/en-XX/help/372636F-01/mstudiowebhelp/html/usingninetnetworkvariable/ are useful

  • Comment créer une variable partagés d'un cluster?

    bonjour,
    Je cherche à créer une variable partagé d'un cluster à 5 elements de type chaine de caractère comment faire??
    merci d'avance

    Il faut faire un control personnalisé du cluster (un définition de type par exemple). Ensuite dans la création de variable, il faut sélectionner "from custom control" dans le type de données...
    Rodéric L
    Certified LabVIEW Architect

  • Créer une variable partagée de type chemin de fichier

    bonjour
    est-ce que quelqu'un sait comment créer une variable partagée de type chemin de fichier.
    merci de votre réponse=)
    Résolu !
    Accéder à la solution.

    Salut,
    Je crois pas que ce type de variable existe. Cependant tu peux transformer ton chemin de fichiers en chaine de caractère et faire transiter cette donnée via une variable partagée... puis faire la transformation inverse côté cible (ou PC c'est selon).
    Regarde du côté des VIs de chaîne de caractère dans la palette de fonction : Programmation > Chaîne > Conversions chaîne/tableau/chemin > Chemin en chaîne (ou Chaîne en chemin).
    @ + 

  • Variable partagée sur TPC2106 (labview2009)

    Bonjour,
    Je n'arrive pas a créer une variable partagée sur un touch panel 2106, l'option est grisée dans le menu (voir doc joint)
    Le moteur de variable partagée est bien installé sur le TPC2106 (j'ai appliqué le patch d'octobre 2009)
    Merci pour votre aide
    Attachments:
    Doc4.doc ‏194 KB

    Bonjour,
    Il ne faut pas créer la variable partagée sur votre cible touch panel mais sur votre PC, vous pourrez écrire et lire sur cette variable.
    Je vous conseille de lire ce tutoriel:  Using Shared Variables with the NI TPC-2006 and the LabVIEW 8.20 Touch Panel Module
    Vous pouvez également regarder les exemples dans LabVIEW, Aide>>recherche d'exemple>>toolkit et module>>ecran tactile>>générique>>shared variable intro.lvproj
    Cordialement,
    Aurélien J.
    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;}
    >> Du 30 juin au 25 août, embarquez pour 2 mois de vidéo-t'chat ! Prenez place pour un voyage au coe...

  • Variable Partagée OverFlow (Erreur -2221)

    Bonjour,
    J'utilise LabView 2011 avec un Module cRio 9025.
    J'ai programmé une 1ère tache déterministe Cadencée à 1 ms / Priorité 500 => Cette boucle acquière 19 mesures à 1Khz.
    J'ai programmé une 2ème tache non deterministe Cadencée à 10 ms / Priorité 100 => Cette boucle gère l'enregistrement des 19 mesures dans 3 fichiers différents (chacun ayant une fonction particulière)
    Le transfert des données entre la boucle déterministe et non déterministe se fait par le biais d'une variable partagée paramètrée avec : 
    - Tableau Double 1D / Un processus
    - Fifo RT : nombre de tableaux = 11 / Nombre d'éléments = 19.
    Quand j'exécutes mon programme un overflow se produit dans la boucle déterministe (env 7000 en 1 min).
    Je cherche des pistes pour l'éviter.
    Dans un 1er temps j'ai désactiver toutes les fonctions "Écriture dans un fichier ASCII" et effectivement plus aucun OverFlow ne se produit.
    Ayant identifié la source du problème je suis passé au format d'enregistrement Binaire. Dans ce cas, j'ai effectivement 2 fois moins d'erreur 3785 overflow en binaire au lieu de 6623 en ASCII.
    Je précise que dans la boucle non determinste la fermeture et l'ouverture des fichiers ne se font que lorsque un nombre de lignes est atteint. Dans les autre cas, je ne fais que de l'enregistrement.
    Sur quel autre paramètre puis-je interagir pour éviter le phénomène ?
    D'avance merci beaucoup pour votre nombreuses pistes.
    CAPRA - KB

    Bonjour,
    En bleu les réponses aux questions.
    Merci.
    ===============================
    Comment est faite la lecture de la variable partagée dans la boucle non déterministe?
    => On "Dépile" la variable partagée, puis on enregistre.
    On répete la structure ci-dessus jusqu'à atteindre le code -2220. Dans ce dernier cas, on purge l'erreur puis on recommence.
    Est-ce que vous lisez une donnée à chaque itération?
    => Oui on lit une donnée à chaque itération à savoir 1 tableau de 19 mesures.
    Ou est-ce que vous venez vider l'ensemble de la fifo de la variable en attendant une erreur d'underflow?
    =>Non
    Il est important que vous veniez vide l'ensemble de la FIFO à chaque itération de la boucle non déterministe.
    Ensuite, vous devez regarder comment l'enregistrement est le plus efficace. Est-il préférable de lire les données et de les enregistrer une par une, et de réitérer cela jusqu'à ce que la fifo soit vide, ou est-il préférable de venir lire tous les éléments de la fifo, puis de tout enregistrer d'un coup dans le fichier (je pense que l'appel au fichier une seule fois par itération est préférable).
    => Je vais faire un essai d'enregistrement unique de plusieur iteration jusqu'a ce que la FIFO soit vide. Merci pour cette proposition.
    Enfin, si malgré cela, le temps d'écriture du fichier est encore un peu juste, il est peut-être préférable de grossir un peu la taille de la FIFO.
    => Y'a-t-il une méthode pour choisir la taille de la FIFO ? J'ai peur de mettre une valeur trop grande et de me rendre compte après qqes heures de fonctionnement que ça n'a pas suffit... Y'a-t-il l'equivalent d'un "scan backlog" <=> "nombre de points encore disponibles" dans la FIFO ? sachant que la variable partagée a été créée à partir d'un projet....
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Comment mettre la mise a jour ipod avec nouveau ordinateur, comment mettre la mise a jour ipod avec nouveau ordinateur

    comment mettre la mise a  jour avec un nouvelle ordinateur sur mon ipod

    Bonjour et merci de votre réponse,
    Pour ce qui est du controle de mon chassis, je ne souhaite pas faire appel au websever... j'aimerais que l'affichage de l'IHM sur la tablette soit "propre", je veux dire par la, que je voudrais que l'utilisateur ai l'impression d'utiliser une application standard comme on peut le voir de nos jour sur nos tablette et non pas afficher mon interface dans un navigateur web... c'est juste par soucis esthétique mais j'y tiens beaucoup :-)
    Je n'avais pas pensé au variable partagé sur le réseau car je n'en ai jamais utilisé, je pensais qu'il était possible de mettre à jour des commandes a l'aide de Viserver meme si ces variable sont situé dans une boucle while... Cela me semble bisard que ce ne soit pas possible car il me semble que l'on peut controler un exécutable créer à partir de VI labview.

Maybe you are looking for

  • I have an ipod nano that is not recognized by my mac

    I have an ipod nano that i bought years ago and I origanly had it sync to a old computer that was stollen! I am now trying to sync it to my new mac but the computer dos not recognize it.

  • Problem with a JList and JScrollpane

    Hi, Im having a problem with horizontal scrolling in that I have a simple JList inside a panel and a text box below where the user enters text. Now the text box has a width of 15, but the user can type as many characters as they want..Now the Jlist o

  • Importing PSDs to Flash

    When Importing PSDs to Flash why do you end up with bitmap colour information (which of course is not editable), if you start with vector shapes in Photoshop. I still don't understand why they got rid of export swf when they ditched imageready after

  • MSE 7.4 Base Location Services and Context Aware Licences?

    Hi! I have a question for MSE Base Location Services and Context Aware Licences. Do I need to add Base Location Services and Context Aware Licences in L-MSE-PAK or just enough Base Location Services Licences? What is the difference in these licenses?

  • Data Binding Issue

    Hello,   I am trying to figure out how to Bind Data to a Custom form I created in Screen Painter. I would like to have all of the functionality(Add/Update/Find) of a standard form.  I beleive this needs to be a UDO, but seem to be missing some key co