Hello, i tried to exchange a working PXI NI DMM with an Agilent 34980 by only changing the logical name in my code. Now i get -1074134949 = "File not found" when executing the Init function.
Both instruments are compatible to iviDmm 4.1 and IviDriver 1.0.
Setup is: Windows 7 64bit IVI Compliance package 15.0 NI MAX 16.0.0.f0 niDMM Ag34980 ivi driver
What is the problem in this setup?
Answer by ToMa · Apr 12 at 01:51 PM
Do i see it correct that the "application" is my compiler that creates the DLL?
So i have a 32bit-dll.
But what if i call this 32-bit dll in another 64bit-program (like NI TestStand).
Will it work or do i have to use everything in 32-bit?
Edit: Meanwhile i found the problem and also the 34980 is working with the same code a the NI-DMM. So init is returning now 0.
The problem was a defect module that reported a selftest error when turning instrument on. And somehow the ivi driver didnt like this. After removing the defect module it worked at once.
Answer by Vesna Jadric · Apr 10 at 02:25 PM
The logical name should not change in your code. You should use the same logical name, but it should now point to the Agilent 34980 driver session in MAX. However, Keysight's web site indicates that only the 34980 IVI-COM driver is IviDmm 4.1 compliant, so you won't be able to interchange the NI-DMM driver, which is IVI-C, with Agilent 34980. agilent-34980a.png
Answer by Alan Copeland · Apr 12 at 01:38 PM
Good catch @ToMa. You should install the 64-bit driver. It will install .dll's for 32-bit applications and 64-bit applications. Then, yous should run your application as 32-bit/x86 to use those adapters. If your application has to be a native 64-bit application, then it won't work.
Answer by ToMa · Apr 11 at 01:21 PM
I also reinstalled 34980-driver (64bit for my 64bit Windows7) but its not working.
After re-addding the LAN connected 34980 in MAX i suddenly get errorcode -1074118653 = Unknown status code.
So both errorcodes are not helpful to find the problem. I am using the function "IviDmm_error_message" to get the message for a given statuscode.
What can i try next to make this running?
How can i see that the "IVI-C to IVI-COM adapter" is installed?
Answer by ToMa · Apr 12 at 10:22 AM
This link says that the "The COM adapters only work with 32-bit applications and 32-bit IVI-COM drivers." Is it possible that this is the problem because my windows is 64bit?
The 34980A (IVI-COM) has 32 and 64bit installed.
But how do i know which one is used?
Edit: When i rename the \Bin\Ag34980A.dll to *.old then the errorcode changes to -107413700. This does not happen when renaming the Ag34980A_64.dll. So the used DLL should be correct.