04-11-2016 10:11 PM
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:
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!
04-12-2016 01:43 PM - edited 04-12-2016 01:59 PM
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.
Here is a start using the Keysight driver vis:
04-12-2016 06:49 PM
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