LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Performing the same action on many different instruments

Hello,

I want to make a LabVIEW application that, e.g. performs a voltage acquisition by connected multimeter. It seems like an easy thing to do, but here's the catch: I assume that user has many different multimeters plugged into the computer that runs this app and wants to choose only one of them, e.g. user has Keithley multimeter, Tektronix multimeter and Keysight multimeter plugged in (all with different SCPI Commands for requesting a measurement result) and wants to use Kiethley one. I can do this by using Case structure and wire a proper SCPI Commands to VISA Write for every kind of multimeter, user can choose, but I want to make something much more universal.

I want to create some sort of 'driver' for every multimeter, that is stored in a physical file (library, data file, doesn't matter), and have some sort of code structure inside the main application, that can take the function, e.g. request to get voltage from multimeter, from the file associated with the multimeter user have chosen.

 

In conclusion, what I'm asking is: what code structure should I use and what should the 'driver' file look like? The multimeter here is just an example. In my upcoming project I want to use many different instruments, and have an application that will let me add another instruments in the future by creating another 'driver' file instead of changing application block diagram.

Thanks for all the ideas 🙂

0 Kudos
Message 1 of 3
(2,081 Views)

It seems to me that you are talking about a Hardware Abstraction Layer.

 

You can learn about HALs using this link, this one, or many others you can find on ni.com.

Marc Dubois
0 Kudos
Message 2 of 3
(2,068 Views)

Thank you, it seems like this is what I was looking for. I will look into this topic and see if it works for me.

0 Kudos
Message 3 of 3
(2,051 Views)