LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can a GUI interface be made to show indicators(image display,numeric indicator etc.) in a VI on 3 different screens?

Solved!
Go to solution

For example:There are 4 image display,numeric indicator,boolean indicator.
-I want to group and show these indicators on 3 different screens.
When -VI is run, each section should run full screen on the specified screen.
-I don't want to turn on or off the bar at the top of the screen. Exactly full screen.
What is the probability of this happening? And does anyone know how to do it?

Every opinion given is worthy of respect.

0 Kudos
Message 1 of 27
(3,023 Views)

Hi worker,

 


@constructionworker wrote:

For example:There are 4 image display,numeric indicator,boolean indicator.
-I want to group and show these indicators on 3 different screens


Call 3 instances of that VI and show their frontpanel on those 3 screens…

 

(There are property nodes to read/set the screen position of a frontpanel.)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 27
(3,013 Views)

What exactly do you mean something like the following? can you please give an example.

constructionworker_0-1666620480860.png

 

0 Kudos
Message 3 of 27
(2,971 Views)

Hi worker,

 


@constructionworker wrote:

What exactly do you mean something like the following? can you please give an example.


Yes, similar to those properties…

 

You can detect all monitors using a property of LabVIEW. Then you know their display size. Once you know that you can set the FP position of each frontpanel as needed.

 

Example: 3 monitors, each with 1920*1080 pixels, all arranged horizontally . To show a frontpanel on the middle screen you move the frontpanel to pixels [1920, 0] (lower left corner) and [3839, 1079] (upper right corner)…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 27
(2,938 Views)

Thank you for your answer   

 

The point is, There's Only One FP. I wonder how it can be set to 3 separate FPs.
When I run something like below it doesn't create 2 different front panels, just one and display it on any monitor.

constructionworker_0-1666632238630.png

 

 

0 Kudos
Message 5 of 27
(2,926 Views)

Hi worker,

 


@constructionworker wrote:

Thank you for your answer   

 

The point is, There's Only One FP. I wonder how it can be set to 3 separate FPs.
When I run something like below it doesn't create 2 different front panels, just one and display it on any monitor.


You need to prepare your VI to be able to display its frontpanel on 3 different screens…

Options:

  1. Set the FP size to span all 3 screens at once, so one VI serves all screens…
  2. Make the VI reentrant and call it 3 times…
  3. Create 3 copies of that VI and call all of them in parallel…

Other option:

Think about creating a webpage (HTML file) to display your data. Then open a browser on each screen to show that webpage…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 27
(2,903 Views)

@GerdW wrote:

Hi worker,

 


@constructionworker wrote:

Thank you for your answer   

 

The point is, There's Only One FP. I wonder how it can be set to 3 separate FPs.
When I run something like below it doesn't create 2 different front panels, just one and display it on any monitor.


You need to prepare your VI to be able to display its frontpanel on 3 different screens…

Options:

  1. Set the FP size to span all 3 screens at once, so one VI serves all screens…
  2. Make the VI reentrant and call it 3 times…
  3. Create 3 copies of that VI and call all of them in parallel…

Other option:

Think about creating a webpage (HTML file) to display your data. Then open a browser on each screen to show that webpage…




 

I felt the need to explain the situation a little more now. I think there should be an easier way to do this.Of course, I don't know how.

I reviewed your suggestions.
For the  suggestion:

-it's a bit of a crude attempt to span the entire screen. It causes the image to break because the screen resolutions don't match.

-I set it to -VI reentrant, but if you mean re-invocation as I shared in the picture above, I tried it.
But I didn't get any result.

-I still don't understand what you mean by recall here. Wouldn't running a VI multiple times cause the computer to work harder?

-I'm in the understanding of finding a feature similar to the external window feature in the -NI IMAQdx library directly from Labview. Creates a second window in any position. But we can't add different indicators as extra. This is a problem.

 

The application I want to create. When the application starts, it runs in 3 different windows. It will display the events set in each Window.

There has to be an easier way around this, right?

 

0 Kudos
Message 7 of 27
(2,886 Views)

Hi worker,

 


@constructionworker wrote:

When the application starts, it runs in 3 different windows. It will display the events set in each Window.

There has to be an easier way around this, right?


When there are 3 "different windows" then you should use 3 different VIs.

What's so hard to call 3 VIs?

 

Btw. calling 3 VIs will not let your computer "work harder" when you create them correctly...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 27
(2,861 Views)

@constructionworker wrote:

 

I felt the need to explain the situation a little more now. I think there should be an easier way to do this.Of course, I don't know how.

I reviewed your suggestions.
For the  suggestion:

-it's a bit of a crude attempt to span the entire screen. It causes the image to break because the screen resolutions don't match.

-I set it to -VI reentrant, but if you mean re-invocation as I shared in the picture above, I tried it.
But I didn't get any result.

 


You need to open new clone references and call the VI several times asynchronously, and you need to make sure you are referencing the correct clone when changing the display state. (The easiest way to do that is by setting the state in the VI so you just use a "This VI" ref.)

 

If each is meant to display the same data and should all shutdown at the same time, you will need a communication mechanism as well. What is your application architecture? DQMH, Messenger Library, AF, etc. might all be useful here.

0 Kudos
Message 9 of 27
(2,844 Views)

Thanks for your answers.  and JimB.

 

I guess what you want to say is to create an example like the one below, right?

Download All
0 Kudos
Message 10 of 27
(2,787 Views)