LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Keithley USB executable is serial number specific?

Solved!
Go to solution

I have a pretty simple VI that communicates to a USB Keithley DMM.  I have turned it into an executable for internal distribution but when I try to use the VI with a different DMM it does not work.  The only way I can get it to work is to manually change the serial number, save it, and make a new executable.  Is there a way to have LabVIEW recgonize any DMM regardless of the serial number?

0 Kudos
Message 1 of 11
(3,839 Views)

Without seeing your code we can only guess...

 

Chances are the Keithley "Initialize.vi" has an option for ID Check.

 

Try turning that off in your source code. 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 2 of 11
(3,821 Views)

I have attached the 2 sub VI's that to the setup and read.  I appreciate any help, thanks.

Download All
0 Kudos
Message 3 of 11
(3,801 Views)

I notice a lot of numbers in your VISA Resource Name.  Are any of those numbers (such as 1242308) Serial Numbers of your Device?  If so, you need to interrogate something to get that number, then use it to build the VISA Resource Name as appropriate.

 

Bob Schor

0 Kudos
Message 4 of 11
(3,797 Views)

Yes 1242308 is the SN.  2100 is the model Keithly I believe.  Not sure about the rest.  I guess I dont understand what you mean, because I wont know the SN of any potential device that the VI might see

0 Kudos
Message 5 of 11
(3,792 Views)
Solution
Accepted by topic author Jmc006

If the serial number is in your VISA resource name then that is your problem.

 

Why not use a VISA alias for the VISA resource?

 

Then on the target machine you just use MAX (NI Measurment and Automation eXplorer) to set the VISA alias to match.

========================
=== Engineer Ambiguously ===
========================
Message 6 of 11
(3,788 Views)

You can try something like this. Use a VISA FInd Resource, load up the results in a combo box, then have the user choose the appropriate device. I pulled this snippet out of a larger program. I don't know if it will work as-is, but you get the point of what to do.

 

 

 

Choose VISA Resource.png

0 Kudos
Message 7 of 11
(3,785 Views)

So you can use Jamiva's suggestion to enumerate all of the VISA resources, look for which one has 2100 as part of the name, and use that VISA resource, which will already have the serial number of the device that is plugged in.  No need to ask the user to choose the device -- just choose the Keithley (based on the model number, 2100).

 

Bob Schor

0 Kudos
Message 8 of 11
(3,739 Views)
First off thanks for all the responses. Here is where I'm at. I changed my program to look for "dmm2100" and then changed my Visa name to the same in Max for the device. Everything works fine. I then switch dmm's and then try name the new device that same exact visa name and it says there is a conflict, even though the first device is gone. What am I missing? Is there an easier way to do this?
0 Kudos
Message 9 of 11
(3,707 Views)

Any removed devices still have their saved aliases hidden and reserved, in case they get plugged in again.  

 

See this article on how to delete them

 

As for finding it dynamically, try this:

 

Find a Keithley.png

 

That should search for any Keithley serial number, but only that model and only when connected via USB.

Message 10 of 11
(3,696 Views)