LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to avoid DAQ Assistant?

Hello,

 

I've drawn up the attached VI from a previous version of a multiplexing program for use with antennas and an RF switch.  In general, the portion of the VI that should take the longest to execute is the subVI (get_and_purge), because it has to scan for a certain amount of time on each channel (additionally, since I don't know how long the response is, it will also always time out before moving on to the next channel, but I am not too worried about this).

 

However, the DAQ Assistant takes far too long to write the voltages I need to my DAQ device.  What is the simplest way around this?  The DAQ device I am using is the NI 9623 device, which is an analog output device.  I only need discrete values so I am specifying each output as a sample to the data in port of the DAQ Assistant right now.  Can anyone refer me to some sample code for writing say, a square wave to a DAQ analog output device?

 

Thank you,

 

Daniel

0 Kudos
Message 1 of 4
(3,097 Views)

First I recommend replacing the stacked sequences with flat sequences.  Sequences within sequences are too hard to debug.  Once you do that, you may see that some of the sequences are unnecessary.

 

I assume the DAQ assistant that is giving you problems is the one in the first frame of the inner sequence.  Possibly the intial DAQ assistant, but that only runs once.

 

Open up the DAQ assistant.  I see you have a check box checked in the timing settings.  It looks like a little alarm clock.  When checked it uses the waveform's timing settings.  Your dynamic datatype is being created from an array, so timing information is being set.  So I believe it would use a default timing of 1 second.  So it looks like it take two seconds to generate the analog waveform.

 

What is the output rate that you want to use for these waveforms?  Why are you doubling up the samples in a  build array before merging them again to send out? 

 

Perhaps you want to use N channels, 1 sample as your mode of output so and let software timing take over.

0 Kudos
Message 2 of 4
(3,079 Views)

I use stacked sequences primarily so the VI will fit entirely on one screen, although it is not too difficult to compress the space and use stacked sequences instead.

 

The reason I double up the samples is because the VI requests a 2D dynamic array as the input data, so without a second sample the DAQ Assistant gives an error.

 

I'll try the N channels, 1 sample and get back to you.  Thank you.  I would like my VI to cycle through these iterations as quickly as possible, so that the only hold time is the scan time on each antenna.  Thanks.

0 Kudos
Message 3 of 4
(3,055 Views)
Right click on that blue express conversion VI and pick properties, it is set for 2-D array of scalars.  There are numerous other options there.
0 Kudos
Message 4 of 4
(3,050 Views)