From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
le 01-31-2014 04:34 AM
Bonjour,
J'ai une carte d'acquisition NI-usb 6009 et je voudrais savoir comment est-ce qu'on fait pour que lorsque j'appuie sur un bouton-poussoir, la carte fournisse 5V. Parce que là elle fournit les 5V en permanence.
Merci d'avance.
Résolu ! Accéder à la solution.
le 01-31-2014 06:26 AM
Bonjour,
En génération analogique, la carte va maintenir la dernière valeur mise à jour. Dans le code, initialisation de la tâche de sortie analogique, puis peut être une boucle; si appui sur le bouton, un DAQmx Write avec 5V. si bouton relâché, DAQmx Write avec 0V, et en sortie de boucle, DAQmx Write avec 0V et la fermeture de la tâche. A partir de l'exemple Voltage - On Demand Output.vi, ce pourrait être quelque chose de cet ordre :
(tiens, le png m'a fait sauter la mention "Generate 5V" : Value Change, et le Type de l'event semble invalide... curieux)
Pour l'utilisation de la structure event : http://zone.ni.com/reference/en-XX/help/371361J-01/glang/event_structure/
Cordialement,
le 02-04-2014 02:24 PM
Merci beaucoup, ça fonctionne bien. Par contre je n'ai pas mis le bloque "statut" et ça va quand même. Est-il vraiment nécessaire ?
le 02-05-2014 01:49 AM
Oui et non.
La structure event attend que l'un des évènements déclarés (deux ici, Value Change sur le bouton Generate 5V, et un Timeout de 100ms) pour rentrer dans l'un des case. J'ai utilisé cette fonction pour pare au cas ou mon chien sera venu se prendre les pattes dans le câble USB du 6009 - ou tout autre cas débile dans le quel pour une raison que je ne maîtrise pas, une erreur DAQmx surviendrai. Comment est-ce que je peux récupérer cette information?
Si je ne passe pas dans une fonction DAQmx, je n'interroge pas le driver, je n'ai aucun moyen de savoir qu'une erreur est apparue, et donc aucun moyen d'arrêter mon programme (jusqu'à l'appui sur le Generate 5V). D'où l'utilisation de ce bloc (peut être pas tout à fait dans sa fonction première) pour contrôler l'état de ma tâche. Très accessoirement, ceci me permet aussi de contrôler la valeur du bouton stop (en dehors de la structure Event de temps à autre (sans Timeout, il faut recliquer sur Generate 5V pour pourvoir - peut être - arrêter la boucle.... pas top).
Quelques remarques:
...j'aurais aussi pu faire plus simple :
le 02-05-2014 04:40 AM
Tout est très claire
Merci beaucoup !