LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

IVI drivers to simulate instruments - 34980A/34921A mux

I want to know if there is a way to simulate a 3rd party instrument using MAX and IVI drivers. I would like to simulate the Agilent N34980A unit having the 34921A mux cards inorder to build some VI libraries before I actually receive the instument delivery. 

 

I downloaded some LabVIEW drivers from Agilent's website but could not find the IVI drivers. It would be great if I could emulate this unit though MAX and use the drivers to control this instrument.

 

Regards,

PKI

0 Kudos
Message 1 of 12
(5,965 Views)

Hi PKI,

 

The best place to look for LabVIEW compatible drivers is the Instrument Driver Network found at ni.com/idnet, however it looks like the URL for the driver of this device is not available. 

 

Agilent does have VISA based VIs available for communicating with the Agilent N34980A with a 34921A module at the page titled 34980A Multifunction Switch/Measure Mainframe LabVIEW Instrument Drivers

VISA based VIs are the easiest to develop with because the interfaces are already in VI form, but unfortunately you cannot simulate VISA based devices.

 

It also looks like Agilent has IVI-COM and IVI-C drivers available on the page titled 34980A Multifunction Switch/Measure Mainframe and Modules IVI Instrument Drivers and instructions for interfacing with these type of IVI drivers can be found in the Knowledge Base article Using an IVI-COM Instrument Driver in LabVIEW

 


Milan
0 Kudos
Message 2 of 12
(5,944 Views)

Hi Milan,

 

Thanks for replying. Yes, I had downloaded the LabVIEW and IVI drivers.

I want to know the step-by-step process to configure the IVI-C for the 34921A modules using NI MAX. Also, after configuring in MAX, what VIs should be run if I would like to see an emulated screen of this instrument in order to control it using my visa instrument specific Labview driver.

 

Regards,

PKI

0 Kudos
Message 3 of 12
(5,933 Views)

Hi PKI,

 

The IVI driver interface and the VISA driver interface are two different sets of drivers and methods of communicating with a device. Both methods of communication should not be used at the sametime with a device.

 

The benefit of the VISA driver is that the interface is simple (you can open the VIs and see the exact commands being sent) and there are more tools that can be used to debug problems (such as NI I/O Trace, etc). However, VISA based drivers do not have built-in functionality for simulating a device. 

 

The benefit of IVI based drivers is that the IVI Class can be used to simulate the device. The cons are that the interface is usually not as simple and debugging can be more difficult.

 

A step-by-step tutorial for configuring IVI drivers in MAX can be found in the Developer Zone article Using Measurement & Automation Explorer to Configure Your IVI System and a description of the steps required in LabVIEW to use IVI drivers can be found in the Developer Zone article Getting Started Using National Instruments IVI with LabVIEW or LabWindows/CVI.

 

A description of VISA commands and how they can be used at a low level in LabVIEW is available in the Developer Zone article NI-VISA Overview and if you look in the LabVIEW VISA interface driver VIs from Agilent mentioned in the previous post you can see how fundamentally they use the low level VISA commands.

 

I hope that clears things up a little bit and helps you get started on your application.


Milan
0 Kudos
Message 4 of 12
(5,918 Views)

Hi Milan,

 

Thanks for the links. At this point, I want to learn to simulate my 34980A mux unit using its IVI drivers. Please see the attached files.

I have my MAX setup as in the attached doc. Now when I run the Iviswtch - Path Operation Test.vi from Find Examples folder, I get an error saying "File Not Found". Not sure what file it is looking for. When I dig into the Initialize vi, the option string seems to have "Simulate=0,RangeCheck=1,QueryInstrStatus=0,Cache=1" in it. Shouldn't this be Simulate=1? 

Do I need to also specify anything under driver setup in MAX's Driver Session->General tab like "Simulate=1,RangeCheck=1,QueryInstrStatus=0,Cache=1" ?

 

Thanks,

PKI

0 Kudos
Message 5 of 12
(5,900 Views)

If I select the Software Module under MAX->DriverSession->ag34980A to be "sampleSwitch" instead of IviSwtch, I get past the Initialization error mentioned in the above post.

But now after running the main VI and clicking Execute button, I get the "Unknown Channel or Repeated capability name" error (attached).

 

1. Should I select IviSwtch or sampleSwitch as my Software Module? (I am trying to simulate Agilent's 34980A mux unit)

2. Are there any further configurations needed in MAX such as any entry under the Virtual Names tab under "Driver Sessions" OR Physical Names tab under MAX->IVI Drivers->Advanced->Instrument Driver Software Modules?

 

If possible, could you please try it at your end and attach screenshots? Appreciate all the help.

 

Thanks,

PKI

0 Kudos
Message 6 of 12
(5,897 Views)

Hi PKI,

 

I was able to get the Iviswtch - Path Operation Test.vi to run withouot any error. Here is what I did after I installed the driver:

 

1. In MAX I had to create a New Driver Session by right clicking "Driver Sessions" and clicking "create new". (You may not have to do this as you may already have one configured).

 

2. In the software tab of my New Driver Session I selected Ag34980a as the software module as seen below:


IVI_Capture.JPG

 

3. I then went to the "General" tab of the New Driver Session and set the "Simulate With" option to "Specific Driver":


IVI_Capture2.JPG

 

4. After this, I needed to create a New Logical Name by right-clicking on Logical Names and then clicking "Create New"  (Again, you may not need to do this if you already have a Logical Name configured)

 

5. I then mapped my New Logical Name to to my Driver Session as seen below:


IVI_Capture3.JPG

 

6. Lastly, in the VI, I then enter the Logical Name I just configured and ran the VI.  When I do this I don't get any errors:

 

IVI_Capture5.JPG

 

Hopefully, this will solve the problem for you.  Let me know whether or not this works!

 

Regards,

Hassan A

 


Regards,

Hassan Atassi
Senior Group Manager, Digital Support
0 Kudos
Message 7 of 12
(5,836 Views)

While I do not have any experience with IVI drivers, in fact I tend to avoid them like the plague Smiley Frustrated

 

But I do have a lot of experience with the Agilent 34980 and it's various modules, including the MUX.

 

The 34980 is our engineering workhorse, we probably have 40 of them in the lab and use them in our production ATE systems

 

What are you attempting to acomplish? I might be able to point you in the right direction.

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 8 of 12
(5,828 Views)

Thanks RTSLVU. At this point, I still don't have the hardware with me and so, using the IVI drivers, I am hoping to simulate the hardware to build libraries that would save me coding time after the hardware arrives.

I will post questions relating to 34980A here when I run into issues once I start testing my code on the H/W.

FYI: With the 34980A having 34921A muxes and the inbuilt DMM, I am wanting to build LabVIEW vis to switch the mux contacts for different signal path connections, make LCR or voltage/current measurements using the DMM etc.  I am still in the process of learning the exact way of specifying such connections in the 34980A.  

 

For instance, I have attached a VI snippet to make a connection + measurement. Do you see anything wrong with the code? Is that the correct way of specifying the channel list (5002,5911)? Does empty channel list in configure "" mean DMM selected?

 

Any help much appreciated,

PKI

0 Kudos
Message 9 of 12
(5,823 Views)

Thanks Hassan. I had the same MAX settings but my issues is/was that the NewLogicalName doesnot get populated when I open IviSwitch Path Operation Test.vi,. So, I just hand typed it and it did not throw any error. However, when I try to run the vi and slide the action to "Connect" and click on Execute, I get the error

"Path Unsupported: The instrument is not capable of creating a path between the two channels ".

 

Similarly when I select Disconnect and click execute, I get

"Error -1074126840 occurred at IviSwtch IVI Error Converter.vi Possible reason(s): Agilent34980A: No explicit path exists between the two channels. 

Complete call chain: IviSwtch IVI Error Converter.vi

IviSwtch Disconnect Channels.vi 

IviSwtch - Path Operations.vi 

IviSwtch - Path Operation Test.vi"

 

For Disconnect All and Get Path, I dont get any error. So are the above two errors because I dont have the actual hardware?

 

Please suggest. 

Thanks for replying,

PKI

 

0 Kudos
Message 10 of 12
(5,816 Views)