Bonjour,
Je suis actuellement en stage avec pour but l'automatisation d'un banc de test d'un variateur par LabVIEW. Dans ce cadre, j'ai commencé à développer un Vi "mode automatique" qui permettrait de lancer un "test" d'une durée définie par l'utilisateur avec un signal généré pour la tension sélectionné par l'utilisateur parmi plusieurs possibilités et une acquisition de donnée renvoyées par des capteurs (les données renvoyées ayant un rapport direct avec la tension en entrée).
Pour ce faire, j'utilise une boucle for à l'intérieur d'une structure condition ( quand la condition est vrai, la mesure se lance ==> activation de la boucle for).
La durée du test est donc définie par le nombre de passage dans la boucle ( N ).
Cette boucle for possède cependant un terminal de condition ( oui je sais c'est une hérésie pour certains ^^' ) pour le cas où un arrêt d'urgence est nécessaire avec coupage de l'alimentation à la clef (parce que ça roule quand même sous du 380 VAC cette petite bêbêtte..).
Ce qui va nous amener à mon problème : pour l'envoi du signal tension en temps réel je suis obligée de laisser l'assistant DAQ dans la boucle for, mais de ce fait même après l'arrêt de l'envoi du signal ce dernier est toujours généré (je le visualise sur un oscilloscope pour l'instant). Comment faire pour le remettre à zéro ?
J'ai déjà testé quelques idées, et pour l'instant je m'en tient à la solution de mettre une boucle condition autour du signal à envoyer à l'assistant DAQ. Ainsi l'arrêt d'urgence enclenche le côté "FAUX" de cette structure condition et indique d'envoyer un signal de tension nulle à l'assistant DAQ.
Seulement voilà après test ça ne marche pas, le signal résultant est une tension continue de "-5" V.
J'ai observé le comportement du programme en mode pas à pas, l'indication d'envoyer le signal de tension nulle est bien relevée par LabVIEW, et le signal est bien envoyé à l'assistant DAQ, mais tout ce qui résulte sur l'oscilloscope c'est cette tension continue de "-5" V
Je me suis dit que le programme n'avait peut-être pas le temps de remplacer complètement les échantillons du programme précédent par tout un tas de zéros ( rapport avec le buffer ou le nombre d'échantillons donc ? ) mais même si c'est bien quelque chose comme ça, je ne vois pas du tout comment faire pour résoudre le problème
En espérant que l'explication de mon soucis n'est pas trop brouillon, je suis preneuse pour la moindre idée pouvant régler le problème.
D'avance merci,
Kali
Partager