Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Wish to output digital data at maximum speed possible from DAQ

Current Labview example VIs (for DAQmx base) will produce maximum of 166 Hz (6 ms period).  See attached file "Freq_Test.vi", adapted from example "Write Dig Port.vi"; this seems rather slow.  Is a higher bandwidth possible for this device?
 
NI Software :  LabVIEW  version 7.1
NI Hardware :  Multifunction DAQ device USB-6009
Driver Version :  3.2.0 (Build 19)
OS :  Windows XP
0 Kudos
Message 1 of 13
(4,297 Views)
Hello ReedTrellis,
First, I want to clarify something.  When you say 166Hz period, are you talking about the period of the digital signal produced by incrementing one bit at a time of your 8 bit port?  Or are you talking about a loop rate of 166Hz, meaning you can change the value of the digital signal at a rate of 166Hz.  I just ran a similar example, and monitored the frequency of the least significant bit, and found that I was achieving loop rates of 20kHz to 40kHz.  The period of the whole waveform was about 300Hz or so.  Keep in mind that these rates are completely system dependent, and software timed.  It will only change the digital values as fast as your system will execute the while loop.  Also note that in a Windows system, the execution of the LabVIEW loop is non-deterministic, so Windows will choose when it wants to execute the loop.  So this will be effected by other programs that are running, or background programs like virus scanners, etc.  This is why the loop rate can vary.  Hope this helps.
-Alan A.

Message Edited by Alan A. on 08-18-2005 11:22 AM

0 Kudos
Message 2 of 13
(4,285 Views)

Hi Alan,

 Many thanks for the response.  By 166Hz I mean the period of a digital signal produced by incrementing the value of a byte by 1 for each iteration (i.e. toggling the least significant bit in this case) on the 8-bit digital port.  I'm not sure if I completely understand your definition of loop rate and what you mean by "the whole waveform" when you mention 300Hz... could you clarify this perhaps?  It would seem to me that you mean toggle rate which would be twice the frequency of the LSB waveform, but then since you describe much higher numbers like 20kHz and above, I don't think I get your meaning clearly.

Regards,

Janak

0 Kudos
Message 3 of 13
(4,273 Views)

Janak,
Allow me to clarify,
When I ran the program I attached previously, the digital pulse train produced by the least significant bit toggling from 0 to 1 and back to 0 was running anywhere from 10kHz to 20kHz.  Meaning that the LSB was changing at the rate of 20kHz to 40kHz.  Every time the LSB changes, the loop has executed one time.  So by loop rate, I am referring to how fast the loop is executing, which is exactly how fast the LSB is changing. 
I also monitored the most significant bit.  I found that the pulse train from the MSB produces is about 150Hz.  So the MSB is changing at a rate of about 300Hz. 
I hope I was more clear in this post.  Let me know if I need to clarify anything further. 

-Alan A.
 

0 Kudos
Message 4 of 13
(4,261 Views)

Alan,

Thank you for the clarification; this is what I thought you meant.  However, it seems that the maximum I can achieve with your code or mine is about 150 Hz for the LSB and a little over 1 Hz for the MSB... any idea on what could be the cause of such a low output rate?

Best Regards,

Janak

0 Kudos
Message 5 of 13
(4,248 Views)
Wow, that is really slow.  Are you putting anything else in the loop?  What kind of machine do you have?  Do you have any other processing running? 
I have a fairly new machine (3.2GHz processor, 1G RAM), but I can't imagine it making that much difference.
-Alan A.
0 Kudos
Message 6 of 13
(4,236 Views)
I have a similar machine configuration to yours (3 GHz, 1 GB RAM), and at the time I didn't have any other processes running according to task manager, nor is there anything extra in the loop - just as in the VI you sent me.  An NI engineer mentioned that it might have to do with the DAQmx/DAQmx base version I'm running (1.4)... what version is yours?
0 Kudos
Message 7 of 13
(4,231 Views)
Hello.  I just noticed (from your first post) that you are on a Windows OS.  The USB-6009 is now supported with NI-DAQmx 7.5 on Windows.  I should have caught this earlier, but I definitely encourage you to move to NI-DAQmx.  You can download it free here.  After you install NI-DAQmx 7.5, you need to follow the instructions in this KB to use the USB-6009 with NI-DAQmx. 
-Alan A.
0 Kudos
Message 8 of 13
(4,217 Views)
Alan,
 
Thanks for the advice and links - I did indeed install DAQmx 7.5 and configured MAX to recognize the USB6009; however, the performance gain was negligible.  The LSB now has a frequency of 250 Hz instead of 150 Hz... I'm not running any processes other than labview, and no other USB devices are hogging bandwidth.  Any ideas?
 
Thanks,
 
Janak
0 Kudos
Message 9 of 13
(4,202 Views)
Sorry to bump in, would USB port hardware versions make any difference (USB 1 versus 2)?
~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 10 of 13
(4,199 Views)