LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Update Multiple Analog Output DAQmx Channels On-The-Fly

In order to generate multiple analog waveforms through an NI-9263, I am using this VI to produce waveforms that can be edited at runtime. However, the waveforms take ~30 seconds to update regardless of the buffer size, frequency of signals, or the number of channels in use. In order for my experiments to work properly, I need to find a way to cut the update time from 30 seconds to something on the order of 10 seconds or less. Any help with this issue would be greatly appreciated!!

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

Should not be like that. 

What is the carrier of the NI-9263?

What frequency/number of samples did you try? Can you try one channel, 1000 Hz, 100 samples?

How do you measure update rate?

What is happening with output (look at the scope)? Does it generate your waveform (0.1 s) then sits for 29.9 s, waiting for the next iteration?

Does it say any errors? Is it exactly the same VI? 

Message 2 of 11
(3,310 Views)

I'm using the NI 9181 carrier/chassis. I did tests where I connected an oscilloscope to the DAQ, set the sample rate to the 100 kS/second, and observed how long the waveform took to update on the oscilloscope.

I tested the update time in relation to buffer size and frequency, where I set the buffer to 5000 samples, 2500 samples, 1000 samples, and 500 samples. At each of these buffer sizes, I would change the frequency of the output signal (through one channel) from 100 Hz to 10 Hz, record the time it took for the oscilloscope to read the new frequency waveform after entering in the new signal info on the VI. I measured this update rate by simply setting a stopwatch on my phone as I pressed enter on the VI with the new info, stopping the watch when the oscilloscope registered the updated signal. I would then test the time it took to update the waveform from 10 Hz to 100Hz at each buffer size. Across the board, the update time between entering new info on the VI and seeing a different frequency waveform on the oscilloscope remained 30 seconds. 

On the oscilloscope, the output waveform looks continuous, and when the updated signal appears on the screen, the new waveform replaces the old one and also appears to be continuous. The VI only gave me errors when I tried to use a buffer of 250 samples, but aside from that, I have seen no other errors.

Let me know if you have any more questions/want me to test things!

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

"Do not allow regeneration" means it should stop at the last value when it has completed the buffer. If it continues to generate, it has data. 5000 samples, 100k samples/s - takes 50 ms. Either it makes large buffer and loops through it, or queues the daqmx writes (10 Hz is continuous!), or rate is not 100ks/s

Does sine rate on the scope match the one you set (10 Hz, 100 Hz)?

Can you connect your number of samples to samples input of daqmx timing?

Can you add 100 ms delay to the loop? Will 40 ms delay (at 5000 samples) change update time?

Can you set your current values as default, save VI for 2011 and attach it?

Message 4 of 11
(3,238 Views)

The sine rate on my scope does match the frequency I assign in the VI, and I don't understand what you mean by "connecting the number of samples to samples input of daqmx timing"? I'm not very experienced with Labview, so I don't entirely understand how to modify my program in the ways that you're suggesting. I'll try to do what you suggested, and let you know what I find. I'll also upload the VI to the thread as soon as I get access to the computer it's on.

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

Here's the program file that I'm using. I was unable to answer the questions you had regarding:

  • Does sine rate on the scope match the one you set (10 Hz, 100 Hz)?

  • Can you connect your number of samples to samples input of daqmx timing?

  • Can you add 100 ms delay to the loop? Will 40 ms delay (at 5000 samples) change update time?

As I did not know how to modify the program like this. Please let me know what you think the issue might be.

0 Kudos
Message 6 of 11
(3,194 Views)

Zach,

 

It doesn't look like you actually attached your code. Can you try again?

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

This VI allows me to real-time update my waveform. Is there a way to modify the VI I posted earlier to function like this VI?

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

Zach,

 

Is the new VI that you posted working for you? Can you just use that one instead of trying to modify the other one? The two VIs are very similar except for a couple changes with how the waveform is generated. If the second VI works as expected, I would suggest just using that one. 

 

J. Calvert

Applications Engineering

National Instruments

Message 10 of 11
(3,130 Views)