Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Why does DAQ_Check function return -10608 NoTransferInProgressError?

I have been tasked to fix an old app that has recently been locking up.  Problem is in loop where DAQ_Check() is called until *DAQ_Stopped becomes true (1).  Loop ignores status return values of zero (0) and -10608 (NoTransferInProgressError).  On NT4, WIN98 machines program has ran fine for years fine on newer machines with Windows XP (SP1&2), program loop locks up where -10608 is always returned and *DAQ_Stopped never becomes true (1).  I'm thinking of just breaking loop when -10608 is returned and starting data read over.  Is this reasonable?  Should DAQ_Clear() be called or does the DAQ_Check() function do this internally?  I have worked in data acquisition and control for 20+ years but have not worked much with NI.  Have a short time to get up to speed.  I have limited NI documentation and it is not really that helpful.
 
Thanks,
0 Kudos
Message 1 of 2
(2,896 Views)
Hi epcdavidson,

When the DAQ_Check function notices that the acquisition is complete, it will also call DAQ_Clear(). What is probably happening in your program is when DAQ_Check() is called again, there is no acquisition running so it returns error -10608.

You can experiment with this by calling DAQ_Clear() twice in the middle of an acquisition. The first one will clear it and you will get a -10608 error on the second.

The error isn't harmful though, so your idea of
just breaking loop when -10608 is returned and starting data read over seems reasonable.

I hope this helps!

Regareds,
Erik J.

Message Edited by Erik J on 03-17-2007 05:17 PM

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