Discussions au sujet de NI LabVIEW

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

multitache : acquisition et génération sur même norme VISA

Bonjour,

 

J'utilise des centrales DAQ U2356A d'agilent pour faire des acquisitions analogiques. Ces centrales possèdent 2 connecteurs : l'un contient des entrées analogiques, l'autre des DIO numériques. Je dois configurer une DIO numérique en output, émettre un signal alternant état haut/bas toutes les 50 ms, et reboucler (physiquement) cette DIO sur une entrée analogique du connecteur 1 , afin de faire l'acquisition du signal carré.

Les deux fonctions d'acquisition et de génération fonctionnent indépendamment, mais quand j'essaye de les mettre en parallèle, j'ai l'impression que la génération continue monopolise la norme VISA et empêche l'acquisition de se faire. En lançant le soft (cf scrennshot du VI en PJ) la génération commence à se lancer normalement, mais j'obtiens l'erreur suivante pour l'acquisition :

 

L'erreur -1073807305 s'est produite à : VISA Read dans Agilent U2300 Series.lvlib:Read (AI Waveform Single Channel).vi

Raisons possibles :

VISA: (Hex 0xBFFF0037) Le périphérique indique qu'une erreur de protocole d'entrée s'est produite durant le transfert.

 

Je me demande s'il est possible d'utiliser une même norme VISA en parallèle (je ne souhaite pas faire de séquentiel) pour deux tâches différentes ? Sinon, y aurait-il une solution à mon problème ? Je tiens à signaler que le problème est le même en multithread (acquisition et génération dans 2 VIs différents).

 

Merci pour votre aide,

0 Compliments
Message 1 sur 9
4 680 Visites

Bonjour,

Dans le cadre de l'utilisation de tes fonctions DAQ, il faut que tu crées une voie virtuelle pour l'acquisition, et une pour la génération du signal.

 

Bonne journée,


Michael

“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
0 Compliments
Message 2 sur 9
4 676 Visites

Bonjour,

 

Je suis un grand débutant sous Labview et j'essaie de communiquer via un port série à un périphérique. En parallèle, j'essaie de recevoir et d'envoyer des données. Je voudrais me placer en mode écoute (Activer la réception sur ce port : Visa read) puis envoyer une commande (Visa write). De ce fait, en se plaçant en écoute avant l'envoie de la commande, je suis sûr de recevoir la réponse du périphérique.

 

Mon problème est le suivant : En lançant ce programme sous Labview, il se place en écoute mais n'envoie pas le caractère de commande (montage en parallèle).

Même avec des recherches internet sur ce système de voie virtuelle/physique (que je n'ai pas trop compris), je n'ai pas résolu ce problème.

 

Auriez vous un exemple ou plus d'information à ce sujet ?

 

Merci,

 

Jérémy

 

0 Compliments
Message 3 sur 9
4 603 Visites

Jeremy.T a écrit :

Bonjour,

 

Je suis un grand débutant sous Labview et j'essaie de communiquer via un port série à un périphérique. En parallèle, j'essaie de recevoir et d'envoyer des données. Je voudrais me placer en mode écoute (Activer la réception sur ce port : Visa read) puis envoyer une commande (Visa write). De ce fait, en se plaçant en écoute avant l'envoie de la commande, je suis sûr de recevoir la réponse du périphérique.

 

Mon problème est le suivant : En lançant ce programme sous Labview, il se place en écoute mais n'envoie pas le caractère de commande (montage en parallèle).

Même avec des recherches internet sur ce système de voie virtuelle/physique (que je n'ai pas trop compris), je n'ai pas résolu ce problème.

 

Auriez vous un exemple ou plus d'information à ce sujet ?

 

Merci,

 

Jérémy

 


Salut,

Etant donnée que ton problème (communication série) n'a rien avoir avec le sujet (DAQ), il faut en créer un nouveau et poster un exemple simplifé de ton problème

Reg
0 Compliments
Message 4 sur 9
4 599 Visites

Bonjour,

 

J'y ai effectivement pensé mais le matériel que j'utilise est une DAQ Agilent. Les matériels d'acquisition de données de NI sont livrés avec les drivers NI-DAQmx, (dont celui de création de voie virtuelle), mais ces drivers ne sont pas utilisables sur du matériel Agilent... 

Y a-t-il un autre moyen de créer ces voies virtuelles ?

0 Compliments
Message 5 sur 9
4 520 Visites

Bonjour,

Dans le cadre des produits Agilent, il existe généralement les drivers Labview associé, dans mon cas, j'ai les drivers des GBF "Agilent" sur mon poste..

 

Fait une recherche de driver avec le numéro de série de ton produit sur internet, et sur le site du fabricant, tu devrais trouver cela aisément.

 

 

Bonne journée,

 

Michael

“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
0 Compliments
Message 6 sur 9
4 489 Visites

Oui j'utilise bien les drivers relatifs à la centrale U2356A (développés par Agilent) mais il n'y a rien pour créer une voie virtuelle. Les drivers utilisent tous la norme VISA pour communiquer avec le DAQ..

0 Compliments
Message 7 sur 9
4 486 Visites

Effectivement, dans le cas de ces drivers, tu ne peux pas spécifier de voies virtuelles.

Une alternative qui me semble jouable pour ton application est d'envoyer ton signal à générer sous un format de type waveform numérique. Tu configures l'équipement pour émetter cette waveform en boucle, ainsi tu n'as plus besoin de venir écrire de manière continue les informations, et tu pourras donc utiliser ton canal de communication pour faire de l'acquisition.

 

Sinon tu peux aussi faire des cycles de lecture/ecriture de manière séquentielle en te servant de la mémoire tampon de l'équipement pour ne pas perdre de données.

Fourni ton VI en pièce jointe, et si j'ai un peu de temp dans la journée, je ferais des modifs dessus pour te monter un exemple.

Cdt,


Michael

 

“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
0 Compliments
Message 8 sur 9
4 468 Visites

Oui pour l'acquisition analogique la centrale joue déjà avec la mémoire tampon, elle attend d'avoir 8000 points pour les renvoyer. 

Actuellement je gère l'acquisition/génération avec une structure Event, pendant le timeout l'acquisition continue se fait et dès que la génération doit changer d'état (haut/bas) je génère un événement (effectivement, l'écriture n'a pas besoin de se faire en continu, puisque quand on génére un bit 0 ou 1, ça reste à l'état défini par la suite).

ça me paraît être une solution (en espérant ne pas perdre de points sur l'acquisition) mais si je pouvais configurer la centrale une seule fois avec une waveform numérique ça serait effectivement beaucoup plus optimisé !

cf VI en PJ, merci beaucoup.

0 Compliments
Message 9 sur 9
4 461 Visites