Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI6713 DAQmxWriteAnalogF64 erreur -200692

Solved!
Go to solution

Bonjour,

 

Je rencontre un problème sur une carte PCI6713 lorsque que je crée un profile de signal particulier, alors que sur une carte de type PCI6711 avec le même profile je n'ai pas de problème.

J'utilise des drivers DAQmx en version 9.3.5 (avec la version 8.8 j'ai le même problème).


Pour créer la tâche de gestion de la carte PCI6713 j'utilise la fonction suivante :

int32 NI6713_CreateTask(TaskHandle *taskOut1, char *line, float64 rate, int32 sampleMode, uInt64 sampsPerChanToAcquire, float64 *dataTab)
{
   int32 DAQmxError = 0;
   TaskHandle taskOut;
   int32 written;

   DAQmxErrChk(DAQmxCreateTask("", &taskOut));
   DAQmxErrChk(DAQmxCreateAOVoltageChan(taskOut, line,"TensionSortie", -10, 10, DAQmx_Val_Volts, ""));
   DAQmxErrChk(DAQmxCfgSampClkTiming(taskOut,"",rate,DAQmx_Val_Rising,sampleMode,sampsPerChanToAcquire));
   DAQmxErrChk(DAQmxWriteAnalogF64(taskOut,sampsPerChanToAcquire,0,10.0,DAQmx_Val_GroupByChannel,dataTab,&written,NULL));

   *taskOut1 = taskOut;

Error:
   return DAQmxError;
}

L'appel de la fonction avec les paramètres suivants sort avec une erreur :

line = "Dev1/ao0"
rate = 10000 ou rate = 1000
sampleMode = DAQmx_Val_FiniteSamps
sampsPerChanToAcquire = 11
double dataTab[11] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.0}

La fonction "DAQmxWriteAnalogF64" sort avec l'erreur : -200692


L'appel de la fonction avec les paramètres suivants sort sans erreur :

line = "Dev1/ao0"
rate = 10000
sampleMode = DAQmx_Val_FiniteSamps
sampsPerChanToAcquire = 10
double dataTab[11] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.0}


Quelle est la différence entre les cartes PCI 6711 et 6713 qui expliquerait pourquoi je sort en erreur sur la carte 6713 ?

Merci,

Nicolas Covela Rodriguez

0 Kudos
Message 1 of 3
(2,995 Views)
Solution
Accepted by ncovela

Bonjour Nicolas,

 

Merci d'avoir posté sur le forum National Instrument.

 

Il existe effectivement une différence entre les deux cartes. En effet certaines cartes (comme la PXI-6713)  de la série S acceptent uniquement un nombre d'échantillons pair. Il existe des documents qui expliquent ceci un peu plus en détails:

 

Why Does My 12- or 16-bit NI-DAQ Board Only Return Even Numbers of Samples When Using Continuous Ana...

Error -10010 When Using Odd Buffer Sizes With Certain S Series and Analog Output DAQ Devices

 

 

Bien cordialement,

0 Kudos
Message 2 of 3
(2,987 Views)

Bonjour,

 

Merci pour la réponse, cela explique effectivement bien mon problème.

Je vais donc passer par défaut le nombre d'échantillons en valeur pair.

 

Salutations,

Nicolas Covela Rodriguez

0 Kudos
Message 3 of 3
(2,984 Views)