ps3000 RapidBlock and GetValuesOverlappedBulk

Post your .Net discussions here
Post Reply
hyxyzzh
Newbie
Posts: 0
Joined: Wed May 29, 2019 8:04 am

ps3000 RapidBlock and GetValuesOverlappedBulk

Post by hyxyzzh » Wed May 29, 2019 8:13 am

I want to use Rapid block mode to collect data, 1000 waveforms at a time. But it takes 400 milliseconds to transmit. I wanted to minimize the dead time, so I used GetValuesOverlappedBulk, but found that the data in the buffer did not change.

Martyn
Site Admin
Site Admin
Posts: 3724
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: ps3000 RapidBlock and GetValuesOverlappedBulk

Post by Martyn » Tue Jul 16, 2019 7:21 am

We would need to see your code and setup to understand the timing. Rapid Block Mode will allow you to collect multiple blocks of data to the devices memory with the minimum rearm time. However it will still take a finite time to download this data to the PC once the collection is complete, if you let us know the number of channels, number of samples per segment, and number of segments we can check if 400msecs is expected or not.
Martyn
Technical Support Manager

hyxyzzh
Newbie
Posts: 0
Joined: Wed May 29, 2019 8:04 am

Re: ps3000 RapidBlock and GetValuesOverlappedBulk

Post by hyxyzzh » Thu Oct 17, 2019 1:36 am

sampling rate:62.5M/s (timeline:3)
sampling length:10000
rapid capture count:400
channal:channalA,channalB
trigger:external(one pulse signal every 1 millisecond)

After sampling, it takes a long time to transfer data to PC. I expect that the next sampling can be carried out immediately during the transmission. Can you do that? What should I do?

hyxyzzh
Newbie
Posts: 0
Joined: Wed May 29, 2019 8:04 am

Re: ps3000 RapidBlock and GetValuesOverlappedBulk

Post by hyxyzzh » Thu Oct 17, 2019 3:06 am

Hi,Martyn .
I'm sorry,my english is not good.

I use Pico 3205d, which I use to capture the sensing signal of the device.External trigger is adopted, once pulse signal occurs every 1 millisecond.
channels: ChannelA and channelb
timeline: 3 (sampling rate: 62.5m)
SetNoOfRapidCaptures (_handle, 400)
Memorysegments (_handle, 400, out var maxsamples)
samples length: 10000
buffer length: 10000

My expected process is as follows:
1. call ps3000arunblock to collect 400 waveforms (each waveform contains 10000 samples).
2. transfer data to PC after acquisition (the time consumed in this process should be very short or it can be asynchronously collected and transferred at the same time for the next acquisition to shorten the dead time)
3. cycle steps 1 and 2 (time between acquisitions)

What should I do?

bennog
Advanced User
Advanced User
Posts: 59
Joined: Mon Nov 26, 2012 9:16 am
Location: Netherlands

Re: ps3000 RapidBlock and GetValuesOverlappedBulk

Post by bennog » Thu Oct 17, 2019 5:49 am

If you want everything you can go streaming mode (max 125MS/sec) for 2 channels that will be 62.5 MS/sec.
You will need to do the trigger detection in software and not in the thread collecting the data from the scope.
The process needs to be fast enough to analyse the 250MB of data every second.
And you are on the limit of the scope capability's.

Benno

Post Reply