Hi, I am running a program in labview which reads and analyses a signal from a picoscope 6402D. In order for my program to work, there are some preliminary adjustments I need to make to the signal. I am able to condition the signal to what I want it to look like in the picoscope 6 software, but the toolset in labview is missing some of the functions I need. Is there a way to import the settings or signal I have in the picoscope software over to labview? Thanks
There is no facility to take the settings from the PicoScope 6 software and directly apply them via the driver API functions.
I would suggest looking at the settings that you have in the PicoScope 6 software, i.e.
channel settings (range, DC coupling and offset)
number of samples
trigger settings
sampling interval (via the Properties pane)
You can then map these to the appropriate settings in the LabVIEW example, referring to the Programmer's Guide as required.
If you require further assistance with this, please send the PicoScope settings file (.pssettings) or a data file showing the actual signal and we can advise further.
Thank you, I will look through the manual and if I'm still stuck I will send those to you. One question though, I see that there was an updated SDK released in 2015, I am using an earlier ps6000.dll driver file. I've downloaded the new sdk but cannot find the "lib" subdirectory in my SDK install. Where should I look to find that? Thanks!
Upgrading the driver helped the signal considerably, but it still is not as clear in labview as I can get it in the picoscope software. Is it possible to use the bit resolution or low pass filter options from the picoscope software in labview or perhaps tweak values in the driver?
The labview code is reading a signal from a ultrasonic transducer and measuring the peak to peak time difference between the sent and reflected waves to measure distance
I've checked your settings and noticed a few differences as follows:
Channel settings:
The channel range is set to +/- 100 mV in the PicoScope 6 software
Acquisition Settings:
Your settings file shows a pre-trigger setting of 20% and 100,000 samples so you should set your pre-trigger samples to 20,000 and post-trigger to 80,000 to match this.
Timebase should be set to 0 if you need a sampling interval of 200 ps.
Enable the Four Channel Device option.
Trigger settings:
The threshold can be changed to 0 if you only need a 0 V trigger threshold (note that this is in ADC counts).
The resolution enhancement is a software feature so this is something you will need to implement. You could try using the Average Down-Sample mode with a ratio greater than 1 and see what effect this has.
Adjusting those settings did give me a more clear signal, but I am still wanting to filter it some more. I am attempting to implement the SetChannel() function as you recommended. So far I have been able to call the function in labview, but I do not understand how to set the parameter types outlined in the programming guide. I have attached a clipping of the window for more clarification. Thanks for your help,
Justice
The handle parameter should be a signed 16-bit integer and any enumeration values such as PS6000_COUPLING should be a signed or unsigned 32-bit integer. The analogue offset should be a single precision floating point number.
Hi, I have the function set up, but am having some problems with the inputs. The type and bandwidth settings I am not sure about, I have tried numerical control but I get an error from labview. For bandwidth I'm guessing I need to put the value I want in in hertz? Also, I located the function immediately after the ps6000getunitinfo function and immediately before the picostatus function. Is this correct? Thanks!
The function definition should be as shown in the example below taken from the PicoScope6000Settings.vi which you can find in the PicoScope6000.llb file referenced by the examples in the SDK.
Call Library Function Node for ps6000SetChannel function
I would suggest using the code from the llb file as it uses clusters to group the controls for a channel and pass them through to the Call Library Function node.
In terms of where to place the function call, you can do this after the call to ps6000GetUnitInfo() but after the Pico Status sub-vi which corresponds to the ps6000GetUnitInfo(). Each call to a function should have its own Pico Status sub-vi afterwards as that is used to handle any status codes returned from the driver which might indicate an error or warning.