07-15-2019 10:29 AM
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.
Solved! Go to Solution.
07-15-2019 10:45 AM
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.
07-15-2019 01:35 PM - last edited on 07-15-2019 01:45 PM by Kristi_Martinez
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.
07-15-2019 02:09 PM
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.
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/
07-15-2019 02:14 PM
Sorry Cy
07-15-2019 02:29 PM
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.
07-15-2019 02:56 PM
Thank you CY....Works as advertised!!!