From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

Appel sous vi, fermeture du sous vi

Résolu !
Accéder à la solution

Bonjour à tous,

 

J'utilise une strucutre évènementielle qui me permet d'appeler la face avant d'un sous vi à l'appui du bouton correspondant. Notamment, grâce à configuration du noeud du sous vi.

 

Cela fonctionne très bien, mais lorsque je ferme mon sous vi, mon vi principal (menu) reste bloqué. Ce que je ne souhaite pas car je souhaite laisser la possibilité de revenir au menu et changer de mode d'execution.

 

Pourriez-vous m'aider à résoudre ce  problème s'il vous plaît ?

 

Mon menu se trouve dans le vi "Main"

 

Cordialement

 

 

0 Compliments
Message 1 sur 9
5 270 Visites

fermer le front panel de ton sous-vi ne l'arrête pas.... si ton sous-vi ne termine pas son exécution, c'est pour ça que tu as l'impression que ton vi main ne réponds plus, en fait il simplement dans le cas "mode auto" de ta structure event et il attend la fin de l'excécution de ce cas pour passer à l'itération suivante de la boucle while du main.

 

j'ai lancé le main, je suis allé en mode auto, j'ai fait stop, je me suis retrouvé de nouveau dans le main et ça marche, par contre en allant dans le manuel, pas possible de sortir...


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
5 268 Visites

D'accord, merci TiTou pour ces explications.

 

Concernant l'arrêt d'un cadencement maitre esclave, quelle est la meilleure architecture pour arrêter l'execution du logiciel ?

 

Car j'ai utilisé des variables locales et certaines fois des VGF mais cela ne me semble pas le plus optimal.

 

Cdt

0 Compliments
Message 3 sur 9
5 265 Visites

ce que je préfère c'est les évènemnts dynamique, ça rajoute un peu de code par rapport à des locales mais c'est plus propre et surtout plus évolutif.

n'hésite pas à regarder les exemples dans LabVIEW sur les évènements dynamiques, c'est pas super compliqué et c'est très puissant.


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
5 256 Visites

Bonjour TiTou,

 

J'ai étudié les évènements dynamiques et si j'ai bien compris, cela me permet de gérer "plusieurs évènements" selon une liste par exemple dans un seul état ?

 

Mais d'après mon mode manuel avec mon cadencement maitre esclave, je ne vois pas vraiment où je pourrai l'intégrer ? Dans ma boucle maître pour gérer mes STOP ?

 

Cordialement

 

 

0 Compliments
Message 5 sur 9
5 239 Visites

Bonjour Nathan et Titou,

 

J'observe le même comportement que Titou.

 

Le sous-vi relatif au mode manuel ne termine par son exécution quand on appuie sur stop et ne rend pas la main au vi main (ce qui bloque les menus).

 

Dans une sous-vi du Mode Manuel, la structure événement permettant de régler la rampe et le palier à un timeout infini. Si Stop passe à vrai, la variable sera lue à la prochaine itération de la boucle, c'est-à-dire au prochain événement. 

manuel.PNG

Cordialement,

Isabelle

Message 6 sur 9
5 232 Visites

Merci IsabelleG pour cette réponse !

 

Donc, le problème viendrait du fait que le timeout est infini ? Il faudrait fixer un temps ?

 

Cordialement

0 Compliments
Message 7 sur 9
5 230 Visites
Solution
Accepté par l'auteur du sujet aznnath11

Je pense que tu peux supprimer ta structure évènement et placer son contenu dans ta boucle maitre.

 

Cordialement,

Message 8 sur 9
5 226 Visites

Oui cela fonctionne comme cela.

 

Merci pour l'aide IsabelleG !

 

Cordialement

0 Compliments
Message 9 sur 9
5 223 Visites