LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating/linking compiled shell vi and user vi code -How?

I am looking for an example of how to create a shell vi that gets compiled once and a user vi that can be modified and ultimately linked in some way to the previously compiled shell to create a user-customized vi.

In essence, the shell vi does a lot of processing that the user doesn't need to worry about -- the user must be entirely isolated from the source code. The user needs to customize the processing that goes on in the shell -- for example, taking raw data acquired from a DAQ and processing it into some meaningful data -- say, multiplying two channels and adding a third to get some useful info. The shell handles display, logging, etc. of the data before and after being processed, but the intermediate
processing is the user vi responsibility.

How can I create and link the two components? Is there an example of this I've missed?

Thanks.
0 Kudos
Message 1 of 4
(2,956 Views)
VI server allows you to load and run another vi only when it is needed, which means the vi can be modified/updated as long as it is not in the memory. This requires both vis in source code.

Or you can compile user vi into a dll, and your shell vi calls the functions in dll. Going with this method, the shell vi can be compiled into executable so you can distribute it and update the dll whenever it is needed.

Joe
Message 2 of 4
(2,956 Views)
There's the example called Plug In Example that you can use as a model. You could do something similar and create a VI template in order to standardize the input and output data types that are acceptable. For the ultimate in flexiblilty, you might want to look at NI's TestStand. It's a test manager that can do all that you ask and much more. This is what I use.
Message 3 of 4
(2,956 Views)
Dear Spearing,

First and foremost, thank you for contacting National Instruments.

When you say that you want the user to be "isolated" from the shell VI, do you mean that you wish to set some security options that literally 'lock' the user out of the shell front panel and block diagram? If this is the case, you may want to look into the following:

Within the front panel of your VI, select [File]>>[VI Properties] and choose the [Security] tab under "Category".

Here, you can make the front panel password-protected, so that any given user can't modify the code during operation without supplying the correct authorization credentials.

Furthermore, you can select the [Window Appearance] tab under "Category" and select [Customize]. Here, you can cha
nge the options for the front panel to control whether the user can close the window, abort the shell VI, see the title and menu bars, etc...

I hope this helps you find a solution to your desired functionality. Please don't hesitate to ask for further support if needed. Have a great day!

Kind Regards,

Joe Des Rosier
National Instruments
0 Kudos
Message 4 of 4
(2,956 Views)