Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

conditional disable & ni vision acquisition license

I have an application that can use either ni-imaq or ni-imaqdx that will be utilized on up to 20 systems.  Many of the systems will just use ni-imaq and thus we would like to avoid paying the ni vision acq. software license on those systems.  If we statically link to the ni-imaqdx VIs then all systems would require the license.  I've thought of two ways to handle this situtation:  a) dynamically call the ni-imaqdx VIs which aren't integrated into the exe or b) use the conditional disable feature in labview around the imaqdx code and build 2 almost identical exes, one with and one without imaqdx disabled.  I know option A would work but my question is: does approach B violate licensing rules if the exe with imaqdx disabled is installed on a PC with no ni vision acq. license and does the conditional disable prevent the license manager from popping up license warnings on those systems?  Are then any other options to avoid the licenses for systems that don't need them in this case?
0 Kudos
Message 1 of 7
(4,075 Views)

Hi DrMike

 

For case B, I do not see how this would violate the NI-Vision Acquisition License. I don't know if this would work however because even though the code is disabled it still might include IMAQdx dll's when you compile it into your executable.


Thank You
Eric Reid
National Instruments
Motion R&D
0 Kudos
Message 2 of 7
(4,051 Views)
Well I guess that's what I am really asking - do the imaqdx dll's get loaded by "disabled" code?  I was hoping someone at NI could answer that question.
0 Kudos
Message 3 of 7
(4,047 Views)

Conditional disables do in fact act as if the code is not present. So any DLL calls in conditionally disabled code will not cause the DLL to load. This is often useful when supporting multiple OSes where the code must call into different libraries on different OSes.

 

As to your original question about how licensing rules work with respect to this, I do not know for sure.

 

-Eric

Message Edited by BlueCheese on 11-13-2008 01:08 PM
0 Kudos
Message 4 of 7
(4,044 Views)

Are you using the NI-IMAQ routines to acquire images on the IMAQ only systems?  Or will those systems just not acquire any images?

 

If you are going to be acquiring images on all systems, the NI image acquisition hardware includes a license for the Vision Acquisition Software.  In this case, it might be simpler to just install the Vision Acquisition Software on all the computers and use the same executable on all of them.  You would still need to purchase licenses for the ones that are using IMAQdx to acquire the images.

 

If you won't be acquiring images on the IMAQ only systems, your current plan sounds pretty good.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 5 of 7
(4,018 Views)

The current system uses analog cameras and imaq.  The code was written though, so that systems without a framegrabber could still use the program's other features.  We now want to add the ability to use Firewire camera on some systems instead on analog.

 

I was not aware that having an NI framegrabber in a system gives us license to NI vision acq. software.  Is this info posted somewhere?  Still, since some systems might not have a framegrabber it appears I'm not covered in all cases.  Let's suppose all the non-imaqdx systems did have a framegrabber - if I didn't install the NI vision acq. software on those system wouldn't some sort of automated license manager either pop-up a warning and/or block execution?  I assume the license check would occur when imaqdx vi is loaded or executed.  Do you know which?  If the license check was only when the imaqdx vi is called I cold prevent that from occurring but if the check is on imaqdx vi load then I need to make more effort.

 

0 Kudos
Message 6 of 7
(4,013 Views)

I don't know if the IMAQ functions require a license or not.  Since they are now part of the Vision Acq software, you might have to license them to use them.

 

I don't know if it is on loading or on execution.  I would suspect loading, but I am not sure.

 

Your best option is probably to test it on a clean computer.  Install a version that uses IMAQ only but doesn't license it, and see if it works.  You could try different options until you find one that works the way you want.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 7 of 7
(4,007 Views)