LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Display Image on 2nd or 3rd monitor

Solved!
Go to solution

I am setting up an assembly cell and am going to install three to six monitors to display the assembly instructions for the operators. I have the monitors set up on one PC and they all work fine. I need to know how to read the appropriate file (.png or .pdf) and display it on the monitor of my choice. i.e .pdf#1 on monitor three, .pdf #2 on monitor two etc. I haven't been able to find anything in the forums. Any suggestions would be greatly appreciated.

0 Kudos
Message 1 of 7
(2,329 Views)

Is the image going to be embedded in a VI front panel? If so, use the Front Panel Window:Monitor property https://zone.ni.com/reference/en-XX/help/371361R-01/lvprop/vi_fp_window_monitor/.

 

If you using the command line to launch the PDF or image in an external application (e.g. Adobe) then you will need to look to their help forums for an answer.

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

Hi Cy,

 

Thanks for the tip. I worked with this property node for quite some time. I built a state machine to play with it. When I make a sub vi for each monitor the front panel only opens (with the image I want) in the last case executed. The front panel does open on the correct monitor. However, It does not open on the previously executed cases. I have attached the vi I am working with. Right now I am just trying to get an image to display on the correct monitor. I have a feeling it is an order of execution problem I have created.

0 Kudos
Message 3 of 7
(2,292 Views)
Solution
Accepted by topic author Dennis_B.

I'm not seeing any attachments to your post. Without the code, I can think of two possible problems.

 

If you are creating a separate sub VI for each image, make sure that you are opening the VI front panel when called. This can either be done in the VI properties or using invoke methods on the VI reference.

https://forums.ni.com/t5/Example-Programs/Two-Ways-to-Programatically-Open-a-Sub-VI-Front-Panel/ta-p...

 

If you are using a single sub VI then you will need to make sure it is re-entrant and that you are calling it correctly.

http://zone.ni.com/reference/en-XX/help/372614J-01/lvhowto/acbr_call_clones/

Message 4 of 7
(2,271 Views)
0 Kudos
Message 5 of 7
(2,266 Views)

You currently have a single vi with 2 different picture controls. How do you plan on showing them on different screens? I guess you could spread your vi across all monitors and calculate where each picture control should be, but that would not be very good way of doing it.

A better way, as Cy_Rybicki mentioned, is to have a separate vi for each picture you want to display. Set the front panel to the monitor of choice and load the image file.

 

---------------------------------------------
Certified LabVIEW Developer (CLD)
There are two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 6 of 7
(2,259 Views)

Thank you CY....Works as advertised!!!

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