LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Frontpanel opened by Invoke Node blocks other FP

Solved!
Go to solution

Hello,

In a project I am working on I would like to open and close a frontpanel displaying a few plots from a different VI. I have managed to create the Visualisation VI and am passing references to the Indicators and the VI itself on to the next block. I can open the FP by using an Invoke Node on the VI ref, but then I can only interact with the newly opened VI. To get back I have to close it by hitting X, I would prefer it if I could just have it running in the background or minimized once I click on my "main" Vi again. I have attached the required VIs.

0 Kudos
Message 1 of 4
(3,035 Views)
Solution

Hi,

 

I can't see your code as I haven't upgraded to 2014 yet (shame on me 🙂 ). Here is a Main VI that opens a Graph VI in two ways:

1. Without running it, just by FP.Open. The main VI remains responsive. This is not really recommended but I think it was what you meant to do.

2. (enable disabled diagram): by running the VI using the Run VI invoke node. In this way the Graph VI is called dynamically and the Main VI doesn't wait until it's done to continue.

 

Good luck,

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
Download All
Message 2 of 4
(2,978 Views)

Hi Danielle,

thank you for your answer. Your second solution would be perfect, if there is a way to get References to the Frontpanel Elements of the Graph VI while it is still running. I was hoping there would maybe be a property containing those, but I couldn't find it.

Essentially I want to modify the Indicator Values in the Graph VI from a VI that is called afterwards and will run then run in parallel to the Graph VI.

Kind regards

 

 

//edit: Nevermind, I found it. References to Frontpanel Elements are a Property of the VIs Frontpanel.

0 Kudos
Message 3 of 4
(2,967 Views)

Great, good luck!

 

I would like to point out that you can also use a Queue to pass data and messages between your parallel VIs, or use User Events. Using references would break your code if you decide to change the GUI (e.g. change an int numeric to a dbl numeric).

 

Here is an example using a queue. there are plenty more 🙂

 

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
Download All
0 Kudos
Message 4 of 4
(2,959 Views)