I am working on an analog output application which requires a continuous, multi-channel waveform generation, with variable frequencies between channels. I am currently using a NI 6062E DAQ card....is this possible?
Most of our analog output (AO) boards require that all AO channels use one shared output buffer. Furthermore, most of our AO boards also require that you use one update clock to control all D/A conversions on every channel. The exceptions to these rules are the AT-AO-6 and AT-AO-10 boards, which allow you to configure the output channels into two distinct groups with their own update clocks and their own buffers. Since you probably don't have these boards (we stopped manufacturing them about a year ago), we need a creative solution.
When you configure an AO buffer in LabVIEW for mulitple channels, the buffer is stored as a 2-D array - one dimension for channels and one dimension for the data on each channel. If you need two sine waves output at two different fr equencies, you must construct a different number of sine periods in your AO buffer using the same number of points for each channel. For example, if we need to output a 1 Hz sine wave and a 2 Hz sine wave, we can select an update rate of 1 kHz and a buffer size of 1 ksamples. For the first sine wave, you will need one sine period stored in your 1 ksample buffer. For your second sine wave, you will need two sine periods stored in your 1 ksample buffer.
As you can see, if we update 1 thousand points per second (1 kHz update rate), we will generate one entire buffer per second for each channel. Since the first channel has one sine period in its buffer, the first channel will output a 1 Hz sine wave. The second channel will output a 2 Hz sine wave because it also cycles through one buffer per second, but it has two sine periods squeezed into the same buffer.