le 06-01-2009 01:49 AM
Bonjour,
mon probleme reside dans le fait que l'éxecution de mon vi ne se fait pas continuellement.
je presse le bouton run, après je fait entrer les parametres de controle, le resultat s'affiche pour la premiere fois, mais lorsque je change les parametres une autre fois rien ne change. je dois stopper le vi et l'éxecuter une autre fois pour que les nouveaux resultats s'affichent.
je voudrais éviter cette procedure de stopper et éxecuter le vi a chaque fois que les parametres de controle changent de valeur.
je voudrais executer le vi continuellemt et changer les valeurs sans stopper.
merci,
Résolu ! Accéder à la solution.
le 06-01-2009 03:37 AM
Bonjour,
je n'ai pas vu ton programme mais c'est très classique ton problème. Pour que le VI s'exécute continuellement et pendant ce temps là tu peux changer les paramètres, il faut mettre tes codes dans une boucle while et créer un bouton "arrêt" de programme. les variables à entrer pendant l'exécution de ton programme doient être présentes dans la boucle, c'est tout simple comme ça. En plus avec cette méthode tu n'as pas à utiliser le bouton "exécute" continuellement mais tu clique que sur le bouton "exécute" (la petite flèche en haut à gauche). Cordialement.
le 06-01-2009 04:14 AM
Salut Rose,
Il ne faut en aucun cas utiliser le bouton "Run continuously", car il te faudra alors utiliser le bouton rouge "Abort execution" pour arrêter ton VI.
Utiliser le bouton rouge, c'est comme utiliser un arbre pour arrêter une voiture (c'est pas de moi )
Poste ton VI, et on va y jetter un oeil, ton problème est simple, et te paraîtra simple une fois expliqué.
A+
le 06-01-2009 04:37 AM
Merci tuonglinh et Mathieu de m'avoir repondu,
Enfaite j'ai testé cette solution, mais rien n'a changé...je trouve ça bizarre.!!!
(mon application aquiert des donnees d'un NI DAQ et vous pouver remarquer dans le vi caracteristique
que seul le controle delay peut etre modifie durant l'application mais pas les autres....)
merci,
le 06-01-2009 05:32 AM
Re,
Je vais être franc avec toi, ton VI est difficillement lisible. Je l'ai refactorisé (simplifié) pour me rendre compte d'une chose.
Tu as une boucle while insérée dans une boucle autre while. A mon avis, ton code est bloqué dans la boucle interne (celle qui fait entre autre le calcul de Rd (ohm)).
En effet, ta boucle externe commence à tourner, fait une acquisition, puis rentre dans la boucle while interne et y reste bloqué temps que tu n'appuies pas sur le bouton "Stop" qui permettrait à la boucle interne de terminer son éxécution et de passer ainsi à l'itération suivante de la boucle externe. Essaye de valider ce point là lançant ton code en éxécution détaillée.
De manière plus générale, ton VI souffre de grave problème de visibilité. Mets les calculs dans des sous-VIs, et fais tenir le code du VI principal sur un écran.
Tu t'y retrouveras beaucoup mieux.
A+
le 06-01-2009 06:13 AM
le 06-01-2009 06:52 AM
Bonjour Rose,
Si j'ai bien compris, tu veux pouvoir rentrer tes paramètres (Instructions) avant d'effectuer une acquisition. Avec ton vi actuel, l'acquisitioin ne s'effectue qu'une seule fois, et le vi reste bloqué dans ta boucle while.
Je te joins un vi qui permet de modifier tes paramètres entre chaque acquisition. La boucle condition permet de lancer l'acquisition quand tu appuie sur le bouton Acquisition. Appuie sur Stop pour quitter l'application.
Cordialement.
le 06-01-2009 06:55 AM
le 06-01-2009 09:42 AM
En regardant de plus pres ton vi, je me suis rendu compte que l'exemple que j'ai proposé ne permet pas d'avoir les valeurs X1,X2,Y1,Y2 en temps réel quand tu deplace le curseur sur le graphe.
Pour cela ,il faut que dans la boucle condition, il n'y ai que la partie concernant l'acquisition.
le 06-03-2009 05:55 AM
Merci beaucoup jack...la modification que vous avez faite a résolu le problème.
mais j'ai decouvert que la cause réelle qui a laisse les controles bloqués est vraiment drôle .....
la zone de texte est étendue sur le controle de façon qu'elle le bloque..