Discussions au sujet de NI LabVIEW

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

Acquisition et génération avec DAQ Mx

Résolu !
Accéder à la solution

Bonjour,

 

Je débute avec les fonctions DAQ et je dois développer une application qui utilise un boitier NI USB 6211 pour acquérir et générer des signaux analogique.

Pour la partie acquisition, j'ai crée ma tache avec NI MAX afin d'acquérir sur 4 voies ANA. J'ai testé cette tache, et je n'ai pas eu de probleme apparent.

Pour la génération, je dois générer deux signaux sinusoidaux à amplitude et offset variables. 

Mon probleme est pour la génération, je n'arrive pas à cadencé la création du signal et la génération sur la sortie, ce qui me fais apparaitre l'erreur suivante :

Sans titre.png

 

Quelqu'un pourrait-il m'aider ?

J'ai mis mon code en piece jointe !

 

Cordialement,

Nathan

0 Compliments
Message 1 sur 5
3 833 Visites
Solution
Accepté par l'auteur du sujet NathV74

Je crois qu'il n'est pas possible de créer une tâche DAQmx par voies AO.

 

Dans ta boucle de génération tu as mis deux fois l'express VI de génération, essaie de n'en mettre qu'un seule en lui donnant les deux signaux à générer.

 

L'erreur que tu reçois vient d'un de tes 2 Express VIs de génération et indique un conflit de ressource.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 2 sur 5
3 828 Visites

Effectivement, mon erreur à disparu et je génere bien un sinus en sortie de mes deux voies.

 

Merci pour ton aide !

0 Compliments
Message 3 sur 5
3 820 Visites

Salut,


Je me permet de te faire quelques remarques concernant ton code :

1- Félicitaiton :

-- Code commenté, clair à l'écran --> Amélioration : le faire tenir dans un seul écran, sinon une seule direction de scrollbar.

2 - Boucle while

-- Pense à toujours mettre une temporisation dans tes boucles "while" même de 1 ms, cela te permet de libérer ton processeur pour d'autre tache. Par exemple ta première boucle qui attends une validation de l'opérateur pourrait être cadencé à 250ms (c'est le seuil de réaction qui ne génère pas d'impression de latence pour l'utilisateur)

3- ATTENTION

-- Je ne vois pas l'intérêt de dupliquer tes commandes dans des indicateurs juste pour une variable locale par la suite. Tu peux utiliser directement les commandes dans ta deuxième boucle while, puisqu'elle ne seront lu qu'après validation de l'opérateur.

4- Generation de signal

-- Pourquoi ne transmet tu pas tes deux signaux sur chaque voix au travers d'une même requete ? Effectivement je ne pense pas que tu puisses faire 2 accès en parallèle sur tes voix, vu qu'elles vont être sur le même cadencement.



Voilà bon courage pour la suite.

 

 

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 4 sur 5
3 801 Visites

Salut ,

 

Merci pour tes commentaires, j'en prendrais compte !

 

Bonne continuation a toi aussi !

0 Compliments
Message 5 sur 5
3 778 Visites