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.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Générer un pulse de 10ms avec une 9403 et un châssis CompactDAQ

Bonjour à tous,

Je rencontre actuellement un problème pouvant paraître simple aux initiés, mais ayant la tête dans le guidon, je ne parviens pas à trouver de solution.

Voici le soucis : Je souhaite générer une impulsion de 10ms avec une sortie Digital Output de carte NI 9403. En effectuant deux tâches DAQmx à la suite (avec une structure séquence) et en mettant un wait de 10ms entre les deux, je déborde et génère un créneau d'environ 35-40ms de largeur...

Cela fait quelques heures que je cherche à générer un profil à base de waveform, de signal abritraire etc, mais les essais sont infructueux. Pourriez-vous m'aiguiller ?

 

NB: Cette tâche doit être réalisée en parallèle d'autre tâches de génération de discret utilisant la NI9403, mais qui ne posent aucun problème de délai/largeur de pulse, j'utilise donc le VI tout fait "Assistant DAQ" pour ces tâches.

 

D'avance merci 🙂

0 Compliments
Message 1 sur 4
2 486 Visites

Si tu effectues deux tâches à la suite c'est tout à fait normal de dépasser 10 ms. Il faut comprendre un peu le le modèle des états d'une tâche DAQmx. La tâche passe successivement par les états Unverified, Verified, Reserved, Commited et ensuite Running. Ensuite lors de l'arrêt de l'état Running à Commited à Verified  à Unverified. Cela prend du temps d'où le dépassement observé.

 

Pour faire ce que tu veux tu peux utiliser les fonctions de base DAQmx et mettre le 10 ms d'attente entre 2 Wait. Voici un lien qui t'aidera à utiliser ces fonctions. Il existe peut-être aussi une possibilité avec l'assistant DAQ de généré une séquence finie mais cela dépend du modèle de chassis et de la position utilisée dans le chassis .

 

Attention avec la génération de tâches en parallèle, il existe des limitations dûes au chassis et au module utilisé (pour le 9403 les sorties digitales sont software timed dans un chassis cDAQ).

 

Ben64

Message 2 sur 4
2 400 Visites

Bonjour! 

 

Merci pour ces précisions, effectivement je ne connaissais pas le détail du fonctionnement de ces tâches. Je vais donc chercher du côté des fonctions élémentaires 🙂

Merci encore,

Bonne journée !

0 Compliments
Message 3 sur 4
2 387 Visites

Petite erreur dans mon message, il faut mettre le temps d'attente entre deux Write (pas entre deux Wait).

 

Ben64

0 Compliments
Message 4 sur 4
2 381 Visites