NI Home
Cart Achats | Aide
Hello Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI
You are here: 
NI Home > NI Developer Zone > NI Discussion Forums


Répondre
Member
tuonglinh
Envois : 126
0 Compliments

Interrompre un vi sans recourir au bouton d'arrêt rouge

Bonjour
J'ai un programme que je construis sous forme d'un exécutable. Lorsque je laisse tourner l'exécutable à terme, il n'y a aucun problème quand je relance cet exécutable une 2ème fois sans fermer la fenêtre. Par contre si dans la première exécution j'interromps le programme par le bouton d'arrêt rouge dans la barre de menu (forme exécutable) le programme arrête, mais en laissant la fenêtre ouverte et je relance le programme, le programme plante (il ne reconnait plus l' appareil Anritsu 1764A que le programme contrôle par GPIB). Maintenant si je mets hors tension l'Antrisu 1764A je ferme le programme et après j'allume l'Antrisu et j'ouvre l'exécutable le programme fonctionne de nouveau normalement. Pour résoudre ce programme maintenant je compte de ne plus interrompre le programme par le bouton d'arrêt rouge mais en créant une commande d'arrêt au sein du programme, le problème c'est que je n'ai pas la boucle White comme le plupart des programmes LabView, mais j'utilise la boucle For !
Comme cette boucle lise un fichier avec au moins 80 lignes pour finir l'exécution, il n'y na pas raison que j'attends il exécute jusqu'à dernière ligne pour voir la fin du programme, comment arrêter le programme sans attendre jusqu'à la fin du programme ? Plus précis comment on interrompre correctement une boucle For avant qu'elle lise tout les données ? Je vous remercie pour votre aide.
Member Phb
Member
Phb
Envois : 62
0 Compliments

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

Salut,

Pourquoi ne pas utiliser une boucle while...
en utilisant comme instruction de sortie i>= 80 ou Stop....

...
Trusted Enthusiast
chilly charly
Envois : 3 438
0 Compliments

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

Une autre solution est d'avoir une boucle While, tournant en parallèle avec la boucle For, qui contienne une instruction Stop ou Exit (voir dans la sous-palette "Application control", comme dans le vi attaché...

CC
Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...        
Member
tuonglinh
Envois : 126
0 Compliments

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

Je remercie Phb et Chilly Charly pour 2 solutions proposées, mais quand je teste le programme avec solution d'arrêt, et je relance le problène avec l'appareil Anritsu persite (c'est à dire il ne reconnu plus l'Anritsu!). C'est étrangecar les autres appareils (HP et JDS) marchent normalement même si on interrompt le programme tandis que l'Anritsu se plante !. Au début je crois c'était à cause de bouton d'arrêt rouge, mais maintenant même avec la solution d'arrêt par programme c'est le même problème! Je ne sais pas quelle est la cause ? (Même si je fais tourner la souce LabView 7.1)
Member Phb
Member
Phb
Envois : 62
0 Compliments

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

if faudrai avoir plus d'information sur le protocole de communication du Anritsu 1764A .... si tu ne termine pas ton fichier ...(? commandes...) peu être l'Anritsu 1764A se bloque t'il dans l'attente d'une commande bien particuliére du PC....

....
Member
tuonglinh
Envois : 126

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

Peut être l'Anritsu n'a pas encore terminer une action (ici c'est la lecture une mesure) lorsqu'on demande d'arrêt le programme. Maintenant je compte ajouter une condition (combinée avec la commande booléenne de la boucle while) pour arrêter le programme, c'est à dire quand on demande arrêter le programme, la boucle while exerce pas tout de suite l'action "exit" mais elle attend que l'Anritsu termine une lecture en cours et après il donne la main à l'action "exit" de la boucle while. Merci pour votre idée. Tuonglinh
Active Participant
CBRaoul
Envois : 849
0 Compliments

Re: Interrompre un vi sans recourir au bouton d'arrêt rouge

Il se peut aussi que tu aie des probleme lies aux conditions d'arret. Pour un moteur pas a pas que je controle via RS232, il faut necessairement fermer le protocole de communication avant l'arret sinon ca bloque quand on relance.

bon courage.

Raoul
Raoul Chodziesner-Bonne
Ingénieur Instrumentation
CRIL TECHNOLOGY - Groupe ALYOTECH

"Celui qui pose une question peut paraitre idiot sur le moment, celui qui n'en pose pas le reste toute sa vie!"
En consultant ce site, vous en acceptez les Conditions d'utilisation. Veuillez les lire attentivement avant d'accéder à une quelconque partie du site. Veuillez suivre ce lien pour en savoir plus sur la politique sur les droits d'auteur de ni.com.
Mon Profil | Confidentialité | Conditions d'utilisation | Contacter NI © 2011 National Instruments Corporation. All rights reserved.    |    Envoyer cette page Envoyer cette page