Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.

Simultaneous acquisition of all channels from oscilloscope

Post Reply
violem
Posts: 5
Joined: November 28th, 2016, 4:25 am
Country: Italy

Simultaneous acquisition of all channels from oscilloscope

Post by violem » February 23rd, 2017, 2:00 am

Hi,
I am working at a routine in Visual C++ that should acquire the CURVE from each of the 4 channels of my oscilloscope DPO 70404c and write the traces in separate files. Then, it would be desirable to loop such acquisition several times (5 to 10 times for eg.) in order to create 4 different files with concatenated acquisitions.

So far I managed to implement the easiest part, i.e. retrieving CURVE from one channel, read the trace and store it in a txt file.

My question is: do I need to struggle with multithreading to get the 4 curves "simultaneously" or maybe there is an alternative way which is acceptable for real time acquisition and maybe a little bit easier?
Thank you in advance

Dave W
Tektronix Applications
Tektronix Applications
Posts: 266
Joined: April 26th, 2010, 12:01 pm
Country: United States

Re: Simultaneous acquisition of all channels from oscilloscope

Post by Dave W » March 8th, 2017, 3:19 pm

Hi violem,

There is no way to retrieve the data from all 4 channels at the same time. You will have to update the DATA:SOURCE and then perform a CURVE? query for each channel. My advice would be to write a routine that fetches the waveform for a single channel, but write it with a parameter that specifies which channel you want to retrieve the data from. You would then need to call this routine 4 times changing the channel parameter each time you call it.

Dave W
Tektronix Applications
Tektronix Applications
Posts: 266
Joined: April 26th, 2010, 12:01 pm
Country: United States

Re: Simultaneous acquisition of all channels from oscilloscope

Post by Dave W » April 10th, 2018, 3:44 pm

Note: If you want to save the number of commands you need to send, you can set DATA:SOURCE to contain multiple source. For example:

Code: Select all

DATA:SOURCE CH1,CH2,CH3,CH4
This will cause the scope to send back the data for all 4 channels in a single CURVE? query. However, how it sends it back is serially, one after another. Said another way, it will send back of of CH1's data immediately followed by CH2's data immediately followed by CH3's data and so on. Still not a simultaneous transfer, but it will reduced the number of commands you need send by a little bit.

Post Reply

Return to “Programming Support”

Who is online

Users browsing this forum: No registered users and 4 guests