le 05-16-2018 02:44 AM
Bonjour à tous,
Je travail sur un programme Labview, il est constitué de modules DAQMX, et donc est géré par une suite de canal d'erreur. Ce programme pilote un moteur (via un hacheur), un codeur, et applique une tension au borne d'un capteur.
Je voudrais à n'importe quel moment du VI pouvoir l'arrêter, c'est à dire, mettre dans le hacheur la valeur 0, et mettre l'alimentation du capteur sur 0V, puis arrêter le VI.
J'ai essayé d'utiliser la fonction "arrêter le VI" mais ça n'a pas fonctionné. Le mieux serait de pouvoir contourner le canal d'erreur en activant un booléen, mais je ne sais pas si c'est possible...
Merci d'avance pour vos réponses
Julien
le
05-17-2018
09:23 AM
- dernière modification le
11-14-2024
03:44 PM
par
Content Cleaner
Salut Dellta,
Pourrais-tu nous en dire plus sur la façon dont tu gères ton application ? Quel type d'architecture as-tu utilisé pour realiser ton VI ?
A première vue et de ce que je comprends de ta problématique, une machine d'états pourrait être indiquée dans ce cas-là.
Pourrais-tu nous partager ton VI pour que l'on puisse voir ce que tu as fait et t'aiguiller s'il te plaît ? Je n'ai pas accès à LabVIEW dans l'immédiat mais j'y jetterai un oeil dès que possible.
le 05-17-2018 10:06 AM
Bonjour,
Merci de votre réponse.
je vous met en PJ une capture de mon VI complet... essayez de ne pas avoir de crise d'épilepsie !! c'est la version la plus compact que j'ai réussi à faire... Mais ça donne une idée de comment est gérée mon application.
Mes sous-Vi sont constitués de la même architecture, mais avec de nombreuses boucles WHILE.
Merci,
Julien
le 05-17-2018 12:06 PM
Merci pour les infos !
Je confirme qu'une machine d'états devrait etre un bon point de départ pour faire ce que tu souhaites. Cela permettrait d'éviter l'utilisation de multiples boucles et de gérer ton arrêt d'urgence. L'idée d'une machine d'états est de pouvoir exécuter séquentiellement différentes opérations dont l'ordre peut être défini soit par programmation, soit par une action utilisateur.
Dans ton cas on peut imaginer que tu aurais les états suivants : initialisation, mesure, renseignements, arrêt, arrêt d'urgence, etc.
Tu trouveras énormément de documentation sur les machines d'états sur le site de NI ainsi qu'un template directement sous LabVIEW.
Je te laisse potasser un peu tout ça pour essayer d'en comprendre la logique et si tu as des questions n'hesite pas. De mon côté j'essaierai de te faire un exemple d'ici lundi 😉
le 05-22-2018 04:35 PM
Une proposition. Il suffit de remettre ton code là où il faut !