We recently got a picoscope 3405DMSO and I downloaded the labview vi's off the pico website. I am specifically using the PicoScope3000aExampleRapidBlockBulk.vi. I attached a screen shot of the front panel.
I was wondering if someone could explain to me what the timebase number means? I tried relating the waveform generated from the labview vi to the waveform generated by the Picoscope executable (posted below) made for windows and I couldn't make any sense of it.
Also, and perhaps this is related to the timebase, the picoscope executable recorded 540 samples within a 50 ns window while the labview vi only recorded the number specified in the "posttriggersamples". However, when I increased the posttriggersamples (see below) it added more points and also increased the time scale. Is there a way to increase the number of points while maintaining the same time scale? I tried decreasing the timebase but that didnt help.
The timebase number, is relates to the sample interval for the exact model picoscope being using.
Information related to can be found in the programmers guides, normally under the timebase section.
For 3405DMSO see page 8 of https://www.picotech.com/download/manua ... sGuide.pdf
The timebase calculations are normally a formula apart from the first few timebase values starting at '0' are different.
The other way to get the sample interval in your code is call ps3000aGetTimebase function. Most of our drivers have ps3000aGetTimebase type function.
Picoscope 6 software chooses the timebase number based on the time/division selected. Also in picoscope you can request the number samples.
This is the same as setting the number of pre and post trigger sample using the driver in labview.
In picoscope you can view the actual sample interval and samples captured by opening the view properties panel. ('view' menu - view properties)
View properties
The graphs used in our labview examples is 'Waveform Graph' type. The waveform graph plots points evenly distributed along the x-axis.
You would need to create your own vi to setup something similar to the way picoscope has a time/division setting and graph output.
Picoscope software uses downsampling to reduce all the samples being downloaded for each capture. As you normally don't need all the data points to draw the shape of the waveform.
Picoscope software only request all the data points if you save the data to file or zoom in on a area of the waveform. The downsample mode that picoscope uses is aggregated.
See- https://www.picotech.com/library/oscill ... aming-mode under the Aggregation section at the bottom of the page.
Thanks for your strong support and good information
I have question about the get time base... sorry not familiar with the API programming i create the get time base vi as per attached
but how to use is refer to Programming with the 16 PicoScope 5000 Series pg 16 :
2.9 Timebases
The API allows you to select any of 232 different timebases based on a maximum
sampling rate of 1 GHz. The timebases allow slow enough sampling in block mode to
overlap the streaming sample intervals, so that you can make a smooth transition
between block mode and streaming mode.
The range of timebase values is divided into two subranges, with the subrange 0 to 2
specifying a power of 2, and the subrange greater than 2 specifying a number divided
by 125,000,000. The maximum value is 232–1.
timebase sample interval
0 to 2 2timebase / 1,000,000,000
That is: -
0 => 1 ns
1 => 2 ns
2 => 4 ns
> 2 (timebase - 2) / 125,000,000
For example: -
3 => 8 ns
4 => 16 ns
5 => 24 ns
...
232-1 => ~34 s
Applicability Use ps5000GetTimebase 25 API call.
Can you give an advise on using the get time base API programming ... where should i put the API programming? after the run block or before the run block right after( refer attachment)
is it possible to give an example... still not get the basic idea on how to use the get time base API?
The ps5000aGetTimebase2 function is best called after the channel settings functions (ps5000aSetChannel) and any memory segmentation if used.
I have created a vi to display the sample interval and maximum number of samples that can be requested. These are from the ps5000aGetTimebase2 function.
I have also added an input for the memory segment used, if more than one is to be used. Our labview block examples currently don't segment the memory, ie there is only one segment indexed.
I have also added a input for the actual number of samples returned from ps5000aGetValues (noOfSamples), this can be fed back to this new vi.
I have attached a new ps5000a block example using the vi.
I have already convert the vi to labview2014 version
I have question some question about the basic conversion... convert samples into time.. refer on attachment pretrigger sample=250, post trigger sample=30,000 with time base= 20
so to get the time interval between sample in labview..so take sample rate=27,500/s (assuming in labview window),
time interval sample =1/27500= 36.36 microsecond... is this the correct method of calculation?
in the example New Properties Panel attachment.. how the computation get the value of 1 micro second with number of sample =1024 ? with what sampling rate?
1)From your explanation, it is by default in labview(example block vi) sampling rate(Hz) is in 1Mhz? so similarly i can take 1 nanosecond as my time interval
2) In the 5000a example block change, did you make any change to picoscope5000aget block vi?(refer attachment)
what data is pass to feedback point from picoscope5000aget block vi? is it overflow or handle out?
Thanks in advance..
Attachments
get block to feedback
get block to feedback.png (7.88 KiB) Viewed 16363 times
You cannot request a sample interval (sec)from the scope, you can only set a timebase number.
See the timebase section of the programmers guide, which has the formula, for the model of scope you are using.
The input being fed back is the actual number of samples returned from ps5000aGetValues function (noOfSamples)
So you need to add this indicator to the Picoscope5000aBlock.vi