LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with PCI-MIO-16E4 and PCI-5112 working together in the same PC

Hallo,
I’ve installed PCI 5112 (configured with 16 Mbytes RAM) and PCI-MIO-16E4(6040E) boards in the same PC.
PCI-MIO-16E4 has to generate a buffer of over 1Msamples of data continuously, at an update rate of 800Ksample/sec.
5112 has to acquire this signal, in a continuous acquisition mode (with “niscope ex fetch forever.vi” example).
I’ve used Labview 5.1.
When 5112 board acquires with sample rate over 200 KHz and/or fetch data over 100Kbytes, PCI-MIO-16E4 board stops signal generation after less than 1 minute (sometimes after few seconds)!
PC is configured with Pentium PIII, 256Mbytes RAM, 500MHz clock, Win2000.
Cannot PCI-5112 and PCI-6040E work in the same PC in th
ese operative conditions?
Thank you for your answers.
0 Kudos
Message 1 of 6
(3,157 Views)
You might look into any other situations that cause the problem.

1) Will the 6040E ever stop generating if the 5112 is not running at all?


2) When the 6040E stops generating, do you get a NI-DAQ error? Which one? Is it always the same error?


3) You said it's related to how fast the 5112 is sampling, is it also related to how fast the 6040E is generating?


I assume the 6040E output is only one channel. (Two channels would exceed the max rate as specified in the manual.)


Russell


Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 6
(3,157 Views)
Thank you Russell,
5112 and 6040E boards work together without problems when 6040E generates data at a lower speed.

I can indicate the following benchmarks, valid for Win2000 O.S., PIII, Clock F. 500MHz, RAM 256MBytes, LabView 5.1, "niscope ex fetch forever.vi" and "analog output.vi" examples (with some changes relating to data management and storage), only one input and output channels:

1) 6040E works correctly in continuous generation at an update rate of 800 Ksample/s, when 5112 is not running;
when 5112 starts continuous acquisition with high data rate and buffer (for example 1MHz and 1Mbyte, we can indicate that as "high" mode), 6040E stops generation without errors indication;
the two boards work correctly for 5112 sample rate and fetching bu
ffer less than 200KHz and 100Kbytes respectively (we can indicate that as "low" mode);

2) I get ni-daq error n. -10843 in a "not continuous generation" only, at update rate greater than 600 Ksample/s, with 5112 running in "high" mode as above described;

3) 5112 and 6040E work correctly together in continuous acquisition/generation (5112 in "high" or "low" mode) with 6040E generating not over 200Ksample/s.

Regards.
0 Kudos
Message 3 of 6
(3,157 Views)
That is a very good description.

Have you been using a shipping example for the 6040E generation? I would recommend using the "Generate Continuous Sine Wave" LabVIEW shipping example. You are using very high speeds so we should use something as simple as possible.

The 10843 error indicates that the bottleneck is at your computer's hardware. (As opposed to the program.) Data was unable to be transfered across the PCI bus fast enough to the board. I am surprised you don't get an error when generating/acquiring continuously and the 6040E stops. Is the error handler being routed/used correctly in the 6040E generation VI?

Because of the 10843 error, this might be something a faster computer could solve. Try that if you have access to one.
Otherwise, in addition to trying the "Generate Continuous Sine Wave" example for the 6040E, try combining the two VI's into one VI. Specifically, use the same polling loop for reading the 5112 and the AO Write for the 6040E. My reasoning is that there could be some thread lock going on that prevents your 6040E VI from executing. (The "fetch forever" VI hogs all of the processor.) Combining them in this way would help eliminate that possibility.

-Russell
0 Kudos
Message 4 of 6
(3,157 Views)
You are right! The previous absence of 10843 error during continuous aquisition, was related to a bug I created into “Getting Started Analog Output” shipping example.

I’ve obtained stable operative conditions, with the following results, for 5112 continuously acquiring at 1MHz data rate (with 1Mbyte max point per fetch), with streaming to disk or without, and 6040E continuosly generating at different update rate.

1) with 5112 fetching only, 10843 error immediately occurs at an update rate over 600000 sample/sec;
2) with 5112 fetching and streaming, 10843 error occurs after 2-3 minutes, in 300000-600000 sample/sec interval (under 300000, 6040E generates “for ever” without errors);
3) a unique VI combinin
g both acquiring and generating actions (the same while loop for both "5112 fetching" and "6040E AO Write.vi checking") didn’t give better results.

Thanks for your help.
0 Kudos
Message 5 of 6
(3,157 Views)
Ah, so NI-DAQ has been throwing a 10843 error. We just didn't know about it! Error 10843 is difficult to get around since it is system dependant. As I said before, this error occurs when the computer hardware is unable to transfer data across the bus fast enough to keep up with the speeds of the generation/acquisition. It is not a limitation of the 5112 or 6040E. You are using both at very high rates which means there is a LOT of data your PC is having to transfer. A faster computer would undoubtedly improve performance. Even adding more RAM might help.

-Russell
0 Kudos
Message 6 of 6
(3,157 Views)