09-28-2005 02:01 AM
Hello,
i tried to Output an analog signal and read it simultaneously with Borland C++ Builder 6.0 and a NI-DAQ 6115 Card.
That is the code I’m using:
/*********************************************/
/*/ DAQmx Configure Code
/*********************************************/
/*SEND OUTPUT*/
DAQmxErrChk
(DAQmxCreateTask("",&taskHandle));
DAQmxErrChk
(DAQmxCreateAOVoltageChan(taskHandle,"Dev1/ao0","",-10.0,10.0,DAQmx_Val_Volts,NULL));
DAQmxErrChk
(DAQmxCfgSampClkTiming(taskHandle,"",sampleRate,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,transcount));
/*READ AI0*/
DAQmxErrChk
(DAQmxCreateTask("",&taskHandle1));
DAQmxErrChk
(DAQmxCreateAIVoltageChan(taskHandle1,"Dev1/ai0","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle1,"",100,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,1000));
/*********************************************/
/*/ DAQmx Write Code
/*********************************************/
DAQmxErrChk (DAQmxWriteAnalogF64(taskHandle,1000,0,10.0,DAQmx_Val_GroupByChannel,voltageOutput,&written,NULL));
/*********************************************/
/*/ DAQmx Read Code
/*********************************************/
DAQmxErrChk (DAQmxReadAnalogF64(taskHandle1,10000,10.0,DAQmx_Val_GroupByChannel,input1,10000,&read,NULL));
/*********************************************/
/*/ DAQmx Start Code
/*********************************************/
DAQmxErrChk (DAQmxStartTask(taskHandle1));
DAQmxErrChk
(DAQmxStartTask(taskHandle));
09-28-2005 02:02 AM
DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);
DAQmxStopTask(taskHandle1);
DAQmxClearTask(taskHandle1);
Error:
if( DAQmxFailed(error) )
DAQmxGetExtendedErrorInfo(errBuff,2048);
if( taskHandle!=0 ) {
/*********************************************/
/*/ DAQmx Stop Code
/*********************************************/
DAQmxStopTask(taskHandle);
DAQmxClearTask(taskHandle);
DAQmxStopTask(taskHandle1);
DAQmxClearTask(taskHandle1);
}
if( DAQmxFailed(error) ){
Application->MessageBoxA(("DAQmx Error: %s\n",errBuff),"ERROR");
errorLog = true;
}
for(int i = 0; i < 1000; i++){
asLine += input1[i];
asLine += ";";
asLine += "\n";
}
But somehow I don’t get the input I expected. Have You any idea how I can solve this problem?
Thanks in
advance