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.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

laisser tourner un sous-vi pendant le reste du programme

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.

 

0 Compliments
Message 1 sur 11
3 493 Visites

Tu peux faire tourné ton sous VI dans une boucle while et controler l'état de celui ci depuis le programme principal !

 

Message 2 sur 11
3 490 Visites

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.

0 Compliments
Message 3 sur 11
3 485 Visites

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

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
Message 4 sur 11
3 467 Visites

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 ?

Yohann L.
0 Compliments
Message 5 sur 11
3 465 Visites

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?

0 Compliments
Message 6 sur 11
3 455 Visites

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 Smiley clignant de l'œil )

Cordialement,

Simon D.
CLA | Certified LabVIEW Architect
CTA | Certified TestStand Architect
0 Compliments
Message 7 sur 11
3 449 Visites

Ok merci beaucoup.

 

Merci a tous pour votre temps et vos conseils.

0 Compliments
Message 8 sur 11
3 446 Visites

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.

0 Compliments
Message 9 sur 11
3 361 Visites

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.

0 Compliments
Message 10 sur 11
3 358 Visites