LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Mixing Specific and Class IVI Driver Calls

Hello

 

This video describes that the mixing of IVI class drivers and IVI specific drivers is possible

https://www.youtube.com/watch?v=bPr78g7q7d4

 

This works without problems in the Developer Suite environment, but if I make a exe with the Application Builder and execute this then I get an error which means roughly translated:

 

LabView: It was started no IVI class session. You must "initialize" the class driver VI call before they can call a specific driver VI. This error can also occur if the element of the wrong IVI Class is set. the main Vi was stopped. (See Attachment in German 😉

 

 

If the assertion in the video wrong, or do I have in the creation of the Application builder something to note this get up and running?

0 Kudos
Message 1 of 14
(4,936 Views)
It's unclear whether you are getting the error on a new pc. If so, your installer should include NI-VISA, the IVI Compliance Package, MAX, the actual IVI, driver, and the exported MAX configuration from the working computer.
0 Kudos
Message 2 of 14
(4,912 Views)

All packages you described are installed on the target system.

On the Developer System the same problem exists although the VI runs in the development environment (also all Package installed).

It can not be due to a missing packet, e.g. the Structure of the Example in the Attachment would work (but does not look particularly plausible 😉 ).

0 Kudos
Message 3 of 14
(4,892 Views)
Do you get an error if you just use the IVI class functions? Have you determined where in the chain that the error is being thrown?

I would question why you are using IVI at all if you must use the instrument specific driver. That pretty much rules out most of the purpose of IVI.
0 Kudos
Message 4 of 14
(4,881 Views)

The Error apppears on the Specific IVI  VI.

Why IVI? Is this a real Question? 😉 Because IVI is a adevice Cross Standard, otherwise I can use VISA but then it is not possible easy connect a device from other Vendor.

The specific Drive is also an IVI and supports some features that not supportet by NI IVI Class.

0 Kudos
Message 5 of 14
(4,873 Views)
Of course it is a real question. You can't connect a device from another vendor unless you stick with just the IVI class functions. You'll end up needing to edit your VI and as I said, that pretty much defeats the purpose of using IVI.
0 Kudos
Message 6 of 14
(4,865 Views)

Ergo: The assertion in the video of my first post is wrong?

0 Kudos
Message 7 of 14
(4,858 Views)
No, you can mix IVI class and instrument specific functions but you don't have an interchangeable program anymore. It is only interchangeable when you restrict yourself to the common functions in the class.
0 Kudos
Message 8 of 14
(4,846 Views)

Why it shoult not be interoperable and for what then IVI is good???? Then I can also use VISA.

0 Kudos
Message 9 of 14
(4,830 Views)
You are the one that said you don't have the function available in the class driver. How can it be interchangeable if the function does not exist except for the specific instrument. I don't think you understand how IVI works. The IVI foundation has selected a common set of functions for a particular class. The specific driver tells the class driver what functions in it correspond to a class function. Obviously, if the instrument implements some function that does not map to a class function, there is no way for the class driver to call it. When you use MAX to replace one specific driver with another, the only affected functions in a program are the class calls. Calls in your program to the specific driver are not changed. They can't be. MAX would have no idea what to replace them with, especially if this unique function does not exist for the new instrument.

So, while IVI has its place, you should be limiting yourself to what the IVI Foundation has defined for the class if you want seamless replacement of instruments. If you do decide to drop IVI, I think you would be better off with the native LabVIEW driver instead.
0 Kudos
Message 10 of 14
(4,818 Views)