Discussions au sujet des autres produits NI

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

Message Handling Loop : Problème d'affichage de la face-avant du sous-VI avec l’exécutable généré par le main

Résolu !
Accéder à la solution

Bonjour,

 

   J'utilise pour gérer plusieurs appareils, une structure du type MHL, vu dans la formation CORE3 (2016), avec un VI controller et un VI appareil pour gérer un spectromètre. Chaque VI a sa pile de message et sa pile de notifier :

Spectromètre.png

 

   Je souhaite donc ouvrir ou fermer la fave-avant du VI spectromètre, qui contient plusieurs informations utiles. Pour ce faire, j'utilise, avec la boucle évènementiel (cf pattern GMF/MHL) ce bout de code : invoke node VI.png

   Sous environement de développement, cela marche très bien. Le code  ouvre la face avant qui me montre mes informations. Et lorsque je la ferme, le vi continue de tourner.

   Par contre, dès que je génère l'exécutable du rpogramme principale. Cela ne marche plus. La face avant de spectrometre ne s'affiche pas.

J'ai essayé :

- l'ouverture par référence statique.

- les modification des propriété du VI.

- inclure les sous VI dans le source setting du builder d'exe.

Rien ne marche.

Quelqu'un peut-il m'aider à trouver une solution ? Celles proposées sur le forum ne marchent pas.

 

Je suis sous labview 2013.

 

PS : Main.VI =>

Structure MHL.png

 

 

 

0 Compliments
Message 1 sur 5
3 445 Visites

Salut,

Puisque vous avez mentionné qu’il y a une erreur lors du lancement de l’Exécutable, il se pourrait qu’il y ait un problème lors de la création de l’Exe.

Dans ce cas, je vous conseillerais de poster votre VI.

 

Salutations,

Greetings and Regards,
James
0 Compliments
Message 2 sur 5
3 074 Visites

Bonjour,

Dans l'option de construction de votre exécutable, vérifier que l'option "supprimer la face avant" n'est pas coché pour votre sous-vi.

Car pour optimiser les exécutables, labview supprime les faces avant des sous-vi qui ne sont pas utile.

De plus, dans le cas d'un lancement dynamique, labview n'incluera pas votre sous vi de manière automatique (n'ayant pas de lien physique avec le main), il faut l'ajouter avec l'option "toujours inclus".

 

Cdt,
Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 3 sur 5
3 071 Visites

Une autre cause probable est décrite ici. Voir aussi ceci.

0 Compliments
Message 4 sur 5
3 069 Visites
Solution
Accepté par Harti

Merci pour vos réponse.

 

J'ai résolu le problème. Il s'agit de l'emplacement des sous-VI pointés par l'exécutable.

 

Je m'explique, dans ma version de développement, j'ai créer des répertoires pour classé les VIs et sous VIs par appareils; et cela dans l'environnement de projet, mais aussi physiquement sur mon HDD. Par exemple, j'ai un répertoire "Spectro" qui contient la FGV, le VI de contrôle, et le VI d'affichage du spectromètre.

 

Il faut donc dans les options de génération de l'exécutable, toujours inclure les VI d'affichage dans l'exécutable : "source file", mais aussi ajouté un chemin absolu où l'exécutable pourra les trouver : "destination".

 

Par contre je rencontre toujours un problème de mise à jours des afficheurs pour la face avant d'un sous-VI qui se lance au démarrage du VI principale. 

 

 

Tout télécharger
0 Compliments
Message 5 sur 5
3 009 Visites