LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Scrolling via Boolean Control

An interesting concept...I've got a program that is very large and being expanded to control 2x what it is already handling.  Therefore I'm going to design a main summary page with links to individual test units.  I'm working on a way to click each unit that is shown on the main page and it will either scroll over to the control features for that unit, or popup a window with all the control features we currently have.
 
To visualize...think of a visible box taking up the whole screen.  On that screen indicators for each device test station showing real summary data.  By clicking on a control associated with each, say they click test station 1, then the screen will scroll to the left, where the control pane is, the main screen will be not be accessible anymore unless a new link is clicked to go back (that is stored on the new test page).
 
One option could be to use Vi Popups for each test station?  They then just close the VI as soon as they want to go back to the main screen or run another unit?  If this was the case though, would closing that vi out keep it from running in the background?  All of these units would be running in the background, and need isolated variables.
 
Let me know what you think?
LV7.1, LV8.5, LV2014/15/16
0 Kudos
Message 1 of 38
(5,021 Views)
u can use a property of the front panel for ur subvi's front panel
to open and close the front panel of ur subvi.

hav it open if they push the open button and hav it close if they
push the close button
Message 2 of 38
(4,998 Views)

Hi vivi,

We had not heard from you recently and I was wondering if we had lost you!

Nice to see you are still around,

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 3 of 38
(4,993 Views)
i am still here i hav just ben busy

nice 2 c u 2
0 Kudos
Message 4 of 38
(4,983 Views)
I've not used property nodes before, but from the context of your response - a property node creates a link between subvi's and keeps those subvi's running in the background even if not on the screen?
LV7.1, LV8.5, LV2014/15/16
0 Kudos
Message 5 of 38
(4,985 Views)

Property nodes are just properties of objects.  For example a control has properties like visibility, focus, disable, etc.  A property node for a front panel can be set to make the panel visible or hidden.

An alternative to this would be to use a tab control.  The first tab could be the summary screen.  Other tabs can be the specifics of the test systems.  This would make it a lot easier to program and maintain.  Just click on the tab you want to display.  No special code needed to hide one tab and display another.

- tbob

Inventor of the WORM Global
Message 6 of 38
(4,968 Views)
that is a very good idea tbob, much easier to do that with properties
0 Kudos
Message 7 of 38
(4,965 Views)
The harder alternative will be more rewarding for this scenario...

Currently the system is already implemented in tabular control.

There are getting to be too many tabs to work with, which is why the popup and hide functionality sounds much better.  Each test station requires 2 tabs (1 tab for the automated test, 1 for the manual mode of our testing)

I appreciate the help from you all - let me just rephrase what I understand you are saying -

I could use this summary page (updated via variables or direct wire connections from the underlying tabs, and stored as a seperate Vi), each pair of underlying tabs would be stored into a seperate VI.  All these Vi's would be hidden, but running through the use of a property node? Not sure how to input the transparency effect into a property node, but assume I need 2 nodes per each 2tab test vi.  Based on a T/F boolean variable feeding a "select" function - if true function goes to make visible, if false goes to hide property node.

The program was coded originally using massive amounts of local variables, do they need to be global in order to communicate via other subvi's in this manner?

Does it sound like the correct setup?

(Currently all the test stations are stored in massive case statements, each statement referring to a test stand, the theory above would split each of these into seperate vi's)

How does this sound?
LV7.1, LV8.5, LV2014/15/16
0 Kudos
Message 8 of 38
(4,953 Views)
Upon starting the main vi, you could also start all subvi's, and use a property node to set the Open.FP (open front panel) to false.  This will hide the front panels.  When called upon, set the property to True and the front panel will become visible.  Here is a zip file containing a main and two sub vi's.  It shows how to open a reference to the subvi's, run them with front panels hidden, and how to make them visible again.  It also shows how to obtain a reference to a subvi control, such as a stop button, and manipulate that subiv control from the main.  Either unzip into a dir called C:\MyTemp\SubViRef, or unzip into your own directory and enter the subvi locations into the main vi path controls.
 
- tbob

Inventor of the WORM Global
Message 9 of 38
(4,939 Views)
Thanks tbob!

That's just what I was looking for - not gonnna play around with it until I learn how it works -

I think the most confusing thing is setting up a property node, not sure how you specified "wait until done" or "panel" or "controls" etc. or really wrote in FP.Open.  Is there a list of commands like that FP.Open somewhere? Not sure if you just wrote that or if its included function somewhere in there?
LV7.1, LV8.5, LV2014/15/16
0 Kudos
Message 10 of 38
(4,920 Views)