Read all segments with one query for Siglent SDS6204A - Page 1
Forum section: electronics / testgear

author: salsaDip
author_rank: Newbie
timestamp: January 19, 2022, 04:38:52 pm
content: Hi,I have been using pyvisa to remotely control a Siglent SDS6204A and want to speed up the data taking process by reading all the captured sequences (segments) in one query. Unfortunately, I am not sure how to do this and it is not clear to me from looking at the programming manual. I am able to turn on sequence mode and set the number of sequences, but whenever I read the data I only ever read out one sequence.To read the data I currently do:Code:sds.write("WAV:DATA?")recv = list(sds.read_raw())[16:]I have also tried:Code:sds.write("WAV:DATA?")recv = list(sds.read_binary_values(datatype='b'))Is there some other way to read the data or is there some extra command needed to ensure that the query reads out all sequences at once?Thanks a lot for your help.

author: tautech
author_rank: Super Contributor
timestamp: January 20, 2022, 06:31:52 am
content: Welcome to the forum.Sorry this is above my capability however I wanted to ask if you have the latest firmware version installed ?You can find it here:https://int.siglent.com/download/firmwares/?ProId=59With luck one of the chaps experienced with these scopes will help however I'll drop a link to your request to Siglent support and they should come back with something in a day or so.

author: salsaDip
author_rank: Newbie
timestamp: January 20, 2022, 11:10:34 am
content: Thanks for your reply!Indeed the firmware was not up to date, it was V1.3.7.0 so I updated to the latest version, V1.3.9.0. Unfortunately, I still get the same result as before.Hopefully, someone else or Siglent support knows what I am missing.

author: nctnico
author_rank: Super Contributor
timestamp: January 20, 2022, 11:42:58 am
content: Typically you'd need to tell the scope which segment you want to have and read the segments one by one. So go search for a command which deals with the segmented memory.

author: salsaDip
author_rank: Newbie
timestamp: January 20, 2022, 01:02:59 pm
content: Quote from: nctnico on January 20, 2022, 11:42:58 amReading out each segment one by one is not a problem as I can call the "HISTORy" subsystem commands to do this. However, this is very slow. For my application, the tests I am running have many iterations so reading the segments out one by one makes the test running time very large. In order to reduce the dead time between the readouts, it is quicker to read out all the segments stored in the buffer at once, which is what I am trying to do.

author: tautech
author_rank: Super Contributor
timestamp: January 20, 2022, 01:54:24 pm
content: Quote from: salsaDip on January 20, 2022, 11:10:34 amTheir reply:We are developing a command(a command return all the sequence data), but I do not have the finish time at the moment.The customer can read the current frame data. so I advise the customer open the history mode and loop to read the waveform data by the 'WAV:DATA?'. The sequence frame data store to history frame one by one.

author: salsaDip
author_rank: Newbie
timestamp: January 20, 2022, 03:12:10 pm
content: Quote from: tautech on January 20, 2022, 01:54:24 pmThanks. This is very useful and good to know I wasn't missing anything trivial.Quote from: tautech on January 20, 2022, 01:54:24 pmAs mentioned above, this method will be quite slow for my application. I guess I will have to wait for the command to be developed; hopefully, it won't take too long.