Discussions au sujet des autres produits NI

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

synchronisation daq 6251 avec pcie 1429

Résolu !
Accéder à la solution

bonjour,

j'utilise la carte 6251 pour générer des signaux analogiques, ces signaux vont déclencher un phénomene qui sera enregistrer via une caméra avec la carte pcie 1429.

je veux trigger la prise d'images avec les signaux analogiques pour que la prise d'image se fasse toujours au meme moments, et pour cela je voudrais savoir comment je peux m'y prendre.

merci d'avance.

amine

0 Compliments
Message 1 sur 13
4 826 Visites

Bonjour chagalah,

 

Merci d’être venu sur le forum National Instruments.

 

Il est possible de synchroniser des cartes PCI DAQ avec des cartes PCI IMAQ via le bus RTSI. Tu trouveras ici un tutorial sur le sujet.

N'hésites pas à nous faire part de tes difficultés et/ou questions.

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 2 sur 13
4 813 Visites

bonjour,

merci pour votre réponse,

j'ai oublié de le mentionner mais la carte que j'utilise est une carte usb 6251, donc je n'ai pas acces au RTSI.

j'ai essayé de fabriquer un trigg avec la carte 6251 et envoyer le trigg à la carte 1429.

Pour cela j'ai utilisé la génération d'un digital pulse en utilisant un counter, la génération est trigger sur ao/starttrigge, mais ca ne marche pas. ca ne marche que si le trigg du counter est digital, ce qui ne m'avance pas, si j'avais un trigg digital autant l'envoyer directement sur la 1429.

merci d'avance pour votre réponse.

amine

 

0 Compliments
Message 3 sur 13
4 810 Visites

Rebonjour chagalah,

 

La carte PCIe 1429 n’accepte que des trigger numériques. Si j’ai bien compris la problématique, tu veux lancer une acquisition d’image au démarrage de la génération de signal analogique. Pour cela tu peux créer un signal numérique à partir d’un compteur de la carte 6251 et l’envoyer sur la 1429. Si je n’ai pas bien compris ce que tu veux implémenter n’hésites pas à donner plus de détails sur ton application.  

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 4 sur 13
4 804 Visites

rebonjour,

tu as bien compris la problématique. effectivement ce que j'essaye de faire c'est de générer  un signal numerique à partir du compteur et l'envoyer sur la 1429, ce signal numerique doit etre synchroniser avec les signaux analogiques générés. les signaux analogiques sont periodiques et je veux générer pour chaque periode et à partir du meme moment le signal numérique qui va servir de trigg pour la 1429.

pour cela j'avais opté pour trigger sur les signaux analogiques pour fabriquer les signaux numériques, je rentre comme source de trigg ao/stattrigger, mais ca ne marche pas, je n'ai pas de signal numerique en sortie.

si je trigge sur un signal nuermique externe que je rentre sur la carte ca marche, par exemple signal numérique envoyé sur pfi0 et choix de la source de trigg pfi0.

ci-joint une version simplifier du programme que j'essais de faire.

merci d'avance pour ta réponse.

amine

0 Compliments
Message 5 sur 13
4 801 Visites

Chagalah,

 

La ligne AO/Start Trigger est la ligne de trigger des sorties analogiques. Je te conseil de synchroniser la génération analogique avec une génération d’impulsions-Tops ce qui devrait permettre de générer un top de trig pour la carte PCI-1429.

Tu trouveras ici un exemple de NI-DAQmx: Generating a 40 MHz Pulse Train with Counter Output.

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 6 sur 13
4 786 Visites

merci pour la réponse,

je génére déja des impulsions tops. comment synchroniser la génération analogique avec une génération d’impulsions-Tops?

merci d'avance pour la réponse.

amine.

0 Compliments
Message 7 sur 13
4 782 Visites

Chagalah, 

 

En effet j'avais mal regardé ton VI. Je te joints ton VI (en 8.5.1) revu afin de gérer la synchronisation entre tes deux tâches. De manière générale tu peux utiliser les clusters d'erreur afin de séquencer l'exécution de tes VIs.

Message Edité par BenjaminR le 10-21-2008 11:06 AM

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 8 sur 13
4 777 Visites

merci pour ta réponse et pour l'exemple envoyé.

au fait mon problème c'est de générer une impulsion top pour chaque periodes, sur la version que tu as envoyé l'impulsion est générée qu'au debut du programme.

j'ai essayé de le faire en utilisant un échantillonage finis et en relancer la génération à chaque fois (stop task suivi de start task), mais ca ne marche pas super bien, les signaux générés ne sont pas stables, il y a un temps de mort à la fin de chaque periode et en plus ce temps mort est variable. 

ci-joint la version du programme que j'ai faite, est ce qu'il y a un autre moyen de le faire pour qu'il signaux soit parfaitement stables.

merci d'avance pour la réponse .

amine.

0 Compliments
Message 9 sur 13
4 755 Visites
Solution
Accepté par l'auteur du sujet chagalah

Bonjour Chagalah,

 

Le Start_Task.vi et le Stop_Task.vi ne permettent pas de cadencer l’exécution d’une tâche. Pour une génération continue il te faut utiliser le VI DAQmx Cadencement en sélectionnant dans le menu déroulant « Implicite » et câbler l’entrée du mode d’échantillonnage à Échantillons Continus.

 

 

 

Il te faudra finalement jouer sur le nombre de ticks à l’état et celui à l’état bas pour obtenir le signal que tu désire.

Message Edité par BenjaminR le 10-22-2008 09:36 AM

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 10 sur 13
4 749 Visites