Discussions au sujet des autres produits NI

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

aquisition finie et buffer

Bonjour,

 

Je rencontre un probleme bizarre d'aquisition sur une carte 4462.

 

Je dois recuperer un certains nombre de signaux audio (sinusoidale pure) sur mon chassis PXI à des fins d'analyse et sous envirronement RT (8.6).

Chaque message ou signal audio dure une durée D (de l'ordre de qq seconde) et est une sinusoidale de frequence donnée. Le declenchement de la génération(qui se fait sur un autre systeme) est réalisé manuellement. Le systeme qui realise la génération a soit tous les messages stocké dans un unique fichier (tous les messages de meme durée D sont alors espacé d'une durée Da de blancs) soit un fichier par message. Mon programme doit permettrre d'aquerir indifferement tous les signaux qq soit le type de systeme qui les génère et de les enregistrer dans un fichier (1 message= 1fichier).

 

J'ai donc crée un programme qui permet au choix:

-D'aquerir tous les signaux sans intervention d'un opérateur (les signaux de durée D sont espacé de Da)

-ou d'aquerir chaque message sur consigne de l'opérateur qui declenche l'aquisition.

 

J'utilise pour cela une TCL avec une architecture de machine d'état.

-L'etat "init" crée la tache d'aquisition

-L'etat "start?" attend une consigne de l'opérateur pour passer à l'aquisition (via FIFO RT)

-Un état mode1 qui permet d'enregistrer tous les messages à la suite (boucle cadencé de periode "durée d'un message + durée inter-message"). Dasn cet état je demarre la tache, réalise la lecture puis arrete la tache.

-Un état mode2  qui permet d'enregistrer un unique message (Démarrer-Lire-Arreter) puis retourne à l'état start pour attendre les consignes de l'opérateur

 

Mon programme utilise un grand nombre de sous-VI et de variables personnalisées, il m'est donc impossible de la poster ici.

 

J'en viens à mon probleme (enfin!!!), j'ai testé le mode1 de ma TCL qui fonctionne tres bien. Mais des que je passe en mode2 (ce qui semble etre identique du point de vue tache DAQmx ), mon programme réalise bien la premiere aquisition mais n'aquiert  plus rien des le deuxieme message (vérifié à l'aide de graphe). De plus la fonction Lire ne s'execute plus qu'une fraction de seconde des le deuxieme passage par l'état Mode2 alors que je m'attendrais à une durée de l'ordre de la durée du message à aquerir.

Ce qui me pertube le plus, c'est que la difference entre les deux modes est minime (nulle du point de vue Daqmx) et que l'un marche tres bien alors que l'autre plante.

 

 

Je suis un peu perdu et j'aurais bien besoin d'aide!

 

Merci d'avance.

 

Tout télécharger
0 Compliments
Message 1 sur 2
3 003 Visites
duplicate
Message Edité par R_Duval le 02-24-2010 11:41 AM

Romain D.
National Instruments France

0 Compliments
Message 2 sur 2
2 972 Visites