Discussion:
difference globmgr.dll and visa32.dll ?
(too old to reply)
nyc
2006-03-30 17:40:16 UTC
Permalink
In a previous thread, Makoto suggested that I could use C:\VSIpnp\VisaCom/GlobMgr.dll.
But it looks like one can also use C:\WINNT\System32\visa32.dll
 
Can someone tell me what the difference is between these two and where I can locate more information about use of  GlobMgr.dll.
 
I come from a LabVIEW background and am just learning how to do the same things I am used to but in Visual Basic 6 environment.
 
Thanks.
Makoto
2006-03-31 01:40:12 UTC
Permalink
/WINNT/System32/visa32.dll is the legacy DLL component of the VISA Library, which is the essential part of VISA API.  Every VISA function that begins with viXXXX() is exported from the VISA32.DLL.
 
/VXIpnp/VisaCom/GlobMgr.dll is the additional VISA API engine - called VISA COM Global Resource Manager, which can be found in recent VISA versions.  As for NI-VISA, VISA COM is included since VER 2.6. 
 
Basically, VISA COM is a wrapper API for existing VISA32.DLL.  Unlike VISA32.DLL that exported C-style handle-base function set, VISA COM exports COM interfaces such as IResourceManager, IVisaSession, IGpib, etc...  The programming styles are much different, but you can use select whichever API you want depending on your preference or language-usability.  Most of recent programming language is physically possible to use whichever, however, easiness is different depending on the language.
 
As for Visual Basic 6, VISA COM is much easier to program by adding a reference to GlobMgr.DLL.  This is because the COM architecture and its API style is native to VB6.  Instead of using VISA COM, VISA32.DLL API is also possible to use by adding VISA32.BAS in your project. 
 
The benefit of VISA COM are:
1)each VISA session is now an object instance rather than ViSession handle
2)you can handle I/O errors by On Error Goto rather than checking ViStatus for each call
3)you don't have to pre-allocate string buffer before READ action
4)most of VISA attributes are now wrapped in property get/put action
.. and more.
 
Unfortunately NI-VISA does not provide any VISA COM API reference even if installing VER3.4.x, therefore the only assistance is VB6 Object Browser and Intellisense assist.  However, Agilent (Agilent IO Libs) and Kikusui (KI-VISA) provide an online help file.  I attached KI-VISA's VISA COM Help on this post, and it will help your VISA COM programming.  The programming knowledge you can get from the Help can also be applied to NI-VISA. 
 
Makoto
Kikusui Electronics Corp. / Yokohama, Japan
 


KiVisaCom.zip:
http://forums.ni.com/attachments/ni/140/16613/1/KiVisaCom.zip
Makoto
2006-04-03 16:41:44 UTC
Permalink
Sorry but I can't find what is causing to the CHM problem.  I checked several machines including virtual PCs, but every machine did correctly show the online help. 
 
The other solution is obtain Agilent VISA COM Help.  Because the Agilent site does not provide VISA COM Help alone, download and install IO Libraries Suite 14.1 then find the VISA COM help at the Start-menu/Programs shortcuts.  (If your PC already installs NI-VISA, make sure to install Agilent IO Libs to other PC to avoid VISA32.DLL conflict.)
 
<a href="http://adn.tm.agilent.com/index.cgi?CONTENT_ID=26" target="_blank">http://adn.tm.agilent.com/index.cgi?CONTENT_ID=26</a>
&nbsp;
Also I attached a PDF file, which is a copy of Gettting Started page for VB6 of our VISA COM help.
&nbsp;


getstart_vb6.pdf:
http://forums.ni.com/attachments/ni/140/16638/1/getstart_vb6.pdf
nyc
2006-04-03 16:41:46 UTC
Permalink
Hmmm. It might be the security setting on my IE6. I am going to take the file home to my PC and see if I can view it there.
In the meantime the getting started file is very helpful.

Loading...