LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error-200279 Occurred at DAQms read (Analog 1D Wfm NChan Nsamp).vi2

Solved!
Go to solution

Hi

 

 Im taking temperature mesurements(J type thermocouples) with SCB 68 using PCI 6229. When i run it for relatively long time I will get this error.

It says

"Error-200279 Occurred at DAQms read (Analog 1D Wfm NChan Nsamp).vi2"

 Possible reasons:

Measurements:  Attempted to read samples that are no longer available.The requestred sample was previously available, but has since been  overwritten.

 

Incresing the biffer size reading the data more frequently or specifing a fixed numner of samples read instead of all available samples moght correct the problem.

 

Thanks

0 Kudos
Message 1 of 10
(3,585 Views)

So do you have a question?

0 Kudos
Message 2 of 10
(3,562 Views)

What is the solution for this type of error?

 

thanks 

0 Kudos
Message 3 of 10
(3,556 Views)

The error message pretty much clues you in.  You need to read the samples faster!

 

Without seeing your VI, it is impossible to give you any tips as to what is wrong.  What is you sample rate?  How many samples are you trying to read?  How often?  Are you doing anything else in the DAQ loop that may be slowing down your code?

 

I suggest that you search the forums for 200279.  This error has been asked about hundreds of times before.  I'm sure many of those threads will give you tips as to how to prevent the error from occurring.

0 Kudos
Message 4 of 10
(3,552 Views)

hgottipati,

 

While Ravens Fan is right that the quickest way is probably to post your VI I will offer up a few more common solutions. 

 

Do you have your Creation/Clear inside of the while loop?  (I assume not as this works for quite a while but I must ask)

Are you doing many other things inside or your read loop?  If so you should possibly use a Producer/Consumer architecture.

What is your sampling rate / samples to read?  If sampling rate is something like 200k and samples to read is like 10 or the perfect combination for your computer where the buffer slowly fills this could be your problem ie just increase the samples to read so less overhead is needed.

Are there any other programs running on this machine that may slow it down?

 

These are just some of the possible solutions!

Sincerely,
Jason Daming
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 5 of 10
(3,538 Views)

Ravens and Jason,

 

Thanks for the reply. My sample rate and number of samples to read are both 1k. I do not have any cration/clear inside the while loop, neither any other programs running on this machine.

Im attaching my work. Please look at it. I am new to LabVIEW so might have forgot something which is easy.

 

thanks.

 

0 Kudos
Message 6 of 10
(3,531 Views)

You are doing quite a bit else in the loop besides the data acquisition. You are using the Write to Measurement File and Build Table. Neither of these are very efficient. The Write to Measurement File opens and closes the file each time it is called and as you file gets bigger and bigger, this takes longer and longer. The Build Table function is constantly appending 1000 new elements each time you call that. The memory allocation for this will significantly slow everything down. The Delay function is not required and you should removed.

 

If you want to save everything, you can use a separate consumer loop. Limit the size of the table and place that in the consumer loop as well.

Message 7 of 10
(3,526 Views)
Solution
Accepted by topic author hgottipati

First, you should always label the control terminals on the block diagram so we know what is the purpose of each terminal.

 

The problem is the overuse of Express VI's.  They are great for getting something up and running quickly, but they have such a high overhead and can't be changed for more advanced functionality, that they quickly cause problems.

 

Writing to a File inside your data acquisition loop could be a problem.  If you have a slow down in file writing, it will slow down the whole loop.  It is a good idea to use a producer/consumer architecture to pass the data off to other loops for file writing.

 

I think your main problem is the Build Table express VI.  Why are you displaying thousands upon thousands of datapooints in a table.  As the table grows the array handling inside of that Express VI will quickly slow down as LabVIEW as to find ever larger chunks of free memory to hold the growing array constantly moving it around in memory.  The overall loop slows down as a result, and before you know it, your DAQ buffer as overflowed because you couldn't keep up with reading the data.

 

Get rid of the Build Table Express VI and the table and try it without those.  Your problem will probably go away.

Message 8 of 10
(3,522 Views)

Thanks. I got rid of that table and its running good for looong time.

But still can you tell me about this consumer loop? how to create it to save the data. I searched in the help but in vain.

 

And I have also included a elapsed time VI, so that it will show me for how much time the program was run. But it never showed me correct value. It always stays at 1 or .9 seconds. Where is the mistake?

 

thanks.

0 Kudos
Message 9 of 10
(3,513 Views)

Well, you have enabled auto-reset. That should be pretty obvious but you can click on the help button to see what that means.

Message 10 of 10
(3,510 Views)