From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using subpanels within an application

Solved!
Go to solution

Hello,

 

I want to implement a modular test system where a master VI loads the front panel for a given test into a subpanel.  I've already tested that I can have an application (EXE) load the front panel of a target VI (provided the path).

 

However, I do not have a large number of VIs sitting around for operators to move/delete/edit, etc.  Does anyone have an example of inserting into subpanel from EXE, LLB, or another option?  

0 Kudos
Message 1 of 7
(3,081 Views)

Not sure what you're asking for.

 

If you just want to practice the insertion / removal process, any old VI will do. But you said you've already done that.

 

What else do you need?

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 2 of 7
(2,994 Views)

The concern, is that if I am simply loading the front panel of a *.vi file, then it will be available for operators to move/delete/edit. (hundreds of files if you count all the subvi spread across the 9 tests I will be running).

 

Instead, I would like to insert an EXE, or perhaps a vi which is contained within an LLB function.  My attempts at either have failed.  This will significantly help me with file management, version updates, etc.

0 Kudos
Message 3 of 7
(2,983 Views)

Well, if you have operators who would edit a VI file, then i would suggest not loading LabVIEW onto the production machine(s).

I have a situation where I dynamically load VI files (not into a sub panel, but straight into execution).

1... I use an EXE for the main program, the LabVIEW DevSys is not even on the production machines.  Temptation removed.

2... The dynamic VIs are expected to be in a particular folder, relative to the EXE.  If they're not there, tough luck.

3... That folder is called "Private", with instructions not to enter there. (maybe make it hidden?)

4... At startup, I sync that folder to a folder on a central server, which has read-only access.  If somebody gorches the local copy, simply delete it and restart.

 

That ought to be enough to take care of accidents.  If you have malicious actors, there's not much you can do beyond that.

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 4 of 7
(2,979 Views)

You could also try a ZIP file with all your tests in it, and protected by a password.

Your program could unzip the one(s) you want and write the file out where it can be loaded for execution.

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 5 of 7
(2,973 Views)

That's an interesting approach, hadn't considered ZIP files before.

 

Password protecting files certainly prevents editing, but not accidental deletion.  I know it's a silly thing to worry about, but it happens. 

 

0 Kudos
Message 6 of 7
(2,967 Views)
Solution
Accepted by topic author proland1121

It's not silly- operators are indeed bored, curious, careless, and sometimes malicious.

 

Try a hidden folder as a container.

Have a folder called "New Tests".  Put your new tests into that.

On some trigger (startup?) move the files from there to the hidden folder.

Execute only from the hidden folder.

 

Or, try the same thing from a ZIP file.

On startup, copy from the NEW TESTS folder into the ZIP file.

 

Why not make the folder READ ONLY ?

 

Why not make the VI files READ ONLY?

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

Message 7 of 7
(2,964 Views)