I am using a DAQ6052E, SCXI 1125 and SCXI 1121 for acquiring 3 temperature and 1 voltage reading. I am using Labview 7.1. Sampling rate = 1000hz. Number of samples to read per channel = 1000 ( i need to see at least one second of data at a time.) I amusing DAQmx for continous data acqusition.
I need to read, process, write and graph the data continously. Since graphing the data, takes a long time, I have made a parallel loop to display it.. so as not to slow the reading of the data.
Still I am getting -200279 error.
How can I get rid of this error.
How can I increase my buffer size using DAQmx ?. Do I need a wait until next ms multiple in my loop to read continously.
Also any suggestions to make my code run op timally would be most appreciated. Thanks
Since you know that the loop reads 1 second of data, then it should not wait (or gets delayed may be because of data processing)for more than 1 second. It is probably getting delayed more than that.
To increase the buffer size, use the vi DAQmx Configure Input Buffer.vi
This a note from ni help "How Is Buffer Size Determined? Input Tasks If your acquisition is finite (sample mode on the Timing function/VI set to Finite Samples), NI-DAQmx allocates a buffer equal in size to the value of the samples per channel attribute/property. For example, if you specify samples per channel of 1,000 samples and your application uses two channels, the buffer size would be 2,000 samples. Thus, the buffer is exactly big enough to hold all the samples you want to acquire.
If the acquisition is continuous (sample mode on the Timing function/VI set to Continuous Samples), NI-DAQmx allocates a buffer equal in size to the value of the samples per channel attribute/property, unless that value is less than the value listed in the following table. If the value of the samples per channel attribute/property is less than the value in the table, NI-DAQmx uses the value in the table.
You can override the default buffer size by calling the Input Buffer Config function/VI.
Note Using very large buffers may result in diminished system performance due to excessive reading and writing between memory and the hard disk. Reducing the size of the buffer or adding more memory to the system may reduce the severity of these problems. "
If you have a wait function, (wait ms should be fine), then it has to be set less t han 1000 ms.
I wanted to add some additional information to the other response to your question. One way to approach this problem is certainly to increase the buffer size. An easier approach may be to simply read less samples, but read more frequently. In other words, instead of waiting for 1000 samples to be available, read 100 samples at a time, but read faster (don�t include a 1000 ms Wait). This will directly address the issue of buffer overflow. If you are displaying you data on a chart, it won�t matter that you are bringing in smaller chunks, since a chart retains all previous data sent to it. If you need data in 1000 sample chunks for another reason, you can build up those chunks from smaller pieces after reading the dat a into LabVIEW.
I decreased the number of samples I read to 100. however, I still keep getting the error. I also increasd my buffer size to 20K still no improvement. I have posted another quetion with my vis in it. I would really appreciate your help. The question I have posted it 'DATA acquisition error' thanks!
In DAQMx, Buffer size, if not defined, will be allocated automatically, and is good enough.
I would suggest that you put a timer (in ms) to display the time it takes the loop to execute. Normally, that time would be a constant. I would guess that time would be increasing if that kind of error is reported. Try to figure out what is causing that. (some times an activity on the front panel can create that unexpected delay), or data processing in the loop can cause that too.
The VI's and further conversation on this error can be found on this issue at http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000B4EC0000&USEARCHCONTEXT_CATEGORY_0=_49_%24_6_&USEARCHCONTEXT_CATEGORY_S=0&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0 You can look there for more information.
Adam B. Applications Engineer National Instruments
the link does not work... I am getting the same error out of the box after installing the vibration toolkit, when I run the Vibration VI. I would like to try and adjust the buffer, but the "exchange.ni.com" link appears dead
Are you performing buffered acquisition as well? If so, can you provide details on the hardware and software (e.g. programming language and DAQ Driver version) being used? Also, have you tried increasing the buffer size or decreasing the sampling rate to see if the error still occurs? If you can provide more details on the situation when this error is encountered, we can continue to work on this.
I was using Labview 7.1, along with the Sound and vibation toolkit, and the drivers v 7.3, all from the Fall 2004 academic distribution, installed on top of XP SP2. I was using the vibration level measurement example VI, and it was crashing immediately after installing, with all the default options completely intact.
I since upgraded to DAQmx 7.4, and the problem has abated, the VI now crashes only once every half-hour, which I can live with.