Hi, I have made a very simple VI to capture data from a NI USB-6210. I am using the DAQ assistant to take continuous samples every 0.33 seconds and write them to a file. When I leave the program to run for a long time I come bck to find an error message which reads
some or all of the samples requested have not yet been acquired"
how can I rectify this? I have attached the VI for reference.
Thanks for posting.
This error occurred because a timeout occurred before any samples were received, some possible reasons for this are listed in the article below.
Why Do I Get Error -200284 from my DAQmx Read VI? - http://digital.ni.com/public.nsf/allkb/FEF778AD990D5BD886256DD700770103
I believe this is occurring in your case because you are performing both acquisition and logging in a single loop. The Write to Measurement File express vi is probably causing your loop execution speed to drop and thus your acquisition speed drops.
Try separating data acquisition and logging into two separate loops using the producer/consumer design pattern (see code attached).
Let me know if this helps!
Hi, thanks for your reply. I still have the same problem with the VI, although it does seem to run for a long time. I tried running it and after 40 hours the error occured. I am sampling at 0.303 Hz and my timeout time is 10 seconds. What might I do next to find the problem?
Another user had a good explanation for this error (see this thread):
"The error appears to derive from a timeout error from your analog input function.
The computer retrieves the analog input values from the DAQ in chunks. For example, pretend you specify the transfer size (DAQ to host computer) to 200 points every time you communicate to the DAQ card (when DAQ Assistant is called). Also, you call this function every 1 second with a timeout of 3 seconds. If the DAQ buffer only contains 50 points during your first request, then no points will be sent and the time will continue (1 second elapsed). The subsequent requests produce similar results. Request 2 does not return anything, and 2 seconds is registered. Likewise, request 3 also does not return anything, and 3 seconds is registered. At this point the timeout is reached and an error is prompted stating that the buffer has insufficient points to retrieve.
To overcome this issue, you should either increase your timeout value, reduce the communication chunk size (note: setting this to a very small value will increase communication overhead), or increase your acquisition rate. I hope this helps."
Under timing settings in the Configuration tab of DAQ Assistant try setting the Acquisition mode to "1 Sample (HW Timed)".
Let me know if this helps.