11-07-2016 06:53 AM - modifié 11-07-2016 07:03 AM
Bonjour,
Je souhaite pouvoir mettre en pause un boucle while lorsque je change d'onglet dans un tab control et la redémarrer quand je reviens dessus.
Voici ce que j'ai réussit à produire:
mais je ne suis pas satisfait du resultat car lorsque je lance la boucle de la page2 mon interface est bloqué.
Et ma boucle ne redémarre pas lorsque je reviens sur mon onglet, je pourrais ajouter un event struct mais j'aimerais savoir si il y a pas une méthode plus adapté!?
Est-ce que quelqu'un pourrait me donner une astuce pour améliorer mon code?
le 11-08-2016 11:45 AM
Salut,
Sans avoir ouvert ton VI j'ai plusieurs questions/remarques :
A+
le 11-11-2016 01:47 AM
Salut,
Je suis en train de travailler sur un banc de test de champs magnétique.
J'ai une alim (EA-PS 3016-20 B) sur laquelle je règle la tension et le courant pour générer un champs magnétique dans une bobine. Lequel je viens acquérir grace à un multimètre (metrix mtx 3250).
J'ai une boucle de calibration, qui lorsqu'elle s'éxécute devrait stoper l'aquisition afin d'anuler les requêtes inutiles.
Si tu vois des abérations dans mon code n'hésite pas à me faire des remarques (c'est mon premier soft LabVIEW).
Merci d'avance pour ton aide!
le 11-11-2016 03:07 AM
Salut,
Juste en survolant ton code je dirai :
Sinon, je ne vois pas vraiment le rapport entre ce dernier code et celui du premier post ?!
le 11-11-2016 03:29 AM
Salut,
De quel boucle while parles-tu (Il y en a 5)?
Le rapport avec l'exemple précédent, c'est ma boucle "Measure magnetic field" qui represente la boucle du haut et la boucle "Calibration" la boucle qui en dans l'event struct.
En gros ce que je souhaite, c'est que ma boucle "Measure magnetic field" tourne en permanence sauf lorsque la boucle "Calibration" est exécuté.
Cordialement,
Eicher
le 11-11-2016 04:26 AM
Zut je n'avais vu que celle de la caméra.
Donc mes commentaires sont valables pour toutes les boucles.
Surtout d'utiliser le flux d'erreur dès que possible (et de le gérér bien entendu).
Il y a des boucles while dans les boucles while... Il est préférable (pour la lisibilité et pour éviter les boucles "bloquées) de n'utiliser qu'une boucle while. Si tu as des étapes à faire, utilise des machines à état (http://www.ni.com/white-paper/3024/en/).
Il y a a boucle "Measure magnetic field" qui ne s'arrête jamais, je ne pense pas que ce soit normal.
Elle semble ouvrir une communication COM, mais elle ne la ferme pas ?
Ce sont mes remarques de 1ère lecture du VI, je ne peux malheureusement pas analyser tout ton code ...
Si tu le souhaites on peut se focaliser sur ta remarque de boucle qui tourne quand l'autre ne tourne pas (je te conseille à nouveau d'utiliser de la machine à état).