LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Need some advice on best way to do specialized source distribution

Solved!
Go to solution

I need to give a customer a labview block they can use in their own labview code that will read the (encrypted) data off our senor net hardware and output the data stream in a form that is usable.  I built a vi that can be used in a loop, somewhat analogous to the canned labview data acquisition block that can be used to acquire data from NI products.

 

There are  a lot of sophisticated (and secret) algorithms going on in the background that make sense of the data and translate it into a usable array of data, as well as configuring the hardware itself. As a result the single final vi I have prepared to distribute to the customer makes use of about 20 subvi. Almost none of these subvis could be conveniently be converted back into the plain code in the main vi, nor would I want to do this.

 

The ground rules are as follows: I want to give him the block I have created to use in his own code, without allowing him to see anything going on inside the vi.  I can deny him access to the block diagram/s, no problem, but I also don't want to give him access to the subvis, either to use, or even to know their names - preferably they would be hidden or otherwise pre-compiled. Preferably I would just be giving him the main block only, perhaps with some support files that would be entirely opaque to him.

 

Looking for some advice on the best way to go. Is there an elegant solution to this problem? For example would it be best to compile the block as a .dll and then write a wrapper vi of some sort?

 

0 Kudos
Message 1 of 4
(2,400 Views)
Solution
Accepted by topic author millonas

Have you considered creating a packed library? You can also password protect your code. You could remove the block diagrams from the distributed code. You could use a combination of the above as well.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
Message 2 of 4
(2,391 Views)

I have considered those options. However I don't want the recipient to get a library, or even if possible, to be able to see the names of the subvis, let alone to have access to them. I guess compiling a .dll from the top-level vi and then building a wrapper vi to call it, and then removing the diagram for that as well (LOL) would be plenty secure. It does seem inelegant going from labview to a dll then back to labview.

 

Was still wondering if there was a more elegant way to sent just one block with everything else very compact and totally opaque, if not invisible. Guess elegance might be in the mind of the beholder.

 

Going to take another look at the packed library options.

0 Kudos
Message 3 of 4
(2,385 Views)

Ah yes, nice. I was confused about how the packed libraries worked.  I built a little test code with subvis and this worked as desired. This is exactly what I needed.

0 Kudos
Message 4 of 4
(2,374 Views)