Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

10920 Error during simultaneous counter and AI reads

Dear Community,

I have a PXI system and I am trying to perform analog data acquisition using a bunch of PXI-4472 cards AND count buffered events using a pair of counters on a PXI-6608 card (cascaded together) at the same time. I am also writing the outputs of the 4472s to disk at the same time.

The problem I have is that I get very intermittent -10920 errors, suggesting that my system is not reading the buffered counter values fast enough. This seems very hard to believe since the backlogs on the 4472s and the 6608 are small, and since the errors come out of the blue after 5 to 15 minutes.

My basic strategy is that I am using Counter Get Attribute.vi to read the number of values available on both counters, then I take the min of those values and read that many counter values. Then I wait 500msec. I've set the internal buffer of the 6608 to 3,200,000 and my gate signal is around 32KHz (it's actually the AI acquire signal from the 4472s that I'm time-stamping).

I've tried using bigger buffers, longer wait periods, etc., and those don't seem to help: I still get sporadic -10920 errors after a few minutes of smooth operation.

It doesn't matter what timebase I use, either, for the source signal. I've tried the 10MHz OXCO, the 100KHz clock, and the 20MHz clock.

I am running LV 7.1 on Windows XP.

Thanks!
Casimir
0 Kudos
Message 1 of 11
(5,347 Views)
Hello Casimir,

Thank you for contacting National Instruments.

Please see the following Knowledge Base: http://digital.ni.com/public.nsf/websearch/8FB9091CB9BB452B8525642000554799?OpenDocument . This KB lists possible reasons for the -10920 error and ways to avoid it.

If these suggestions do not work, try running Count Buffered Edges (NI-TIO).vi. This can be found in the Example Finder under Hardware Input and Output >> Traditional DAQ >> Counters >> NI-TIO >> Count Buffered Edges (NI-TIO).vi. Can you run this example program without any errors?

Sincerely,

Sean C.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 11
(5,342 Views)
Thanks for your reply. I read the knowledge base article and nothing seems applicable.

I tried the Count Buffered Edges (NI-TIO).vi example and it gives me the same problem: it runs OK for 5-10 minutes, then stops with a -10920 error.

My latest theory is that every once in a while the DMA transfer isn't fast enough, perhaps because the PXI-4472 cards are also trying to do a DMA transfer at the same time. Maybe this is a matter of setting execution priorities?
0 Kudos
Message 3 of 11
(5,341 Views)
I have the same problem, with almost the same situation. I got the 10920 error from 'Counter Read Buffer'.

I am doing synchronized data logging with 4472 and 6608. It is based on the demo VIs Bryan (The DSA PSE) wrote around 2002-2003. I am using PXI-1045 + MXI-3 + 7x4472 + 6602. The master 4472 is plugged in slot 2, and it passes board clock to the rest of the boards via 'PXI star n' (RTSI6 for 6602), and triggers all boards to start by RTSI0. The system works alright for a short time, but every several minutes, I get -10920 error. The average time is 5 minutes.

I am using 2 counters of 6602 doing buffered period measurements. One input is around 20Hz and the other is around 50kHz. I read the buffer of each counter 2 times, the first 'number to read' is 0, and wire the backlog of the first read to the 'number to read' of the 2nd read. The main loop time is around 50ms. So the average used buffer size is around 3000-4000. And the backlog after buffer read is 10-30.

I am using dual Xeon 2.4 work station and Wind XP. The CPU consumption is <40%. I also increased the TIO buffer from 80k to 120k. I also added the line power isolation for the PXI. I also increased the priority of the TIO read subVI. I also tried to change the Windows performance otimization from 'Programs' to 'Background Services'. All these efforts does not change anything of the error behavior.

I debugged the program. The main loop time (around 50ms), the buffer log (around 15) and the data read from the buffer has nothing strange right before the error occures.

The error is always occure at the 1st buffer read (with number to read=0!) of the counter 1 (for the 50kHz squre wave)

I am attaching the picture of the error message.

PS,
I tried the same program with 2x4474 + 6602 + 1002 4 slot chassis + MXI-3 + the same work station and had no such a problem. However I had another problem. Sometimes the counter can not get any data (buffer backlog=0) after initialization. I programmed a loop of reseting 6602 board to clean the problem.
0 Kudos
Message 4 of 11
(5,271 Views)
It should not be DMA issue or system speed issue, as my buffer is 120k and the digital input is 50 kHz, so there is more than 2 s in buffer, while my loop timer shows <100ms for the last 1000 loops up to the one generates the error.

It should not be a noise issue, as I see no extra counts in normal loops. If it's noise, increasing buffer size will reduce the chances to get error.

It should not be configuration issue, as my system can get data for several minutes.

I guess it is a DAQ driver issue.
0 Kudos
Message 5 of 11
(5,271 Views)
What sample rate are you using on the 4472s?

The only workaround I found was to reduce the sample rate on the 4472s so that they didn't crowd out the 6608 from the bus, from 32kHz to 25KHz. I'm using the exact same chassis as you, but 13 4472s.
0 Kudos
Message 6 of 11
(5,266 Views)
Here is the VIs for bug re-production
0 Kudos
Message 7 of 11
(5,071 Views)
I don't have any solution but can maybe point you to an explanation.  I seem to recall a discussion once upon a time... oh yes, here it is.  Note especially the response by reddog on 12-31.  It sounds as though you may be dealing with a similar issue -- a very small on-board FIFO for the counter/timer data which occasionally gets crowded out of PCI bus access by all the other AI cards using the bus.
 
Good luck!
 
-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 8 of 11
(5,064 Views)

Hello EX-NISH,

How much data are you transferring across the MXI-3 bridge?  The benchmarked bandwidth of MXI-3 is about 84 MBytes/s.  If the total data rate from your 4472s and you 6602 is greater than this rate, you would experience this kind of error.

Can you reproduce the error while running only one 4472 with the 6602?

Let me know your results,
Sean C.

0 Kudos
Message 9 of 11
(5,054 Views)

Sean,

I used MXI-3 and is now using MXI-4.  I have 2 systems.  One with old drivers, and the problem was solved by modifying the nidaq2.inf according to

DMA Performance Improvements for TIO-based Devices

 

from the KB.

 

The current system has the same PXI configuration, but new drivers from DCD Aug 2005.  I can not solve it with the previous method.  I don't know if it is related with other SW.  The developers are busy with documentation in these weeks, we are going to do more test afterward.

 

We have 8x 4472 sampling at 62.8kS/s per channel to the max. So the data rate is 17.46MB/s.

 

Thanks,

Hui

0 Kudos
Message 10 of 11
(5,031 Views)