LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error 200279 - only occasionally at start-up, how do I ignore it?

I have a GUI that collects data from a cDAQ-9188, puts the data on a queue, then writes the data in binary to a file.  It can consistently collect data at 700,000kHz without any issues EXCEPT at start-up.  I get the below dequeue error at startup quite frequently.  I have to click stop, stop the gui, and then rerun – and I usually still get the error.  I repeat this about 3 times and the GUI will start running and will work flawlessly for the duration of the test (usually several minutes long).  Of course lowering the data rate (i.e., to 600kHz) eliminates the error – but that’s not an option.  Also, I’ve played with the “number of samples per channel” setting (usually have it set to 1/10 the sample rate, or 70kHz), and that doesn’t make a difference.
 

To see if the problem is actually occuring BEFORE dequeue, I disabled the whole consumer loop.  Sure enough, the source of my problem is revealed: the infamous Error -200279.  The typical suggestions "Increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read" don't really apply here - it's a GUI start-up problem only.  I believe this is occuring because of a delay between my Start Task and the beginning of my producer loop that causes my DAQ buffer to start overwriting.  When I just clear the error or ignore the error, I get a "Not enough memory to complete this operation." message and I have to forcefully shut down the Labview process and restart.  (Why is this message popping up?  I don't have a good explanation for it.)

 

I am ok with recording overwritten data on rare occasions -- how can I ignore this message and acquire what's on the buffer without causing my program to crash?

lv2.png

lv1.png

 

0 Kudos
Message 1 of 7
(3,532 Views)

This error occurs when you wire an Invalid reference to the de-queue primitive. 

Did you try to give "Continue" in the case of an error? If yes, what happens in that case? Do you have the Dequeue element primitive anywhere else in the code?

-----

The best solution is the one you find it by yourself
0 Kudos
Message 2 of 7
(3,480 Views)

Only one dequeue.  If I push continue, it crashes.

 

But I am certain the problem is actually associated with the Error 200279 because when I disable the consumer loop (where the dequeue element is placed), I get the exact same behavior except I get the Error 200279 instead of the dequeue error.  Without the consumer loop disabled, I'm pretty sure I'm getting the dequeue error because there's nothing yet on the queue when it tries to run that loop.  To reiterate the error I get -- my program gets Error 200279 about three out of four times when I try to start the program -- on the occasion that it does get running, I can collect at 700kHz for an indefinite period of time without any problems.

0 Kudos
Message 3 of 7
(3,457 Views)

Regarding the error you can check this link for a solution.  

-----

The best solution is the one you find it by yourself
0 Kudos
Message 4 of 7
(3,440 Views)

None of the solutions suggested at that link relate to this problem, since my problem only occurs occasionally at start-up.

 

1.  I don't have waits inside of my loop.

2.  I have this problem no matter how large I set my buffer.

3.  I don't check for the Task Done.

4.  I do read more than 1 sample at a time.

 

The solution I am looking for is to be able to bypass this error, grab samples off my DAQ card that are "overwritten", and to continue my program without crashing.

0 Kudos
Message 5 of 7
(3,434 Views)

Can you share your entire VI, instead of a difficult-to-see partial screenshot?

 

It looks like you should wait to start the DAQ task until everything else is ready. This might be as simple as moving it further along in your code, using the error wires to dictate execution order at startup. Alternatively, you could ignore the error by checking if it occurs, and if so, clear the error (using the clear error function), stop the DAQ task, then restart it.

0 Kudos
Message 6 of 7
(3,419 Views)

Hi,

 

Try doing this.

 

relative.PNG

Before starting the task and reading, use the property node to set 'Most recent sample'.

 

Hope it helps.

 

Regards,

 

Bijay

 

0 Kudos
Message 7 of 7
(3,397 Views)