Discussions au sujet de NI LabVIEW

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

sous Vi et labview run time

Résolu !
Accéder à la solution

Bonjour,

 

J'ai un VI principal (Main.vi) et 3 sous Vi (sub1.vi, sub2.vi, et sub3.vi).

A partir de mon Vi principal j"appelle, lance et arrete mes sous VI. 

Ca fontionne sur le pc ou j'ai installé Labview.

Mais sur un autre pc que j'appelerais "client" il n'y a que le runtime labview. Sur ce poste "client"  le Main.vi après complition devient un Main.exe jusque la rien d'anormal et ça fontionne. MAIS que doit appeller comme sous vi  le programme main.exe désormais ? Un sub.vi ou un sub.exe ? Faut-il compiler aussi les sous vi , mais dans ce cas, Labview ne les reconnaitra pas comme des sous vi mais comme des executables  .exe.... Peut-on  conserver les sous.vi sur un poste "client" ?

 

 

Merci.

0 Compliments
Message 1 sur 9
3 664 Visites

Si tu appelles des VIs dynamiquement tu dois ajouter ces VIs dans les specs de build de ton EXE (dans la section "Soucre files"), donc ces VIs doivent être référencé dans ton projet afin que tu puisses les ajouter dans le tableau "always included" ce faisant tu dis au compilateur qu'il doit inclure ces VIs dans l'EXE.

Attention car dans le fonctionnement en EXE les chemins des VIs ne sera pas exactement le même qu'en code LabVIEW, tu dois donc ajouter du code pour vérifier si tu es en EXE ou en source et selon adapter le chemin d'appel du VI dynamique.

 

Enjoy!


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 2 sur 9
3 662 Visites

Ca fontionne, apres complilation mon programme main.exe peut appeller un sousvi. Mais...

Si je ferme la fenetre contenant le sous vi, celui-ci ne s'arrete pas. Il reste en memoire et par la suite je ne peux pas le relancer.

Comment puis-je le virer aussi de la mémoire ? 

0 Compliments
Message 3 sur 9
3 640 Visites

En effet, fermer la face avant n'arrête pas le VI (ne tue pas le process) c'est à toi de faire en sorte que si le front panel d'un VI est fermé par l'utilisateur le VI s'arrête, ainsi il sortira de la mémoire.

 

Dans le VI en question tu peux utiliser une structure event pour détecter l'évènement "panel close" qui sera détecté au moment où tu fermes la fenêtre et donc faire en sorte que ton VI s'arrête une fois cet évènement est détecté.

 


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 4 sur 9
3 632 Visites

ok.

Si tu as un exemple simple et concret je suis preneur.

0 Compliments
Message 5 sur 9
3 613 Visites

J'ai pas d'exemple simple sous la main... Il y en a peut être dans les exemples LabVIEW, sinon, poste ton code que je ne parte pas de rien et je t'aiderai à faire les modifs qu'il faut.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 9
3 611 Visites

J'espere que ces fichiers feront l'affaire.

0 Compliments
Message 7 sur 9
3 605 Visites

Ah oui... il faut tout faire en fait... va dans les exemples (Help >> Find examples... >> onglet "Search", bien sur c'est si tu as LabVIEW en anglais, si tu l'as en français tu devrais trouver les correspondance ;)) et fait une recherche avec "dynamic", il y a des bons exemples.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 8 sur 9
3 603 Visites
Solution
Accepté par l'auteur du sujet Atomics

Non ça c'etait juste pour partir d'un exemple simple.

Le programme existe bien en revanche c'est bien c'est le keyword Dynamique qui me manquait  dans mes requettes.

 

 

Merci.Smiley clignant de l'œil

0 Compliments
Message 9 sur 9
3 599 Visites