From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Hiding and Displaying TS UI Controls from LabView

We have a custom TestStand User Interface, written in LabView, that is a modified 'Simple' User Interface as installed with TestStand.
 
When our UI is initialising the TestStand UI controls are immediately displayed with nothing displayed inside them, this looks very untidy. Is there a way of hiding and displaying TS UI controls on demand?
 
Regards
 
Steve

Message Edited by SercoSteve on 03-09-2006 09:22 AM

There are 10 types of people in the world that understand binary, those that do and those that don't.
0 Kudos
Message 1 of 10
(4,050 Views)
TestStand I am still learning, but LabVIEW I know.  There are several things that you could do.  One thing would be a splash screen.  I don't think that this is what you are after, though.

Each control has a terminal on the block diagram.  If you right click on the terminal, you can create a property node.  There are lots of properties that you can set on a control, including whether it is visible or greyed out.  I think you want to hide the controls and SAVE the VI that way.  Then, when the VI is run, where the control/indicator gets its data, set it to visible with the property node as well.  If this is in a subVI, you might need to create a reference to the control/indicator and pass that into the VI as well. You can then wire it to a property node in the subVI.

There are several examples on using property nodes that ship with LabVIEW that should be able to get you started.

Hope that this helps,
Bob Young

0 Kudos
Message 2 of 10
(4,022 Views)
Bob
 
Thanks for the relpy.  We have a bunch of normal LabView controls on our User Interface that I am hiding, as you suggested, using property nodes.  Unfortunately the TestStand UI controls are just references that the TestStand Engine uses to update displays at run time, and those bad boys dont have a Visible (or equivalent) property that can be set.
 
I have discovered that if you put the TS Controls on a Tab Control and then make that Tab Control NOT visible at run time then the TS controls are hidden as well but this will mean changing our UI.
 
Regards
 
Steve 
There are 10 types of people in the world that understand binary, those that do and those that don't.
0 Kudos
Message 3 of 10
(4,020 Views)
Hi Steve,

The Teststand UI controls are embedded activeX controls but they are still under the control class in LabVIEW therefore they should have the Visible property. I have attached a simple example that shows this. It is in LabVIEW 8 reply back if you need it in another version of LabVIEW.

Regards

Jon B
Applications Engineer
NIUK
Download All
Message 4 of 10
(4,008 Views)

Hi Jon,

Thanks for your post, I had completely missed that you can create a property node of a UI Control. Unfortunately my original post still stands.  When the TS engine is initialising the UI controls are shown in there design state even if there Visible property has been permanently set to FALSE.  As soon as LabView gets control I can set the Visible state successfully, but I get a period of about 2 seconds when TestStand has control making the resultant UI initialisation look less than professional.  I am yet to check if this is just a development thing, or whether I will see the same sort of display in the run time environment.

Any ideas?

Regards

Steve

There are 10 types of people in the world that understand binary, those that do and those that don't.
0 Kudos
Message 5 of 10
(3,993 Views)
Hi again Steve,

I tried using a Visible property node on the execution view control on the simple operator interface, with the error output wired directly to the error input of the first sub-vi to be called. The execution view control was hidden as soon as the vi ran. This way I know that the visible property is set before the Teststand engine is launched. Make sure that this property is set before anything else happens in the vi (you might need to use a sequence structure if you can't create a data dependancy). If you still cant get this working post your operator interface and I will have a look at it.

Regards

Jon B
Applications Engineer
NIUK

Message Edited by JonBowers on 03-13-2006 03:37 AM

0 Kudos
Message 6 of 10
(3,985 Views)
Hi Jon
 
I tried the same thing.  Have attached a screen capture at the point of initialisation.
 
Regards
 
Steve
There are 10 types of people in the world that understand binary, those that do and those that don't.
0 Kudos
Message 7 of 10
(3,977 Views)
Hi again Steve,

What you are seeing I think is a sort of intermediary step as the vi loads the Teststand engine and runs all the ActiveX controls. I managed to reproduce this with TS 3.1 on a lower speced PC and I saw something like you were describing. However once I built this into an exe it just shows the outline of the window whist this is happening so you do not see any controls visible or not. This is also the behaviour I got when using TS 3.5.

Regards

Jon B
Application Engineer
NIUK
0 Kudos
Message 8 of 10
(3,975 Views)

Hi Jon

Yeah that's it.  We are running on a slow (ish) PXI rack and even see it in the run time environment.

Regards

Steve

There are 10 types of people in the world that understand binary, those that do and those that don't.
0 Kudos
Message 9 of 10
(3,975 Views)
That leads back to the idea of a splash screen.  Have you thought about loading your main VI in the background while you have a splash screen over it?  Then it would not matter what you had going on until you removed your splash screen.  For the record, I have seen splash screens discussed here before, but I have never programmed one.

Thanks,
Bob Young

0 Kudos
Message 10 of 10
(3,967 Views)