Discussions au sujet des autres produits NI

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

Acquisition deux AI tensions NI DAQmx USB 6003

Bonjour à tous,

 

Je suis actuellement confronté à un problème, je souhaite lire en simultané deux entrées analogiques sur mon boitier d'acquisition configurées en tension. J'ai trouvé des topics similaires mais ne répondant pas à ma problématique.

 

Ma première voie lit un signal de commande entre 2 et 12V (j'ai créé au préalable une échelle personnalisée pour pouvoir décaler mes niveaux de tension). C'est un signal PWM à une fréquence de 1kHz, je souhaitais faire une acquisition de 100 points à une fréquence de 100kHz mais je suis limité à 50kHz lorsque je lis une seconde voie analogique.

 

Ma seconde voie est un signal sinusoïdale -1V / 1V qui est le reflet d'un sinus 230V. Je n'ai pas besoin d'autant de point que pour le précédent, je souhaiterai réaliser une acquisition de 10 points à une fréquence de 1kHz

 

received_10214887309200003.jpeg

Vous pouvez voir les deux courbes sur l'image ci-dessus.

Mon champ PWM d'une fréquence de 1kHz à dans un premier temps une tension max de 9V. A la suite d'une commande, cette tension max chute à 6V. Mon système détecte ce changement d'état et ferme un contacteur générer un sinus 230V.

 

Pour réaliser cette tâche, je procède ainsi:

Capture.PNG

- J'initialise mes variables

- Je configure la taille de mon buffer; je démarre un chronomètre qui calcule le temps écoulé; et je pilote une sortie numérique pour faire varier mon champ PWM

- Je fais une acquisition de mon entrée analogique "PWM droit" pendant 10sec et j'insère les éléments dans un tableau; puis je pilote à nouveau ma sortie numérique pour faire varier mon PWM

 

Ce processus fonctionne pour une voie "PWM droit", je souhaite alors intégrer ma voie "L1 droit". Avez-vous une idée de comment je pourrai faire ? 

Mon objectif est de comparer en fonction des valeurs de mes deux tableaux le temps écoulé entre deux instants (PWM droit = 6V et L1 droit différent de 0)

 

Merci par avance et j'espère avoir été suffisamment précis dans mes explications

 

Gabriel Leroy 

0 Compliments
Message 1 sur 2
2 699 Visites

Bonjour,

 

J'ai d'abord quelques remarques concernant votre code :

 

 - ça ne sert à rien d'utiliser le buffer pour cette acquisition car quand vous configurez la fréquence, qui est de 1kHz dans le cas de votre application, le buffer est configuré automatiquement.

 - N'utilisez pas d'indicateur pour écrire. Les commandes 9V 6V etc doivent être en "commande" et pas en "indicateur"

 - Il est conseillé d'utiliser une machine à état plutôt que des structures séquences.

 - Il est aussi conseillé de faire la gestion d'erreur.

 - Il serait plus facile pour vous d'utiliser des voies physiques (à l'entré de "DAQmx - Créer une voie") que de créer plusieurs tâches.

 

Vous pouvez vous référer à l'exemple en pièce jointe pour faire l'acquisition de deux Analog Inputs avec une seule tâche, que vous adapterez à votre application.

 

Cordialement,

0 Compliments
Message 2 sur 2
2 624 Visites