Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

how to get bigger buffer size when generating cycles with PCI-6024E?

Hi there,
 
I'm a beginner in programming such kind of hardware. Now I'm trying to write a program in C-language (and in which I'm a beginner too...) to generate cosine waves and they're going to be output to a test machin. The program worked quite well at first when I just began by outputting only several or tens of cycles. But when I tried to write more cycles like hundreds of them, I had to decrease the output rate(from 5000 to 1000 for example) or there would be an error said that the system couldn't catch the high rate. This problems is not the most serious one. The thing is, I'm supposed to generate tens of thousands of cycles and each cosine cycle contains 1000 points, but now I couldn't generate even two thousands of them. So I figured that there must be a problem of that buffer size used to store the float64 data array.
 
I checked the DAQ, it says that, the buffer size is defined automatically by the card because I'm using the continous output mode. It means that when I write the data array, the card will give itself a proper size right? But now I thing the data array is way too large to write. Is there any solutions for such problems? Or how can I check out how many float64 points in max. I can write for one time? Can I allocate a memory space in the computer and then (I don't know how either) connect this to the buffer of the card?...I'm really weak on these stuffs so be patiant with me please.
 
Thank you very much!
 
BR
Toini
0 Kudos
Message 1 of 2
(2,796 Views)

Hi,

After checking so many questions from others, I know now that the PCI-6024E card has one DMA channel, and it can be used in my case. The DAQ says: use DAQmxSetAODataXferMech(TaskHandle taskHandle, const char channel[], int32 data); function. Now the question is how?

Is there any example for this?

Thanks!

Toini

0 Kudos
Message 2 of 2
(2,785 Views)