PAC Display with two HMI monitors


#1

We want to set up a large industrial automation system with two computer screens (connected to one computer) to display two different parts of the plant HMI. Is it possible to configure PAC Display so it will automatically open a specific screen on each monitor when the computer is booted up? (For example, Monitor 1 will display machine status: run-time, shaft speed, etc. and Monitor 2 will display alarm states.) I want the process to be as simple as possible for the operator so that if the computer does need to be restarted it will boot up the configuration he is used to seeing on the screens.


#2

Hi Brian,

First up, welcome to the forums.

When I read your post, I had a deja vu moment… I was talking with one of our integrators last week about this very topic… what’s the chances of that???
After speaking at length with him and poking around on the web, it seems that the answer boils down to two options.

  1. The video card driver that is managing your current multi monitor setup will often have some sort of ‘application manager’ for handling this sort of requirement. Either that, or they do the job for you in keeping track of which instance of which application is launched on which monitor. (If you set it up the way you want, then click ‘File’ -> ‘Exit’ in each application, the driver/Windows keeps track of where it was when it was closed and will launch it in the same location when its next opened). Im told that Nvida do a pretty good job of it.

  2. There are many third party apps just for handing multi monitor setups. Some free, some paid. I have personally not tried any. (Windows 7 works just fine for what I need at work. At home my son was using MulitMon for a bit for his dual screen gaming PC, but I think he ended up going with [URL=“http://dualmonitortool.sourceforge.net/”]Dual Monitor Tools since he just wanted a wallpaper manager (the nice thing about Dual Monitor Tools is you just install the one tool you want… that, and its open source)).

Here is a pretty solid article in Lifehacker about working with mulitmonitors.

Hope that this get you up and running Brian. Be sure and report back what you end up using to do what you want.
I suspect that more and more of us are going to use multi monitor setups more and more as time goes by.

What about the rest of you Forum lurkers…?? Type up! What tips do you have for managing your setups?


#3

Brian
i use a multi monitor setup at work for developement and i just ran a test to see if PAC display will re-open on the same monitor it was shut down on. …and it does! so for an initial setup, it would seem you could simply open pac display, maximize it on the particular monitor you require it on, exit pac display and from then on it should open up on that same monitor.

if you are really game, there is a setting in the registry under HKEY_CURRENT_USER\Software\Opto22\PACDisplay\Runtime\Pro\Start up which gives you the option of setting the X/Y position of the window and the window maximized status. if you set the x/y values to somewhere inside the monitors range (ie if i had 2x 1280x1024 displays and i wanted to start in the right most display i could set values of x>1280 and y<1024). the thing is that by running the HMI once, setting its position and closing it, these values get written anyway, just handy if you had to manage it remotely or on large scale roll outs.

I hope this info was useful.

Nick


#4

Nick, your suggestion on editing the window registry setting is just dead clever. People have really stretched PAC Display using tricks like that for Configurator, plus .BAT/.CMD files and the runtime-only version of PACDisplay Runtime for the operator workstation.

David


#5

Thanks david. i have yet to use this method but i do use the ‘Project Name’ value for specifying the particular project that should be loaded on startup. If installing Display Runtime on a system that has the ‘Exit’ functionality disabled (through configurator settings), the only way to specify the default project is to enter it in this registry setting. works a treat.
While we are on the registry, there is a setting under the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Opto22\PAC Display Runtime called AllowMultiple. I am assuming that it will allow multiple runtimes to spawn, but after setting and rebooting it would appear that i can still only have one Display Runtime per PC.
Has anyone had success in running multiple Display Runtime projects on a single PC?

Nick


#6

Hi Nick,

That “AllowMultiple” value you found (or anything in the registry) is NOT something we’d normally encourage people the change “by hand.” The official way of changing that value is through the check box in PAC Display Configurator (versions 9.0 or newer) under Configure > Runtime.

Another caution, this from the PAC Display User’s Guide (form 1702), in the section called “Allowing Multiple Runtimes”:

CAUTION: Before using this option, consider the following things:
• If each project is logging to files (SuperTrend, Historic, Operator Logging, etc.), are the projects saving data to the same file(s)? If so, system instability or a crash may occur.
• Performance will be reduced for each Runtime project.

Anyone out there using this feature? Do share!
Thanks,
Mary


#7

I am working on a multimonitor setup and am having trouble with PAC Display popping up dialog’s and such on the main Windows 7 screen.
In other words, PAC display runs on my left, Windows 7 has its task bar and most of its apps running on the center monitor, but when I click on a text entry box in PAC Display on the left, the box opens in the middle of the Windows monitor.

Not exactly what I was after or expecting.

Anyone seen this or got any solutions?

Thanks.

Ben.


#8

I was in a similar boat here with Photoshop, which I run in a second monitor. By default it opened dialog boxes in the primary monitor. Fortunately, I could move the dialog boxes to the second monitor and Photoshop retained the new location.

Some comments suggest that monitor use/window positioning is almost completely dependent on how an individual application handles windows and monitors. One guy actually runs an AutoIt script in the background to control where dialog boxes/text inputs appear!

D.


#9

Thanks David,
We ended up doing exactly that, except we used ‘Auto HotKey’.
It’s script runs in the background looking for the name of the window, soon as it opens, it shoots it off to the side.
Works a treat and seems to be very light on the CPU while it is waiting.

The nice thing about doing it with AutoHotKey is that we can catch any window, not just Pac Display ones.

Cheers.


#10

Another trick I used is setting up the window menu buttons to dictate position. If you have your windows driver set to provide one desktop across two screens, you can create a separate window at the top of each screen for menu buttons only. Of course you will need to open this menu screen in each menu button with every new screen change. Instead of selecting one screen to open, you select the screen you intend to open with a particular button and then open the menu screen as well. Now you can do this for each monitor screen as well. With this method you can’t open any screen on either side, however, you can set up all the screens you want to open on the left with 0 for the x position and 1280 for the x position for screens opening to the right.

The somewhat clumsy part of this is that you have to set all the screens the need to stay closed only on the right or left depending on which menu button side you are working on. If your project is not too big or the number of screens not too numerous, this works perfect. I my case I was trying to keep all the screens associated with one side of the plant and controller #1 on one side of the monitors and so on.


#11

Hello Everyone,

This is an old thread but I am hittng the same hurdle Ben has described with entry boxes poping up on the primary display only even when the runtime is on display 2 or 3 using WIN7. Ben had mentioned ‘Auto HotKey’ script which I do not see on the http://www.autoitscript.com/site/.
Can anyone provide more info to save me some time and not having to reinvent the wheel?


#12

Hi PilotMan,

Not sure where you got that URL from, the correct one is; http://www.autohotkey.com/

Download and install it, then take a moment to get to know it.
You will soon see how it works and thus how you can monitor any windows and thus how you can move them around automatically.

Give me some time and I can see if I can dig up some PAC Display scripts that we used way back.

Ben.


#13

Hell Ben,

Thanks for the info. Since my post, I found and downloaded Autohotkey and am using Autoit3 Windows Spy to capture the pop up windows and move them where needed. Of interesting note is when you change in Display Configurator, Configure/Runtime Setup and check “Use On Screen Keyboard For Touchscreens” the “Send Value” pop up input box will stay within the display it was choosen from and not move to the primary monitor.


#14

PilotMan,

Great to hear that you got the program running and for the most part working…
Yeah, we found that too. I cant double check it for you, but pretty sure this is the AutoHotKey script we used to ‘fix’ it;

Loop
{
ifWinExist, Event Log Viewer
{
WinMove, Event Log Viewer, -400,300
}
ifWinExist, Send String
{
WinMove, Send String, 0,0
}
ifWinExist, Send Value
{
WinMove, Send Value, -1600,300
}
Sleep 100
}

You can see it also handles the event log viewer. It also was a bit of a problem child in where it would pop up now and again.
You will need to change those position values for your system.

Have fun!


#15

Thanks Ben,

Took what you had and added a little more enhancements to use on our 3 monitors/Opto Runtimes(can work with 2 or 4 also). These enhancements included having the Tochscreen Otpo Runtime start up in the same position and same monitor every time and launching the other 2 runtimes in a delayed sequence. The AutoHotKey Script is set up to leave the touchscreen Send Value Send Text alone but moves the same entry boxes centered to in monitor 2 for both monitors 2 & 3. Our important Runtime alarms are set with the box checked “Display Dialog When Alarm” and AutoHotKey moves them all to monitor 2 also. Without these changes everything would pop up in the tochscreen monitor #1. This setup uses the softwares UltraMon, StartUp Delayer, and of course AutoHotKey.


#16

Whoa. Nice. Sounds like you really have got it hopping and jumping!
Me thinks you like AutoHotKey (as do we and most that use it).

Thanks for reporting back!


#17

Hello Ben,

After putting a whole lot of hours into AutoHotKey, I have found DisplayFusion software takes care of forcing the dialog boxes and child windows to open where the parent Opto Runtime is for each monitor just like I needed! Oh well, it was a good learning experiance.


#18

Great tips Ben. I have learnt lot on PAC display with your posts.


PACS display