le 12-11-2008 09:01 AM
Je reposte ici, car je sais pas pourquoi ca a mit ce topic sur le forum us !!
Bonjour à tout le monde.
Je vous explique mon petit problème.
J'ai developpé un programme d'acquisition de température bien spécifique (exe). Dans mon menu que j'ai crée, j'aimerai faire appel à différents plugins (exe) qui viennent prendre les valeurs de mon acquisition. Je pensais donc que je pourrai utiliser des variables partagées pour faire dialoguer plusieurs programmes entre eux. J'ai donc crée dans mon programme d'acquisition un cluster qui envoi des valeurs en continu.
Il faudrait donc que je puisse récuper les valeurs que mon programme envoi dans mes différents plugins que j'aurai compiler sur une autre machine donc pas dans le projet initial.
Savez vous si c'est la bonne méthode pour communiquer entre deux applications?
Mon programme d'acquisition a une lvlib comme variable partagée, comment récuperer cette lvlib et l'injecter dans mes plugins?
Comment configurer mes executables pour réussir cette application sachant que je suis amener à developper ce projet avec diverses personnes (chaque personne s'occupe d'un plugin et donc à comme seul paramètre d'entrée le cluster)?
J'attends avec impatience vos réponses.
Cordialement
Thomas Muller.
12-12-2008 02:48 AM - modifié 12-12-2008 02:49 AM
Bonjour Thomas,
Je ne pense pas que les variables partagées soit la solution, Car chaque éxécutable posséde son propre espace mémoire. Je pense qu'il faut plus se diriger vers le datasocket.
Voici un exemple avec un vi d'écriture et un vi de lecture(il y a une petite procédure de démarrage).
CordialementYann C.
France
12-12-2008 02:54 AM - modifié 12-12-2008 02:58 AM
Edité erf Yan ![]()
PS : N'hésitez pas à parcourir le forum ou la developer zone, je pense que ça pourra vous servir également.
Romain D.
National Instruments France
le 12-12-2008 03:02 AM
Merci YannC pour l'exemple.
Je viens d'essayer et ca m'a l'air pas mal du tout.
J'étais parti sur les variables partagées car la hotline de NI m'avait conseillé ca (je ne citerai pas de nom).
Je vais essayer de faire mon projet avec ces datasockets.
Merci beaucoup.
Salutations,
Thomas Muller
le 12-12-2008 03:35 AM
Rebonjour,
Je viens de voir un peu le principe des datasockets, et je ne crois pas que c'est une bonne solution. Apparemment il n'est pas possible d'importer de configuration automatiquement et de programmer le serveur datasocket par labview (je ne veux pas me rendre à l'autre bout du monde pour configurer un PC !). cf http://zone.ni.com/devzone/cda/tut/p/id/3123
Donc, je reviens à ma question du début : comment faire pour faire transiter des informations entre 2 exécutables qui n'auront pas été regroupé dans le même projet ?
Merci de vos réponse.
Salutations,
Thomas Muller
12-12-2008 04:18 AM - modifié 12-12-2008 04:18 AM
Hello,
Moi je vais mettre mon grain de sel, mais les Network-shared Variable conviennent tres bien pour ce genre d'application :)..... et sont plus performantes que Datasocket d'après ce que j'en sais 🙂
Slts,
le 12-12-2008 04:52 AM
Voici un petit lien (disponible sur la Developer Zone^^) sur lequel vous trouverez des informations sur les Network-shared Variable.
Cordialement.
Romain D.
National Instruments France
le 12-12-2008 06:09 AM
Merci pour le lien. Je connais déjà bien les variables partagées car j'avais conçu mon projet avec. Je sais les déployer automatiquement, y accéder...
Le seul problème, a mon avis, peut venir des paramètres qu'il faut indiquer aux exécutables (des plugins) ou récupérer les variables partagées. En effet dans les propriétés de l'exe, il y a un tas de paramètres (fichiers source, destinations, paramètres des fichiers sources) à renseigner et je pense que c'est dans ces parties qu'on dois indiquer ou récupérer les variables. Je ne sais pas du tout où il faut que je mette la biblio de variable partagée .lvlib ?
J'attends vos réponses si c'est bien entendu la meilleure méthode à réaliser.
Merci d'avance.
Thomas Muller