Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Ivi.Visa.Interop seems to choose "wrong" VISA implementation

I have both NI and Agilent VISA installed on my laptop, with NI-VISA being installed as primary VISA.

When I run a C-based application, the NI-VISA implementation is used as expected.

However, when I run a managed application which references Ivi.Visa.Interop.dll, it turns out that the Agilent implementation is used, although it's installed as secondary VISA.

If I uninstall the Agilent IO Suite, Ivi.Visa.Interop.dll goes for the NI implementation.

 

Anybody out there who knows why or - even better - what the strategy is to select a certain VISA implementation if referencing Ivi.Visa.Interop.dll ?

Thanks for reading this and even more, for giving a relevant answer ... Smiley Wink

0 Kudos
Message 1 of 4
(5,310 Views)

Frans,

 

The latest version of the full NI-VISA installs a newer MAX. Under Tools/VISA Options there is a place to select which vendors resource manager gets called.

 

0 Kudos
Message 2 of 4
(5,281 Views)

Dear John,

thanks for pointing this out.

 

As a matter of fact I did install the latest version of NI-VISA on my laptop during the weekend.

 

Do you know if the configuration of the Conflict Manager has impact on the selection of the C-VISA DLL too ? Since I installed the latest version of NI-VISA (and the Agilent IO Suite), I noticed that depending on the I/O hardware (NI PCMCIA-GPIB or Agilent USB-GPIB), another C-VISA DLL is used, even when I installed NI-VISA as primary VISA.

 

Do you know if there is a standardized location (used both by NI and Agilent) where the settings of the Conflict Manager are stored ?

 

Thanks again.

Frans.

0 Kudos
Message 3 of 4
(5,273 Views)

Frans,

 

I am not sure which C Dll you are on about. As far as I understand it when NI-VISA is primary the visa32.dll belongs to NI and when Agilent is secondary their visa dll is agvisa32.dll. Obviously if Agilent is primary then the visa32.dll belongs to Agilent.

 

With NI as primary (visa32.dll) then what are called passport drivers get loaded to support the hardware. For the NI-PCMCIA-GPIB then the passport NiVi488.dll gets loaded. For the Agilent GPIB hardware the NiViTulip.dll gets loaded.

 

As for where there conflict managers settings get stored I don't know. I would assume NI and Agilent have different ways to handle this.

 

0 Kudos
Message 4 of 4
(5,262 Views)