Bounjour à tous,
Je lis deux signaux digitaux (interrupteurs) et deux entrées analogiques (voltage).
Les fonctions de création de canaux virtuels et de démarrage de tâche sont en-dehors d'une boucle while. Jusque là pas de problème. Les fonctions Read (lecture) sont non seulement dans la boucle While mais aussi dans une boucle condition (Vrai/faux).
Dans le cas "Vrai" je lis mes interrupteurs en continu. Là aussi pas de problème.
Ce qui fait basculer la boucle condition sur le cas "faux" c'est un appui sur les deux interrupteurs.
Dans le cas "Faux", je lis toujours mes interrupteur avec une fonction "Read" mais aussi mes signaux analogues avec, évidemment une autre fonction "Read".
C'est à ce moment que l'erreur du titre survient au moment où le programme atteind la fonction "Read" liée au canaux analogiques :
Error -200279 occurred at DAQmx Read
Cette erreur me dit que je n'échantillonne pas assez vite ou que le buffer n'est pas assez grand.
2 questions :
1/Comment résoudre ce problème ou plus généralement, comment utiliser efficacement les fonctions DAQmx quand on utilise plusieurs boucles While et Condition. Autrement dis comment utiliser efficacement les fonctions DAQmx quand on veux faire une lecture de signaux de manière ponctuelle (sur une durée plus ou moins brève) à différents moments dans le programme.
2/Si le buffer est une nécessité et qu'il se remplit au fur et à mesure du temps. La vitesse d'exécution du programme risque d'en pâtir ?!
Y a t'il possibilité de le vider notamment quand le programme est dans des phases où aucune lecture de signaux n'est nécessaire. Est-il possible de reprendre une lecture ensuite ?
N'hésiter pas pour plus de précision
Partager