LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview not reading Keysight source measuring unit VISA address

Hello

I have recently purchased an Agilent B2901A source measuring unit for measuring IV curves of solar cells in my PhD lab. With this purchase came a CD with a sample Labview program that should be able to sweep and measure IV curves. I understand there is a bit of a process to get Labview (NI) to work with Keysight hardware.
I've been following instructions I've found online particularly the application note : "Tips on Using Keysight GPIB Solutions in National Instruments Labview Environment" I've become stuck because I'm connecting my B2901A to my laptop via USB NOT GPIB.

So far:

  • When I installed Keysight IO libraries - 32 Bit Keysight VISA set as secondary VISA
  • Keysight IO was installed from the latest version 'Keysight Instrument Control Bundle_2.2016.exe'
  • In NI MAX (Version 14) I've enabled in NI VISA options -> passports NiVisaTulip.dll
  • I'm able to see the device in NI MAX under devices and interfaces - It has the VISA resource name - USB0::0x0957::0x8B18::MY51141332::INSTR
  • I'm able to see the B2901A in Keysights Connection Expert and it has the VISA address - USB0::0x0957::0x8B18::MY51141332::0::INSTR Which is slightly different from the NI MAX address.


The Labview program is asking for the VISA connect string and then giving various errors depending if I put " " around the VISA resource name. I've tried entering the two different VISA addresses above- both with " " around the address and without and am getting same error:

Error -1073807343 occurred at Property Node (arg 1) in QueryIDN.vi->Main.vi
VISA: (Hex 0xBFFF0011) Insufficient location information or the device or resource is not present in the system.

In the application note it states that with both Keysight and NI GPIB controllers in the system that the controllers must be configured with different interface names or there is some conflict. I can't manage to change the USB interface name with the latest version of Keysight Connection Expert. I think I have to change it from USB0 to USB1 but I'm not sure how or if it will work.


System Summary
Labview 2014 Version 14.0
Keysight Connection Expert 17.2.20605.2
Agilent B2901 A SMU

HP Laptop with Windows 7 enterprise -Service Pack 1

I don't have a GPIB Cable

 

 

Any help is much appreciated!

Download All
0 Kudos
Message 1 of 3
(4,686 Views)

If you can see it in NI MAX (which it appears that you can), you should not need to do any more modifications in order to talk to it.  IE You should be able to see the "USB::etc" in the VISA Connect string control.

 

Have you downloaded the pre-made Keysight vi's for that SMU: http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=A8B329BA90D61265E0440021287E6A...

 

Looking at your code, it appears that you are trying to make your own vi's.  It will be a LOT faster to use the vi's above.

 

Also, since LabVIEW is by-wire, you can get rid of the flat sequence structure.  As long as you wire the error cluster from left to right (as you have), the code will execute from left to right.  You can also wire the VISA Connect string to each VI, no need to use the Local Variable. 

 

IF you look at your Query ID vi, you are not opening a connection to the instrument.  You need to do that first before you set the timeout.

 

The top code is from the Keysight Initialize.vi for your instrument, the bottom is your ID Query vi.

 

Capture.PNG

 

Here is a start using the Keysight driver vis:

 

Capture2.PNG

Kenny

0 Kudos
Message 2 of 3
(4,626 Views)

Hi Kenny

 

Thanks for taking the time to reply.  Actually the code is not mine it was provided with the SMU. I'm not too familiar with Labview programming so it will take me some time to have a closer look at your suggestions. 

 

Thanks

0 Kudos
Message 3 of 3
(4,599 Views)