Screen Profiles

Hi,

Question on how citect 2018 determines where to load screens on a multi monitor setup using screen profiles. Best with an example.

Let's say we have a 2x2 monitor set up. In windows, we have the monitors numbered:

3  |  4

--------

1  |  2

With monitor 1 set up as the main display / primary.

Let's say we want to run citect on the bottom two and top right monitor (1, 2 and 4). Monitor 3 is used to run a separate application (outlook or CCTV for example).

How should we setup our screen profile? Do we show a 2x2 arrangement in the profile and set the [MultiMonitors]Workspaces = 3? Or do we show an an 'L' shaped arrangement in the profile, omitting the 'third' physical monitor. How are the other [MultiMonitors] parameters required to be set.

What I'm really getting at is how does Citect work out which physical display output goes to which monitor. Especially with regards to the situation where we've got four outputs and we only want to show Citect on three of them.

I noticed the help for [MultiMonitors]StartupPage<Name> says "On start up, Citect SCADA will compare the physical monitors on the workstation to the screens in the screen profile and attempt to map screens to monitors based on the resolution and relative position to the primary monitor/screen. If a physical monitor cannot be found, for example it has failed or been disconnected or the configuration is incorrect, that screen will be mapped to the primary monitor. So, you may have multiple pages displayed on the primary monitor." How does it do this and what happens if there's extra monitors?

  • Hi Matthew,

    To do what you need, define a 2 x 2 profile. When you run the Computer Setup Wizard set the screen 3 to blank context and blank startup page. Make sure the Primary screen is in the same position in your Windows client configuration and your Screen Profile. At runtime, Citect will leave that blank screen alone (unless of course the other 3 screens fail, in which case Windows will send all content to your screen 3.

    The positioning/mapping algorithm used by Citect is all based around the Primary Screen and how screens are adjacent to each other. In Windows, the screen coordinates are all determined by where screens have been placed adjacent to that primary (1) screen in the control panel. A Citect Screen Profile also defines how screens sit adjacent to the primary monitor and each other. When you start Citect up on a Windows Client, we first get the primary monitor 1 and begin a positional mapping exercise based upon the primary screen of Windows and the screen coordinate space it makes available (which of course, is based upon the number of screens and resolution of those screens).

    Whatever screens match to expected positions will be filled. Whatever doesn't match will placed where they can. If screens are missing, we simply put them on the primary screen behind the window that was meant to be there. If the screen comes back in the future, there is a hot-key F12 to send all the Citect Windows back to their designated screens.

    If Windows has more screens then the profile, no problem, they won't be touched (unless of course the Windows Configuration doesn't really match).

    In all, the mapping process is reasonably resilient if your desktop screen setup isn't quite matching the profile, but, if you want it to be perfect, then make sure the client has the same screens adjacent to the primary as your screen profile.

    Cheers,

    bradley
  • Hi Brad,

    Thanks for the reply. To follow up on the example, where I've defined a 4 screen profile to match the windows numbering:
    [MultiMonitors]ScreenProfile = CONTROL_2x2
    [MultiMonitors]Workspaces = 4
    [MultiMonitors]Context1 = MyPlant.Area1:Screen1
    [MultiMonitors]Context2 = MyPlant.Area1:Screen2
    [MultiMonitors]Context3 =
    [MultiMonitors]Context4 = MyPlant.Area1:Screen4
    [MultiMonitors]StartupPageScreen1 = Master_PageMenu1_UHD4K
    [MultiMonitors]StartupPageScreen2 = Master_PageMenu1_UHD4K
    [MultiMonitors]StartupPageScreen3 = ><
    [MultiMonitors]StartupPageScreen4 = Master_PageMenu1_UHD4K

    Does [MultiMonitors]Workspaces = need to be set to the number of screens defined in the citect screen profile or just the number of citect windows that will be opened?

    I'm guessing it's also impossible to bring up a single citect page on anything other than the windows primary screen? Not necessarily a problem, just something to account for.
  • Hi Matthew,

    It should be equal to the number of startup contexts. In your example, you have 3, so it will be 3.

    I'm not sure what you mean by "impossible to bring up a single citect page on anything other than the windows primary screen".
    Given the profile you have defined, you will end up with 3 Citect "master" displayed across 3 screens - screens 1,2 and 4.

    The workspace code is designed to display Citect pages inside of panes of the master page. The display code of the workspace doesn't allow displaying a page onto a screen itself as a top level window.

    BTW: I definitely recommend to use the Profile Setup Wizard in Topology > Profiles rather than doing things manually. It will guarantee to get things right.