LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I restrict developers to just wiring to my icon and restricting them from seeing the front panel or block diagram?

I have a system of about 5 top level vi's and about 20 lower level vi's. I want to expose to LabVIEW developer clients only the icons of the 5 top level vi's, and let them wire to them. I don't want them to be able to see the front panels in any mode - at edit time or run time. I also don't want them to have any access to my Globals vi. Is this possible?

 

Thanks in advance!

 

-RD

0 Kudos
Message 1 of 12
(3,100 Views)
You can create a source distibution. This is detailed in the LabVIEW Help.
Message 2 of 12
(3,077 Views)

Thanks very much. I have LV 8.5 & hope it supports Source Distribution. I'll check into it (need a few days) & will then come back and mark this "solved" with Kudos!

0 Kudos
Message 3 of 12
(3,044 Views)
Look into password protected libraries (*.lvlib).
Message 4 of 12
(3,022 Views)

altenbach wrote:
Look into password protected libraries (*.lvlib).

 

That's the ticket!

 

You can set the access scope of VIs to Public for what you want to expose and private for the rest. I have never used this approach on non-LVOOP VIs but I believe it is do-able.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 5 of 12
(2,994 Views)

Well, I've looked into both source distributions and .lvlibs. It looks like neither one will fit the bill. Source distributions are great in that they will allow me to Remove Panel and Remove Diagram for the vi's (using the "Customize VI Settings" under "Source File Settings"). Now my users can't see the block diagrams or interact with the front panels but they can wire to the icons.

 

The problem is that I really only want a few vi's in the group to be Public, and the others lower in the hierarchy to be Private. This feature is offered by .lvlibs, but it does'nt look like the .lvlibs offer the option of Remove Panel. Although I could password protect all the files in the .lvlib, this would block access to block diagrams, but would still allow users to double-click on the icons and see the front panel of that vi, and, unfortunately, interact with its controls. I could make all the controls invisible, or even set the Front Panel Window: Transparency to 100%, making the front panels invisible, but these approaches are not elegant.

 

What I want to end up with are a group of icons on a pallette, which when selected put top level api vi icons on the user block diagram, but do not allow users to view their front panels, and also, not allow any user access to the lower level vi's that they call. They should act the way the String -- Search and Replace String icon acts, for example. 

 

Am I missing something here?  Thanks in advance!

0 Kudos
Message 6 of 12
(2,948 Views)

Build a dll, and export 5 functions (top VIs).

George Zou
0 Kudos
Message 7 of 12
(2,933 Views)
George, Thanks for your suggestion, but if I build a dll and export the 5 top VIs, then developers will need to use the LabVIEW Call Library Function Nodes to call the VIs -- I want them to simply wire to the icons for the top VIs..
0 Kudos
Message 8 of 12
(2,911 Views)

Why exactly do you think you need to hide the front panels? Have you actually tried the password protected lvlib? Instead of guessing, try it and see if the private VIs are accessible.

 

The string function you mention is not a VI at all. 

 

Message 9 of 12
(2,905 Views)

If you remove the diagrams, you can only run your VIs in your current version(8.5). If you plan to send your system to other Labview user they have to use Labview 8.5 also. Not very practical I will say. I did it once accidentally. It worked for a while. But then a new Labview version surfaced we got a lot of angry phone calls from people more or less pi**ed off. But if you password protect they will be able to to use newer Labview versions without problems. If you are afraid that they can see details on the front panel so hide it. NI use password protection then they want to hide inner VI working from the users. So it should be pretty safe. If you want your software to be 100% tamper proof. You have to hide it in a safe, and never show it to anyone. Much like some crown jewels. Are your software really so valuableSmiley Tongue

By the way. If you make a DLL people using your functions must have Labview 8.5 runtime engine installed.



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Message 10 of 12
(2,903 Views)