10-13-2010 06:32 AM
Bonjour,
Nous faisons des acquisitions sur plusieurs entrées d'une carte PXI-6259 (21 voies déclarées).
Dans le programme : (ces lignes ne sont pas le code complet)
1ere etape :
init des AI (fait une seule fois à l'ouverture de l'ihm)
{
DAQmxCreateTask("AnalogInputs", &Task_6259_AI);
DAQmxCreateAIVoltageChan(Task_6259_AI,"6259_1/ai18", "VBPlusClient", DAQmx_Val_Diff, 0, 10, DAQmx_Val_Volts); * 21
NombreEchantillonsBufferTemporaireVoiesAnalogiques = 21 * 10 000;
BufferTemporaireVoiesAnalogiques = malloc(NombreEchantillonsBufferTemporaireVoiesAnalogiques * sizeof(float64));
FREQUENCE_ECHANTILLONNAGE_TACHE_DAQmx = 50 000;
INTERNAL_BUFFER_SIZE = 10 000;
CHK_DAQmxSplClk(DAQmxCfgSampClkTiming(Task_6259_AI, "OnboardClock", FREQUENCE_ECHANTILLONNAGE_TACHE_DAQmx, DAQmx_Val_Rising, DAQmx_Val_ContSamps, INTERNAL_BUFFER_SIZE));
}
2ième etape : Demmarage de la tache : (une fois au début de séquence de test)
DAQmxStartTask(Task_6259_AI);
3ième etape : lesture des points et traitement (en boucle toutes les 20ms à 1s max)
DAQmxReadAnalogF64(Task_6259_AI, -1, 10.0, DAQmx_Val_GroupByChannel,
BufferTemporaireVoiesAnalogiques, NombreEchantillonsBufferTemporaireVoiesAnalogiques, &nombreEchantillonsLus, NULL);
4ième etape : Arrêt de la tache : (une fois à la fin de séquence de test)
DAQmxStopTask(Task_6259_AI);
5ième etape : Fermeture des voies analogiques :
DAQmxClearTask(Task_6259_AI);
free(BufferTemporaireVoiesAnalogiques);
Voici l'erreur que j'obtiens de 1 fois toutes les 10minutes à 1 fois par heure :
"Measurements: Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten.
increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read instead of reading samples might correct the problem."
Solution proposée 1 : Augmenter la taille du buffer : reporte seulement le problème, j'ai essayé avec 20 000pts/voie => KO
Solution proposée 2 : Lecture plus fréquente des points : Toutes les combien de secondes je dois lire au maximum?
Solution proposée 3 : Fixer un nombre de point à lire: Ne correspond pas avec mon besoin (décalage dans mon buffer) => KO
Avez vous une solution à mon problème?
Peut être que mes paramètres ne sont pas adaptés? (frequence...)
Cordialement,
Rudy
10-14-2010 01:06 PM
Bonjour,
Le lien suivant devrait pouvoir vous renseigner:
http://digital.ni.com/public.nsf/allkb/AB7D4CA85967804586257380006F0E62?OpenDocument
Cordialement,
06-12-2014 08:10 AM
Bonjour , j'ai exactement la meme erreur . Ce point n'a pas ete solutioné. QQ a t-il une solution plus approprié que celle donnée precedement.Je pense par exemple a des problemes de debits sur le bus MXIe. Le probleme semble tres aleatoire...