I tried to change the name of the PXI-4071 to "DMM" which worked but when I try to run the "Self-test" or open the Soft Panel it always fails. This is also true if I pass the new name to the ivi driver. Returning the name back to "PXI-4071" makes everything work again. Note I was able to change the name of our PXI-2530B to "SWITCH" and the name of our PXIe-6363 to "MIO" and I could pass these names to their IVI drivers and they would work.
I've messed with VISA alias, IVI logical names but nothing works unless it is called "PXI-4071"
Solved! Go to Solution.
Apologies everything isn't working as expected. The second half of your post could involve IVI configuration, but I'll forego diagnosis of any IVI-related setup issues until we resolve the first half, which in short is "After renaming a 4071 in my system to anything but 'PXI-4071', said DMM returns an error when I attempt to access it via the soft front panel or through self test." I want to focus here first because these calls should access the DMM through the NI-DMM API, without calling the outer IVI layer.
Can you let us know which version of DMM you have installed on your system?
What error code do you receive when attempting to access 'DMM' through the soft front panel?
Can you reset 'DMM'?
Do the NI-DMM examples work when the DMM is named 'DMM'?
If you rename 'PXI-4071' to 'DMM', then close and relaunch MAX, what is the DMM called? Does a reset now work?
If you create a virtual DMM and open the soft front panel for said virtual DMM, can you then select 'DMM' from the 'Device' drop down menu?
Assuming you resolve the soft front panel issues, my first IVI advice would be to make sure the Hardware tab of the IVI driver session is pointing to the correct HW name (i.e. 'DMM' instead of 'PXI-4071').
Always here to help. Have a great day!
The following error is reported if I rename (using Max) from: 6:NI PXI-4071 "PXI-4071" to 6:NI PXI-4071 "DMM" and then run a Self-Test: "The device failed the self-test. The error report from the device driver is as follows: Error -223911 occurred at Self-Test." If I restore the original name, i.e., 6:NI PXI-4071 "PXI-4071" the self test succeeds. Actually, I've never tried anything but "DMM" so I tried "hello" and it works fine. So does "John", "MyDMM" etc. But it would be really ideal if "DMM" worked. We have such creative names for our devices like: "MIO", "SWITCH" etc.
BTW, while I can rename to other names besides "DMM" and have it work correctly in MAX, The ivi-driver still does not work with anything besides "PXI-4071". Just to re-iterate if I call it "DMM" then MAX won't complete the self-test. I can call it "Hello", "PXI-4071", "John", "MyDMM" and it works, i.e. the Self-Test completes but If I pass any string besides "PXI-4071" to NIDMM_32.dll it fails during initialization otherwise it works great.
I have some questions/troubleshooting steps for you to help us figure out what is going on:
Hopefully, once we get it working properly with the DMM soft front panel, it will work with the IVI driver.
The NI-DIMM is 3.0.4.
Oh gosh, now it works and no it wasn't because of the reset. I had tried that many times. I went back and forth between "PXI-4071", "hello", and "DMM" multiple times and when it was "DMM" the self-test didn't work and I don't think the soft-panel did either. The only thing I did that seemed to make a difference was expanding the NI_DIMM 3.0.4 software tree. And now it all works, ivi-driver, MAX everything. This is a head scratcher for sure.
That is unusual! I am glad things are working for you now, though. Let us know if you run into any other snags!
When the name is changed, where is that stored and how do the drivers know how to find it? Is it stored separately from the other instrumentation, i.e. different file? I am wondering if this was a cleanup issue. I have wrappers around the IVI stuff and most of it funnels through a single routine. This routine always calls nidimm.Dispose. Perhaps it wasn't releasing the resource where the name was defined and so wouldn't allow me to edit it. It would have to be a silent failure because I didn't see any exceptions raised when I changed the name. Note that the self-test error correctly reported the new name but couldn't use it somehow as if, it could read the correct name but somehow the driver could not and so there was a mismatch.
There can be some very odd-seeming behaviors when renaming devices and using IVI. If you change the DMM name in MAX, the IVI Driver Session will not be updated to use the new name, and you must change it manually.
Also, if you have the actual device name the same as the IVI Logical Name or the IVI Driver Session name, IVI may have difficulty determining which to use. If the device name (as shown under Devices and Interfaces) is DMM, and the IVI Logical Name is DMM, that could quite possibly cause the exact behavior which you are seeing. This can also effect Self Test on the device, as the lookup may find the IVI Logical Name before the device name, try to use it, and fail.
Additional complications can come into play if one forgets to click the Save IVI Configuration button (something which I have done many times).
In a quick test, I was able to cause Self Test to fail by naming the IVI Logical name and the device to "DMM". I received error -201427, "The specified device is not supported within the NI-DAQmx API." This is a different error than you received, but I was also using a simulated PXI-4071.
In general, it is not recommended to name the device and the Logical Name or Driver Session the same, as it can cause bad behavior. If you are always going through the IVI Driver, calling the Logical Name "DMM" should hopefully be enough.
All this said, I'm glad that it is working for you again!
Please let us know if you have any further issues.
DMMs and Power Supplies/SMUs
How do you update the IVI driver session manually?