le 02-05-2013 04:09 AM
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.
Résolu ! Accéder à la solution.
le 02-05-2013 04:14 AM
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
le 02-08-2013 10:02 AM
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 ?
le 02-09-2013 04:14 PM
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
le 02-12-2013 03:43 AM
ok.
Si tu as un exemple simple et concret je suis preneur.
le 02-12-2013 04:11 AM
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
le 02-12-2013 07:29 AM
J'espere que ces fichiers feront l'affaire.
le 02-12-2013 07:39 AM
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
le 02-12-2013 08:46 AM
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.