LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can analog output cards generate different waveforms simultaneously?

I am trying to simulate 4 waveforms operating simultaneously at different frequencies with one PXI-6713 Analog Output card. When I start my second wave, the first wave quits running, and the front end of the first OR the second can update the characteristics of the second wave. It's like LabView assigns the same taskID to both channels so that when I write to one, they both get the new information. Has anyone had any luck generating different waveforms simultaneously on one card or is it even possible? Thanks for your help.
0 Kudos
Message 1 of 6
(3,162 Views)
I never used the pXI-6713 card, but I can give you a general hint that maybe can help you.

To run different processes they must be assigned different ids and different groups: by default, AO Config.vi assigns group 0 to all processes; you have to explicitly put different groups in order to avoid conflicts between the different processes you want to execute.

Hope this helps
Roberto


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 6
(3,161 Views)
Van;

To generate 4 waveforms and start each one on a different time without stopping the other ones, you will need to manipulate the buffer of data. Let's say that initially you need a sinewave just on the first channel. If you are planning to generate 4 waveforms, you will need to create a 4D array buffer where the first colunm will contain the sine wave and the other three colunms will be composed by zeros. When you need to start the second channel, you just keep copying the first sine wave data to the first colunm of the buffer and then start to insert the second sinewave data to the second column. You can repeate this process till you fill out the 4 colunms of the buffer. If you need to stop the generation at any channel, you need to start filing that specific colu
nm with zeros.
That particular board you have has just one group, so, by changing the group number you will get an error.
Hope this helps.
Filipe Altoe
Application Engineer
National Instruments
Message 3 of 6
(3,161 Views)
I tried Roberto's solution, and I'm now getting different taskIDs; however, this made my problem worse. I can write to each taskID using the AOWrite VI, but the AOStart VI causes my computer to crash with a blue screen when the second AOStart VI is called. Is it illegal to have two AOStart VIs operating on the same device in parallel?
0 Kudos
Message 4 of 6
(3,161 Views)

I have a PCI 6711 AO board. I need to generate 3 waveforms simultaneously:

1) square wave, 200Hz, 200 cycles; (TTL)

2) triangular, 1 Hz, 1 cycle,

3) square wave, 1 Hz, 1 cycle (TTL).

Could someone recommend me a vi that can do the the above jobs?

Thanks,
j05
0 Kudos
Message 5 of 6
(3,047 Views)
Hello j05,

There is not going to be a VI that does exactly what you are looking for (at least I am not aware of one).  However, constructing the array of data should be fairly straightforward.  Take a look at the LabVIEW help file for the DAQmx Write VI.  It will tell you how to construct your data depending on if you want to output an 1D array of waveforms or a 2D array of doubles.  If you decide to use a 2D array of doubles, you would construct the array similarly to the method described by Filipe A. in the post above.  I hope this helps!
Eric
DE For Life!
0 Kudos
Message 6 of 6
(3,028 Views)