Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

How to wrap IVI COM over IVI C?

hi,
    i am in need of using microsoft IDE  for my application.
    Since most of the instruments supports only IVI C need to know ,
    How to wrap COM over IVI C to make it compatible with Microsoft IDE's?
 
Please help me in this regards
 
Thanks in advance
Bharathi
 
0 Kudos
Message 1 of 15
(4,590 Views)
If you have NI Measurement Studio 8.x, it looks like the Instrument Driver Wizard supports to generate driver's wrapper assemblies for use with IVI-C and/or VXIpnp drivers, so that your Microsoft .NET IDE can use them through the wrapped interfaces -- C# or VB.NET wrapper assembly.
 
This past log may have a hint:
 
By the way, what Microsoft language are you using with IVI-C drivers?  If you are using "unmanaged" C/C++, all IVI-C drivers can be used without installing Measurement Studio. (Though you still need install NI IVI Compliance Package and IVI Shared Components.)
 
Message 2 of 15
(4,583 Views)
Thanks for kind reply,
We are planning to use c#.
Is NI Mesurement Studio wrapping Provides full functional IVI Driver ???
is it possible to wrap IVI -C with IVI-COM ????
 
Thanks in advance
Bharathi
0 Kudos
Message 3 of 15
(4,578 Views)
You can refer to the following document for more information about using IVI-C drivers in Visual C#:
 
 
 
Message 4 of 15
(4,554 Views)
> is it possible to wrap IVI -C with IVI-COM ????

No, the wrapper interface module (assembly) generated by NI Measurement Studio is *NOT* an IVI-COM driver.   What generated is simply a C# or VB.NET language-based wrapper.  IVI-COM driver is a COM DLL that exposes IIviDriver and other IIviXXX COM interfaces as well as model-specific interfaces such as IAgilentXXXX, by according to the IVI-COM's specifications.

Do you have any need that the driver module is a true IVI-COM?

このメッセージは 06-26-2007 10:49 AMに Makoto が編集しています。

Message 5 of 15
(4,540 Views)
Thanks for ur kind reply..
 
basically we need to integrate series of instruments together...
 
for some of the instruments IVI-COM driver is not available,These instruments exists only with IVI-C..
 
but for most of the other instruments IVI-COM exists,
 
hence we need to have a common plaftform for exposing both IVI-C and IVI-COM
 
so we planned to wrap IVI-C with IVI-COM for those instuments which doesn't have IVI-COM Driver!!!!! so that all will have common nature!!!!
 
Is there any other method Exsists to solve our Problem?????
 
thanks in advance
 
regards
Bharathi
 
 
0 Kudos
Message 6 of 15
(4,531 Views)
Bharathi,

It is important to point out that IVI-C and IVI-COM are two completely different architectures and there is no real interchangeability between them. However, they are designed to be interoperable. If you are not concerned about the interchangeability, your IVI-C and IVI-COM specific drivers can co-exist in the same system. Just out of curiosity: which of your instruments do not have IVI-C drivers?

0 Kudos
Message 7 of 15
(4,507 Views)
As gagi1 pointed out, IVI-C and IVI-COM are very different interfaces.  IVI-C provides "handle" based interfaces and IVI-COM provides COM (component object model) interfaces.  It is physically possible to wrap an existing IVI-C driver with equivalent IVI-COM interface (and vice versa too), however its work is not so easy.  You must have skill to write a COM DLL using VC++/ATL, and your COM DLL would have  to support all the required interfaces - IIviDriver, IIviDriverUtility, IIviDriverIdentity, IIviDriverOperation, ISupportErrorInfo, IProvideClassInfo2, and class interfaces IIviDmmXXX (optional if it is categorized to multimeter class), and driver-specific ones such as IAgilent34410.  Plus, your IVI-COM DLL must add register/unregister process to add/remove IVI configuration info through the IVI Configuration Server. (Without registering, NI-MAX will not recognize the driver at all !)

What instrument model is lacking the IVI-COM support?  In general, IVI drivers provided at "NI instrument driver network" are all IVI-C based, but ocasionally the instrument vendor may provide IVI-COM drivers for the same model at the vendor's download site, so it is better to look for it at the vender site.




0 Kudos
Message 8 of 15
(4,490 Views)

thanks for ur kind response

all instrument are having IVI-C Drivers!!!!1

but some of instruments are lacking in IVI-COM driver!!!!!

we palnned to use IVI-COM as a common Base for all, that's the reson...

 

thanks

bharathi

0 Kudos
Message 9 of 15
(4,481 Views)
IVI,
     If all of your instruments have IVI-C drivers, I highly recommend that you standardize on IVI-C.  Is there a compelling advantage to IVI-COM that is worth devoting your valuable time to creating IVI-COM wrappers?  If so, please explain.

     Something to also keep in mind about the IVI-C drivers from IDNET are supported by NI.  In my experience, some of the IVI-COM drivers that I have seen were not the same level of quality as the IVI-C drivers, and getting support from the driver vendor might be hit or miss.

     Is see from this post that you are using Measurement Studio.  Have you considered using CVI as your development language?  It has some great IVI tools and will give you full interchangeability.

     Here is a useful comparison of between IVI-C and IVI-COM for you to take a look at if you have time.

Cheers,

NathanT
Message 10 of 15
(4,456 Views)