Streaming Multiple PicoScope4424's into LabVIEW?

Post your LabVIEW discussions here
Post Reply
jbrenem
Newbie
Posts: 0
Joined: Sat May 04, 2013 1:14 am

Streaming Multiple PicoScope4424's into LabVIEW?

Post by jbrenem »

I’ve been able to successfully stream data at 1Ms/s into LabVIEW from a PicoScope4424 using the 10.5.0.11 version of the SDK, along with the additional ps4000wrap.dll from the support forums. However, I’m unable to stream from two PicoScopes simultaneously.

I’ve created a duplicate of the PicoScope4000ExampleStreaming.vi from the SDK examples, so I can run two instances side by side (one for each of my PicoScopes). The instances successfully identify both PicoScopes, but when I start the second instance both instances begin to drop frames. I also note that neither of the instances return data of -32768, which should indicate dropped samples. I’ve attached a screenshot from one of the instances to illustrate the waveform I’m receiving.

Is streaming from multiple PicoScopes into LabVIEW not supported?
Attachments
PicoScopeDroppedSamples.jpg

Hitesh

Re: Streaming Multiple PicoScope4424's into LabVIEW?

Post by Hitesh »

Hi,

It should be possible to stream from multiple PicoScopes using LabVIEW. It's possible that the interruption is a result of overheads associated with LabVIEW.

I would suggest the following:
  • Have a single vi to capture data from both scopes - you should be able to replicate the block structure and pass the correct handle value.
  • In the PicoScope4000GetStreamingValues.vi (PS4000 Get Str block), please ensure that the function calls to are set to execute in any thread rather than the UI thread.
  • It appears that the loop in the vi may require modification - please move the ps4000GetStreamingLatestValues() function call and PicoStatus block to before the loop where IsReady() function is called.
If this does not resolve your issue, please post your vi or via reply to the e-mail sent from our Helpdesk.

Regards,

jbrenem
Newbie
Posts: 0
Joined: Sat May 04, 2013 1:14 am

Re: Streaming Multiple PicoScope4424's into LabVIEW?

Post by jbrenem »

Hi Hitesh,
Thank you for your reply. Unfortunately I have not solved the problem yet:

1) Moving the ps4000GetStreamingLatestValues() function outside of the polling loop in the PS4000GetStreamingValues.vi caused the LabVIEW code to hang (IsReady() never returns true).
2) Duplicating the block structure and calling the PS4000 Get Str functions from outside the UI thread doesn't solve the dropped data problem.

I've attached a screenshot of my dual picoscope code running with a sine wave input to both devices. The top device intermittently returns zero values:
DualPicoStreamingError.png
I've also attached a copy of my top level vi and my modified version of the PicoScope4000.llb which contains my version of the PS4000 Get Str block.
Attachments
DualPicoScope4000ExampleStreaming_LV8.6.zip
(78.28 KiB) Downloaded 460 times

Hitesh

Re: Streaming Multiple PicoScope4424's into LabVIEW?

Post by Hitesh »

Hi,

What is the frequency of the input sine wave you are testing with?

I've tested your example vi with a 1Hz sine wave (+/- 1V on the inputs), using the PicoScope4000.llb from the current SDK.

The PicoIpp.dll and ps4000.dll files were taken from the install directory of PicoScope 6.7.21 - I am not observing any issues with this. I have also used a powered USB hub with the two devices connected through that to the PC.

There have been some fixes in the PicoScope 4000 driver, which will appear in the next version of the SDK.

Hope this helps.

Post Reply