Discussions au sujet de NI LabVIEW

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

Afficher et masquer un sous vi à volonté et à partir d'un Vi principal

Résolu !
Accéder à la solution

Bonjour,

Je pense que le titre est assez explicite. Je rencontre des dfifficultés lors de la création de mon programme. Je souhaiterais pouvoir appeler plusieurs sous Vi à partir d'une face avant principal et pouvoir les masquer indépendamment les une des autres.

J'ai réussi à faire appel aux sous vi et je peux les masquer cependant le Vi ne s'exécute pas automatiquement malgré le fait que j'ai coché les bonnes propriétés, ou alors le Vi s'exécute automatiquement, mais je ne peux pas afficher la face avant une fois que cette dernière a été masqué.

J'ai fait de nombreuses recherches mais je n'ai pas trouvé d'exemple pertinent qui pourrait m'aider. Mes sous Vi sont assez lourds donc j'aimerais éviter de les mettre ici cependant si quelqu'un peut m'expliquer grossièrement comment je pourrais réaliser mon diagramme principal. Merci

0 Compliments
Message 1 sur 12
6 021 Visites
Solution
Accepté par l'auteur du sujet jean-camille

Bonjour,

 

Pour ce qui est de l'appel de tes sous-VIs, tu peux les appeler dynamiquement en ouvrant une référence de ton sous-vi, puis en utilisant les noeuds de propriétés Face avant->ouvrir (pour l'ouverture), Exécuter le Vi (pour lancer l'exécution du vi), et Face avant->Fermer (pour fermer la face avant). Et ne pas oubleir de fermer la référence du sous vi une fois l'exécution terminée.

 

Voir la capture ci-jointe.

 

Cordialement.

Message 2 sur 12
6 009 Visites

Merci beaucoup cela marche comme je le voulais.

0 Compliments
Message 3 sur 12
5 992 Visites

Bonjour

 

j'avais le même problème et je vous remercie pour l'exemple, par contre à chaque fois que je fais appeler à ce sous-vi par une boucle d'événement, il le réouvre même si il est déjà ouvert et encours d'exécution.

 

Saviez vous quel noeud de propriété faut mettre ?

 

Merci d'avance

 

Cordialement

 

0 Compliments
Message 4 sur 12
5 715 Visites

Bonjour,

 

il est possible de vérifier si le VI est en cours d'execution,

- si oui, on ne fait qu'afficher la face avant

- si non, on le lance

 

CheckVIstatus.png

Cordialement,

 

Adeline.

Message 5 sur 12
5 697 Visites

Bonjour,

 

Merci pour votre retour,

 

j'ai essayé votre solution mais j'ai toujours le même problème.

 

Capture.PNG

0 Compliments
Message 6 sur 12
5 680 Visites

J'attire votre attention sur le fait qu'en définissant l'entrée "options" de la fonction Open VI Reference à 0x8, le VI est appelé de manière réentrante. Voir l'aide de cette fonction pour plus de détails.

0 Compliments
Message 7 sur 12
5 672 Visites

Bonjour,

 

Merci pour vos réponses;

 

j'ai changé l'option à x04 " et ça marche pour l'appel une fois " mais le problème que je n'arrive plus à lire ma fifo que j'écris dans le main

 

vous trouverez ci-joint un projet exemple de départ :

 

 

merci d'avance pour vos retour

 

0 Compliments
Message 8 sur 12
5 657 Visites

N'ayant pas encore installé LV2013, il m'est impossible d'ouvrir votre code.

0 Compliments
Message 9 sur 12
5 641 Visites

Je vous suggère de commencer une nouvelle discussion. Celle-ci ayant été marquée comme solutionnée, les chances d'obtenir de l'aide sont plus réduites.

Message 10 sur 12
5 639 Visites