Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

usb 6008

Hi,

I am a new user to USB-6008 DAQ. I use an example called "Approximate Frequency Measurement with USB-600X Simple Edge Counter" on NI web site to measure the frecquency comes from function generator. 
 
I found that frecquency measurement result is not very stable. So I have added time delay to delay execution of the Express VI. The frecquency has little better stable reading,  but still not good enough.
 
Then I have two questions
Is it possible to average frequency measurements to get a steady stable reading?
 
Dose UBS 6008 possible to get exactly frequency measurement of the signal on the counter channel for a range from 100 to 200MHz?
 
 
 

If anyone has had the same problems or know how to fix them I would be thankful of your help.
 
/Benson
0 Kudos
Message 1 of 12
(6,337 Views)
 
Hello scan128,
The USB-6008/9 counters can only perform simple event counting.  So there is no way to measure frequency in hardware with those devices.  So, the only option for measuring a frequency is to use the simple event counting functions and then calculate the frequency in software.  This will not be as accurate as a hardware frequency measurement.  Your best bet is to slow down the loop rate as much as possible (by adding a wait function).  The calculation will still be dependent on the operating system returning a system time or number of "ticks" of the millisecond timer.  For a more accurate frequency measurement, you might consider the USB-6015.  It has two fully functional counters, which can perform very accurate hardware frequency measurements.
-Alan A.
Message 2 of 12
(6,319 Views)
Thanks Alan
This reply help me to clarify some questions.
My intention is to recive frecquency from different channels. I use an example called "write Dig Port" as channel selector.
 
I can specify the max and min range but is it possible to specify whatever value I want within the range; such as 1, 3,4, 15, 18 and 19 and make those six value cycle automatically?
 
 
Regards
 
Benson Fan
0 Kudos
Message 3 of 12
(6,313 Views)
Hello,
If I understand correctly, you want to output a series of digital values.  You could do this a number of ways.  One way might be to put the digital output values in an array, then use the index array VI with the iteration terminal as the index value.
-Alan A.
0 Kudos
Message 4 of 12
(6,292 Views)

Hello

I use an example from labview 7.1 called "write dig port"

This example only provide manually input select data to digital write port
Do you have example can continue input data from minimun range to maximun range?
 
Thanks 
 
0 Kudos
Message 5 of 12
(6,271 Views)
There are a few different ways to do this, here is one option.
-Alan A.
0 Kudos
Message 6 of 12
(6,255 Views)

Thanks for help. It works in my vi !

UPDATE:

I use counter to determine frequency from channel 0 to channel 7 and display on numeric indicators automatically.


Now I try to display values in a table. Can someone point me in the right direction on how to enter frequency value in the corresponding row and column position?
 
Thanks

0 Kudos
Message 7 of 12
(6,202 Views)

Hello,

My apologies for joining this conversation late.  If I understand correctly you would like to plot 8 measurements per loop representing frequency in a table.  I believe this example will help clarify how to add the elements to the table.

Thanks for posting, and please let us know if I can help out further!

Regards,

Travis M
Applications Engineer
National Instruments

Message Edited by Travis M. on 08-26-2005 02:20 PM

Travis M
LabVIEW R&D
National Instruments
0 Kudos
Message 8 of 12
(6,187 Views)

Yes! almost there, but your example use multiple elements to build array individuality. Different from my case is I have only one element that combines/tells 8 measurements sequentially and try to plot in the table step by stpe correspondingly.  

Can any way to do this?

Regards,

Benson

0 Kudos
Message 9 of 12
(6,181 Views)
Hey benson,
The easiest way to do that is to use the Replace Array Subset function under the array pallette. You can use a local variabe or a shift variable to get the current value of the 2D array in your table and replace the exact element you wish to change.
0 Kudos
Message 10 of 12
(5,906 Views)