Discussions au sujet de NI LabVIEW

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

Ouvrir un vi par référence

Résolu !
Accéder à la solution

Bonjour la communauté francophone !

 

Alors voilà, j'écris ici parce que je rencontre un petit soucis pour ouvrir un vi par référence. Je fais bien tout correctement pour l'ouvrir à savoir d'abord "ouvrir une référence de vi", puis un nœud d'appel par référence suivi d'un noeud de propriété (dans lequel je demande d'ouvrir le vi puis l'afficher devant) et enfin je ferme la référence.

 

l'ouverture fonctionnait bien jusqu'à ce que je fasse une modification :

 

Le vi que je veux ouvrir est un vi dans lequel l'utilisateur est sensé entrer des paramètres. J'ai donc ajouté à ce vi un booléen "OK" connecté à "attendre activité sur face avant". Seulement, dès que j'ajoute cette fonctionnalité, l'ouverture par référence ne marche plus. Elle se fige au noeud de propriété, le tout sans renvoyer la moindre erreur. (vi's en pièce jointe mais version LV 6.1).

 

Avez-vous une idée de ce qui empêche l'ouverture ? Peut être dois-je procéder autrement pour ouvrir ce vi ? (désolé si ma question est absurde, je débute sur Labview et c'est la première fois que j'utilise les références...)

Tout télécharger
0 Compliments
Message 1 sur 5
1 368 Visites

C'est logique, tu ouvres la référence au vi et tu le lances et il attend qu'il y ait de l'activité sur la face avant avant de continuer mais la face avant n'est pas encore ouverte! Ouvre le panneau avant à partir du vi que tu lances en utilisant la méthode fp.open.

 

open front panel method.png

 

Ce serait bien plus simple d'utiliser tout simplement un sous-vi.

 

Ben64

0 Compliments
Message 2 sur 5
1 339 Visites

Merci pour ta réponse.

 

Comment accéder à la méthode fp.open ? C'est peut être parce que ces fonctionnalités n'existent pas sur Labview 6.1 mais je ne trouve pas non plus la fonctionnalité "this VI".

 

Aussi, tu me parle de sous-vi mais je souhaite que le vi s'ouvre pour l'utilisateur. C'est possible ?

0 Compliments
Message 3 sur 5
1 309 Visites
Solution
Accepté par l'auteur du sujet seyli_yes

@seyli_yes  a écrit :

Merci pour ta réponse.

 

Comment accéder à la méthode fp.open ? C'est peut être parce que ces fonctionnalités n'existent pas sur Labview 6.1 mais je ne trouve pas non plus la fonctionnalité "this VI".

 

Aussi, tu me parle de sous-vi mais je souhaite que le vi s'ouvre pour l'utilisateur. C'est possible ?


C'est possible d'ouvrir un sous-vi pour l'utilisateur, fais un clic-droit sur le sous-vi, sélectionne "subVI node setup ..." (mon installation de LV est en anglais) et sélectionne "Show front panel when called" et "Close afterward if originally closed".

 

Screen Shot 07-22-21 at 08.26 AM.PNG

 

Maintenant si tu ne modifie pas ton sous-vi actuel il va s'ouvrir, s'effectuer en une fraction de seconde et se refermer (c'est probablement pour ça que tu voulais utiliser Wait for front panel activity (ce qui n'aurait pas résolu le problème car au premier clic ton vi se serait refermé). Il faut que tu utilises une boucle while autour de ton code avec un délais de 100ms. Ainsi tu peux éditer les contrôles du sous-vi. Lorsque l'édition est terminée tu clique sur stop (un bouton stop à ajouter pour stopper la boucle while) et le sous-vi se referme. Avec un sous-vi les variables globales sont inutiles, tu pourrais utiliser des indicateurs à la sortie pour récupérer les valeurs.

 

Ben64

Message 4 sur 5
1 296 Visites

Ah parfait c'est exactement ce que je voulais merci !

0 Compliments
Message 5 sur 5
1 291 Visites