I have the PicoScope 4444 and I am running the 64 bit version of Matlab 2015b with the instrument control toolbox. I think I installed all the required software, including the matlab instrument driver and the support toolbox. I am running Windows 8.1.
When I run the PS4000A_ID_Block_Example or other example scripts Matlab seems to be able to initiate communication with the picoscope but I then get the following error:
Setting Device Parameters...
Default Channel Setup:-
-----------------------
Channel A:-
Enabled: True
Coupling: DC
Range: 5V
Analog Offset: 0.0V
Error using icdevice/connect (line 112)
An error occurred while executing the driver connect code.
ps4000aSetChannel:- Status code: 343. Please refer to the PicoStatus.m file.
If this error is not an instrument error, use MIDEDIT to inspect the driver.
Error in PS4000A_ID_Block_Example (line 76)
connect(ps4000aDeviceObj);
The red LED on the front panel also turns off, and when I open the Picoscope 6 software I get a message saying that no devices are connected. Unplugging the USB cable and plugging it into a different port doesn't help; the only way I can get the computer to communicate with the scope again is by restarting the computer. Any ideas on what might be causing the problem?
Hello. Thanks for your reply. I downloaded the SDK and the Matlab support tools from your link and I still get the same error. Matlab is able to initiate communications with the picoscope driver but the line "connect(ps4000aDeviceObj)" crashes the scope; the LED on the front panel goes off and neither Matlab nor the Picoscope program can communicate with the scope until the computer is rebooted.
I have Picoconnect 422 differential probes on all four channels. I was able to download the SDK and tried running PS4000A_ID_Block_Example and PS4000A_ID_Streaming_Example. Both scripts failed at line 112 in icdevice/connect.
There is an updated picotech_ps4000a_generic.mdd file (v1.2.15) available via File Exchange.
Please update to this and let us know if it resolves the issue. It will display a warning if it detects the status code, but all you need to do is invoke the ps4000aSetChannel() function with the correct enum for the PicoConnect 442 range.
Enums are loaded into the workspace when the PS4000aConfig file is run and you can access them via the ps4000aEnuminfo.enPicoConnectProbeRange struct:
If you are still experiencing issues after this, please post back with the output from calling connect() and we will investigate further.
Edit: There is a new version after an issue was fixed as a result of testing. Please note that the getBlockData() and getRapidBlockData() functions will not work with the Current clamps and high voltage probes. This is in the process of being addressed. In the meantime, you can use the ps4000aSetDataBuffer() and ps4000aGetValues() functions from the Instrument Driver. You will need to scale the data manually (the adc2mv() function from the PicoScope Support Toolbox will help with this).
Hello. I finally got around to using the picoscope again last week and wanted to let you know that the last round of updates to the drivers solved the Matlab issues for me.