Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ Error 200077 while trrying to read digital signal

Hello,

 

I am using the DAQ 6009 to try and read a digital signal and get the frequency of the signal. My project requires that RPM's be displayed by multiplying the frequency by a conversion factor. When I try to set up the task I get the following error from the DAQ Assistant:

 

Error - 200077 occured on DAQ Assistant

Possible Reasons:

Requested value is not a supported value for this property.
The property value may be invalid because it conflicts with another property.

Property: SampTimingType
Requested value: Sample Clock
You Can Select: On Demand

 

 

Could someone please help me fix this error?

I posted my VI just incase. 

 

Thanks,

 

Skins

 

 

 

0 Kudos
Message 1 of 11
(3,579 Views)

Hi Skins,

 

You are seeing the error because the USB-6009 does not have the ability to do frequency measurements with the hardware. The counter allows you to do slower, software-based measurements by programmatically finding the frequency/period in LabVIEW, but this will not work with higher frequencies. What kind of frequency range are you working with? Low frequency measurements (below 50Hz) could be done similar to the code included in the following KnowledgeBase article:

http://digital.ni.com/public.nsf/allkb/14966D5D3A9AB75F8625700E00412DA1?OpenDocument

 

As I said, this program is only for slow frequencies and will not be able to dynamically read frequencies, so it can only read constant, slow RPM values. This is a limitation of the USB-6009 as it does not have access to analog triggering or an external sample clock.

 

Zach P.

Staff Software Engineer | LabVIEW R&D | National Instruments
0 Kudos
Message 2 of 11
(3,566 Views)

Skins,

 

As Zach has indicated, the digital inputs on the 6009 are not suitable for such measurements.

 

An Analog Input can be sampled (with hardware timing) at up to 48 kS/s.  Depending on the number of pulses per revolution, reading the signal as analog might work.  It will take a little more effort to process the analog datastream to get the frequency.  This does give you an option for making the measurement with the equipment you have.

 

Lynn

 

0 Kudos
Message 3 of 11
(3,558 Views)

I will be working with frequenices within a 2k - 5kHz range. The data sheet on the DAQ 6009 says that the maximum input frequency for the counter is 5 MHz. Shouldn't I be able to at least extract a period from the incoming signal? Can I use a method similar to the one you posted to do so?

0 Kudos
Message 4 of 11
(3,549 Views)

The USB-6009 counter is a event counter.  It does not have an internal timebase to allow direct freqeucny or period measurements.  The Digital inputs and outputs are software timed which means that tehy are too slow and have too much jitter to use them as a gate or timebase.

 

The analog method I mentioned above should work since your maximum frequency is 5 kHz.

 

Lynn

0 Kudos
Message 5 of 11
(3,545 Views)

Hi Skins,

 

johnsold is correct about the counter, it can be used to simply count events (increment a single number of counts) with events up to 5 MHz. However, since it is not a buffered counter, there is no way to read the frequency of how fast the counter is incrementing except with software. Frequency measurements in the 5MHz range on a counter would have to be done on the hardware side, while the USB-6009 would only be able to do this with software. johnsold's suggestion of using the Analog Input is your best option with your current hardware setup.

Zach P.

Staff Software Engineer | LabVIEW R&D | National Instruments
0 Kudos
Message 6 of 11
(3,530 Views)

I was thinking of using an external source to supply a clock signal since I may need to operate at higher frequencies. I have an FPGA I can use as the clock. However, I am not entirely sure as to how to go aout implimenting this in labview to extract a period. I also have a question as to whether or not I can use the DAQ 60011E or 6012 to extract the period or frequency using the DAQ Assistant instead?

0 Kudos
Message 7 of 11
(3,513 Views)

The 6011E is an E Series card with no counter, so you would have the same options that you have with the USB-6009. The analog input method mentioned by johnsold is your best bet. Unfortunately, the USB-6009 does not support external timing and would not be able to use the external signal to increase speed of frequency measurement.

Zach P.

Staff Software Engineer | LabVIEW R&D | National Instruments
0 Kudos
Message 8 of 11
(3,494 Views)

I switched to using the DAQ 6501. What I did was utilize the counter with a timed loop instead. My logic behind this was to feed the output to a subtraction block and use a feedback loop that would be fed to the other input of the subtration block. This way the difference would be constantly calculated over the period of the iteration I set. I chose 100 ms. I converted this to a frequency. I attached the my VI file. Does this method work? Please let me know what you think.

 

~ Skins

0 Kudos
Message 9 of 11
(3,484 Views)

Unfortunately you are in the same hardware situation as the USB-6009 with that counter. You may want to look at this thread for some ideas:

http://forums.ni.com/t5/Digital-I-O/is-it-possible-to-measure-pulse-frequency-using-only-NI-6501/m-p...

 

I think you are describing a way to measure frequency, but it is not going to be able to handle dynamic frequencies or anything over a certain speed. The general idea is correct, but the DAQ Assistant timing and the timing of the loop are not going to be fast or accurate enough for good measurements. This is still software timing, so you will see the same limitations mentioned earlier in this thread.

Zach P.

Staff Software Engineer | LabVIEW R&D | National Instruments
0 Kudos
Message 10 of 11
(3,476 Views)