In my opinion you should look at Arbitrary Waveform Generator.vi, an example shipped with LV. You'll find it in Search Examples >> I/O Interfaces >> Data Acquisition >> Analog Output >> Multiple Point (buffered) Analog Output. This example clarifies the basic steps to perform in order to generate a waveform to an output. Basically they are:
. Configure your output(s)
. Write array of data to output(s)
. Start generation
. Close all resources at the end
Regarding your actual question, the main problem is to build the correct array of data describing the waveform you want to generate.
You cannot write to the card and generate such an output in steps: some time will be spent in passing the new vawe to the card, so the output could sligh
tly different from what you expect.
The simplest way to generate a complex waveform is to pass the complete waveform to the daq card before starting the generation, so that there will be no discontinuity in the generation when pattern changes for example from ramp to steady state and the to sine wave and so on. Ramp, impulse and sine vis can help you to build the correct array to pass to AO Write.vi. For the constant-value parts of your signal, simply fill the corresponding part of the array with the same value.
A more complex way could be to update the pattern to generate while it is being outputted. I STRONGLY recommend you to practice in the first way before starting the second one, even at the cost of reducing the sample/sec output rate if necessary.
Hope this helps
Roberto