04-12-2016 11:24 PM
I am developing a data acquisition application on a mac using NI's C API from the DAQmxBase 15. I'm getting data from 2 channels with 1000 Hz sampling rate and after random amount of time I'd get this error :
Error -200361 occurred at an unidentified location
Possible reasons: Onboard device memory overflow. Because of system and/or bus-bandwidth limitations, the driver could not read data from the device fast enough to keep up with the device throughput.
Reduce the sample rate, or reduce the number of programs your computer is executing concurrently.
The machine I'm using is Mac Pro with 64Gb of RAM, iMac with 32Gb of Ram, and Macbook with 16Gb of Ram and their CPU certainly goes beyong 3.0Ghz. I don't think this is the machine's fault.
This never happened to me when the same code is used 3 years before with the older version of DAQmx Base and OSX which unfortunately is no longer available to me.
the code is roughly as below, which is what I borrowed from the example file that came with the library.
DAQmxErrChk (DAQmxBaseCreateTask("",&taskHandle)); DAQmxErrChk (DAQmxBaseCreateAIVoltageChan(taskHandle,[channels cStringUsingEncoding:NSUTF8StringEncoding],"",DAQmx_Val_Cfg_Default,min,max,DAQmx_Val_Volts,NULL)); DAQmxErrChk (DAQmxBaseCfgSampClkTiming(taskHandle,clockSource,sampleRate,DAQmx_Val_Rising,DAQmx_Val_ContSamps,0)); DAQmxErrChk (DAQmxBaseCfgInputBuffer(taskHandle,0)); //use a 100,000 sample DMA buffer DAQmxErrChk (DAQmxBaseStartTask(taskHandle)); while(running) { DAQmxErrChk (DAQmxBaseReadAnalogF64(taskHandle,pointsToRead,timeout,DAQmx_Val_GroupByChannel,data,pointsToRead * noOfChannels,&pointsRead,NULL)); ..... }
01-29-2017 11:20 PM
Can I use usb-6003 for logging data from multiple thermocouples at a time? Thanks in advance