From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
le 03-07-2012 06:01 AM
Bonjour,
J'aimerai savoir s'il est possible de laisser tourner un sous-vi sans avoir a le quitter et de pouvoir continuer de générer le reste du code principal. (Par appel dynamique peut-être??)
Merci d'avance pour votre aide et le temps que vous y avez consacre.
le 03-07-2012 06:14 AM
Tu peux faire tourné ton sous VI dans une boucle while et controler l'état de celui ci depuis le programme principal !
le 03-07-2012 06:31 AM
En fait, j'explique, je suis en train de faire un stage de fin d'étude et je dois améliorer un système déjà existant. Pour exécuter ce dernier, on ouvre un premier programme labview appelé ilc (que je n'ai pas conçu moi même et auquel je ne peux normalement pas toucher) qui générer une série de paramètres qui sont alors enregistrer sur une interface. Ce programme doit obligatoirement rester ouvert. J'ouvre alors un autre programme qui exécute ces paramètres et fais le traitement de données.
Pour ma part, je dois envoyer de manière aléatoire 15 paramètres différents. J'ai réussi a régler cela par l'utilisation d'un script scilab,de cluster et de case structure. J'arrive sans problème a envoyer mes paramètres sur le programme ilc. Cependant je n'ai aucune connexion entre l'ilc et mon autre programme. Une boucle while me permettrait vraiment de régler ce problème?
Merci beaucoup d'avance.
le 03-07-2012 07:34 AM
Il existe deux méthodes pour faire un appel dynamique:
-par vi server en ouvrant une référence sur un vi puis en appelant la méthode Run
-sous LV 2011 utiliser le VI "Asynchronous VI Call"
Regarde ici pour plus d'infos
le 03-07-2012 07:37 AM
Je sais pas pour les autres, mais moi je n'ai rien compris ...Pouvez vous être plus explicite ?
Qui passe des paramètres à qui ? et quelle est cette interface ?
le 03-07-2012 08:56 AM
Je vais essayer d'expliquer ca le plus clairement possible.
En fait lors de mon arrivée, il existait un système qui contrôle des LED. Pour le faire fonctionner, on devait ouvrir un 1e programme labview (ICL) qui envoie a une interface gérée par une carte arduino différents paramètres (intensité, temps, itérations...). Ce programme ICL doit rester ouvert. Je ne sais pas pour quelles raisons d'ailleurs. On ouvrait ensuite un deuxième programme labview qui lorsqu' appuye sur start contrôle les LED pendant le nombre d'itérations demandées.
Mon maître de stage ma demander alors de programmer de 1 a 15 paramètres différents a générer le même nombre de fois de façon aléatoire durant un certain nombre d'iteration.Pour schématiser avant on avait 1 paramètre, si on avait 5 itérations ca donnait 1-1-1-1-1
Maintenant dans mon cas par ex avec 5 paramètres et 10 itérations j'aurait par exemple 3-1-5-4-2-5-3-1-2-4 (chaque chiffre représentant un paramètre différent)
J'ai réussi a faire ca a l'aide de scilab entre autre. Mes paramètres s'envoie sans soucis dans ICL (1e programme que j'ai inclut sous le forme de sous VI). Le problème est que vu que ce programme doit rester ouvert (ICL, le sous VI), quand je lance mon programme, la fenêtre de l'ICL s'ouvre avec et tant que je ne lui dis pas de quitter, je n'ai pas accès a mon second programme qui contrôle mes LED.
Est-ce plus clair?
le 03-07-2012 09:08 AM
De ce que je comprends tu dois faire tourner ton VI en paralèlle donc l'appel dynamique est la meilleure solution (regarde le lien de mon post précédent pour plus d'information )
le 03-07-2012 09:23 AM
Ok merci beaucoup.
Merci a tous pour votre temps et vos conseils.
le 05-01-2012 03:50 PM
Bonjour à tous,
Je reviens sur un ancien problème. Il m'a fallu avant tout rendre le tout (enregistrement, envoi sur une database...) automatique. Il me reste à établir la connexion entre mes 2 machines (à savoir la carte Arduino qui reçoit les paramètres qui contrôlent des LEDs dans une "chambre" dans laquelle le bruit est enregistrer via une carte NI durant l'expérience).
J'ai essayer l'appel asynchrone ainsi que l'appel dynamique présenté dans le lien suivant: http://vishots.com/dynamic-process-vis-in-labview-part1/.
Cependant cela ne fonctionne pas.
Je suis vraiment à court d'idée
Quelqu'un pense t'il a quelque chose d'autre qui pourrait fonctionner?
Merci d'avance.
P.S: le travail étant confidentiel je ne peux malheureusement poster aucun VI pour aider à la compréhension du problème.
le 05-01-2012 03:56 PM
le travail étant confidentiel je ne peux malheureusement poster aucun VI pour aider à la compréhension du problème.
Je peux comprendre ... mais dans ces conditions il est difficile de t'aider.
ceci peut-être (si cela est possible) : nous montrer un "code fictif minimum" mettant en évidence le problème.