Hi, if you don't worry about the execution time much you can use the "NI 488.2 Library".
After you setup your oscilloscope, use the routine
Send
to upload the command to the scope, to retrieve the waveform, and then use the routine
Receive
to download the waveform from the scope. For ex. I use a TDS220 scope, so when I want to read a waveform from it I use
Send(0, 2, "CURVE?", 6, NLend);
wich tells to the scope, at address 2, that sends the waveform to the device at address 0, the GPIB. The command has 6 characters and the termination mode, of the command, is the character"\n".
Then I read the waveform from the GPIB with,
Receive(0, 2, *buffer, 2507, STOPend);
wich means that 2507 bytes will be readout from the device at address 2, the scope, and put into the
character string buffer, and the data termination mode, STOPend, will be the STOPend character.
If the time execution is extremely important I recomend yout to use the "NI 488 Library" functions, but for this pourpose is a little bit complicate than using the NI 488.2 routines.
Check also, the manual of you scope, for specfic commands to retrieve the waveform. I wrote down many programs. I few minutes I can send you an example, how to do that!.
enrique.gámez:-)