Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

on the fly waveform change whithout return to zero (delphi) ?

hi everybody,

I have two waveforms generated through a PCI-6713 card.
One using the counter output (the amplitude doesn't matters) and the other one trough an analog output.

I need to synchronize second signal frequency to and change it's amplitude every 70ms. I used the delphi examples provided (Configure, Write and Start functions for AO compononent) but each time I call the start function, there is a little return to zero which is annoying...

My question is: is it possible to have a continuous output ? do I have to use double buffering ? does anyone have an sample code ?

Thanks very much for your answers

Olivier

ps: and sorry for my english
0 Kudos
Message 1 of 3
(2,644 Views)
Olivier,

To obtain a continuous output, without the unintended zero points, you will need to perform a double-buffered operation. You will not be able to remove the zero points if you repeatedly call the start function during the operation. Since you know that you will be changing the amplitude of your signal every 70 ms, and you know the update rate you are using, you should be able to continually write the correct number of points of new data to the output buffer to create the desired waveform. You should be able to modify one of the double-buffered analog output examples that installs with NI-DAQ to accomplish this task.

Good luck with your application.

Spencer S.
0 Kudos
Message 2 of 3
(2,644 Views)
Thanks for your answer

I didn't find any delphi example of double buffering but I manage to do the job by doing only one "start" and calling "configure" only when the card is ready.
This may not be the perfect solution but it suits my needs.

Thank you again for your answer

Olivier
0 Kudos
Message 3 of 3
(2,644 Views)