12-19-2004 02:41 PM
11-21-2005 09:39 PM
08-01-2006 05:17 AM
Hello,
I also encounter the same buffer overflow problem while performing buffered semiperiod measurement on a PXI 6602 card with LabVIEW Real Time 8 and DAQmx 8 drivers.
I normally expect to measure a 1kHz PWM signal and retrieve its duty cycle with roundabout 1% resolution.
I observed this overflow very easily by testing my cabling : using a mechanical switch as an input for the counter quickly produces an overflow. Since the board has a 80MHz timebase, I understood the counter measured all bounces on my switch. I hoped this phenomenon would not appear with my real system, unfortunaltely it also occured has the sensor may be plugged while the application is running...
The solution I found to avoid the problem was to use a 10µs numeric filter on all 6602 inputs. This also enables my 1% resolution over 1kHz signal. I also tried to use this technique with E-series DAQ board, but unfortunately this option is not supported. M-series support that but only with discrete values.
Now we are working on bigger systems (>200 I/Os of other types) and I again observe this -200141 error randomly. This is very annoying.
Since I only need the "current" PWM value, I am only interested in the last 2 values, so I tried to configure the task to ignore buffer overflows, but this seems not to be taken into account by the driver. Stopping and starting the task again as proposed by other user do not give any new measurements, indeed.
Going through the forum, I found many posts with users having problems with buffer overflow on buffered semiperiod measurements, but no solution seems to be available to make this kind of card doing these simple measurements with reliability.
As I know the card buffer is limited to 2 samples and as I am interested only for the last 2 measurements, is there really no way to work without DAQmx buffer to overcome this error ?
Thanks for your help.
08-01-2006 04:18 PM
Hi,
"I observed this overflow very easily by testing my cabling : using a mechanical switch as an input for the counter quickly produces an overflow. Since the board has a 80MHz timebase, I understood the counter measured all bounces on my switch. I hoped this phenomenon would not appear with my real system, unfortunaltely it also occured has the sensor may be plugged while the application is running..."
Is it measuring the widths of the bounces OK, but producing an error when the counter overflows when the new switch state is stable? A 24 bit counter counting 80MHz clocks will overflow in 209ms. Can you divide down the clock to 20MHz?
"Now we are working on bigger systems (>200 I/Os of other types) and I again observe this -200141 error randomly. This is very annoying."
My app hasn't had a buffer overflow that has been noticable, in the last 3 months or so it has been in use. I don't have a RC filter on my signal from the optocoupler, just a 10nF cap to get rid of HF noise. Do you have dodgy grounding? On my old hardware when I switched a relay that would screw up the counter measurment when I was using traditional DAQ. So it random or is there something in your system that happens occasionally that could cause this?
"Since I only need the "current" PWM value, I am only interested in the last 2 values, so I tried to configure the task to ignore buffer overflows, but this seems not to be taken into account by the driver. Stopping and starting the task again as proposed by other user do not give any new measurements, indeed."
I didn't like stopping and starting the task since it took ages and used a lot of CPU power. It would be nice if there was a pause measurment function. I was in the same posistion with measuring the RPM of the motor. I was only interested in the current measurment, so I didn't care if the buffer overflowed. Also if the buffer overflowed, it would mean the motor was going very fast and I would more than enough samples to average.
"As I know the card buffer is limited to 2 samples
and as I am interested only for the last 2 measurements, is there
really no way to work without DAQmx buffer to overcome this error ?"
? I am only familar with E series counters, but with it I can select the number of samples in the buffer. But there are only 2 counters so you can only measure 2 PWM signals at once. Or you can use one counter to clock down the signals for the other counter. But for your 1kHz app you shouldn't need to do that.
Thanks for your help.
OK, but not sure if I have....
08-02-2006 01:36 AM