TN - 1162 Creating a Screen Profile with 4 Screens in Aveva OMI
This article from InSource Solutions shows the process of setting up a Screen Profile in AVEVA OMI to support 4 monitors in a quadrant layout.
- Author: Glenn Yancey
- Published: 06/15/2021
- Applies to: AVEVA OMI 2017 U3 and greater.
- You will need hardware (Workstation, Server, ThinClient) that can support four monitors.
- Please make sure that you have your Windows Operating system setup to Extend onto 4 Display screens and are rearranged in a quadrant fashion.
- For a deeper dive on how to extend your screen onto multiple displays, please visit this site.
- Aveva OMI’s Screen Profile can only work when Windows is treating these 4 monitors as one large extended interface.
- Screen Profile – Defining the resolution and monitor layout. Is it a single monitor or multi-monitor?
- Layout – An arrangement of panes (windows) within a single monitor.
- $ViewApp – This is the base template from which your OMI application is derived. This is the derived template where you link the Layout(s) to the displays in the Screen Profile.
Note: All Displays in this Quadrant layout will be tied to the same Namespace, which means if I select an instance in Display1 (Primary), then my other displays will follow suit by delivering content/graphics for that asset/instance selected by placing those Industrial Graphics into panes that are designated for that Content Type. All screens would be dependent on the selected asset in navigation. The only independence that can be defined is specifically within a pane that contains an OMI App (mini program like the Trend, Alarm, or GIS Map app). In this example, we are using the AlarmControl app in Display 4 to remain independent by it showing the alarms of my entire galaxy, regardless of the instance selected in Display1 (Primary Screen).
Basic Steps (with more detail down below).
1) Open up the System Platform IDE (fka ArchestrA IDE) and connect to your Galaxy.
2) Create a new Screen Profile.
3) Create Layout(s).
4) Create Derived $ViewApp Template (OMI application).
Note: Before deriving your $ViewApp template, a Screen Profile and Layout(s) needs to be configured first.
1) In the Graphics Toolbox, create a new Screen Profile as shown below.
2) Define the Resolution for your monitor.
3) Then, use the plus "+" sign to add more monitors until you have four.
4) Arrange the displays to match how you would like the displays to show.
5) Give each display a Name. (ex. Primary, Display2, Display3, Display4, etc.)
Note: This is necessary if any graphics are calling out specific Industrial Graphics to open in a certain monitor.
6) You can also choose whether to show the Taskbar or is TouchScreen enabled (Optional).
In another OMI application, I have already created a layout the SingleScreenLayout, so I will use that same layout for my Primary Screen. However, I might also create other layouts for each screen that will show other types of content. When defining your layout, you will create panes, and you must give them a Content Type, and also address other behaviors that will occur in each pane.
1) In the Graphic Toolbox, create a new Layout.
Note: It is best served to NOT have the same layout applied to each Display. Each Display is tied to the same Namespace, where all four screens act as one large OMI application. Layouts are NOT able to be independent from other layouts. I've created 4 layouts in this example.
Example: AlarmAppandSym for Display4
I’ve decided to create a layout called AlarmAppandSym for my Display4 where I have an alarm display that ALWAYS shows all alarms, and it is NOT checked to “Follow Current Context”. This means to tell this display to show a specific query for alarms regardless of the instance selected in Display1. Just make sure that your query is pointing to your Platform that has been designated as your Intouch Alarm Provider. I’ve made this layout a SINGLE pane layout that will house the Alarm Control app. You can add more panes if you want to show Historical Alarms on the Top and Realtime/Current Alarms on the bottom. The Alarm Control app can be used for Historical and Realtime Alarms.
Figure 1. Layout with Alarm Control app
Figure 2 Adding the AlarmControl app to the pane.
To add the AlarmControl, select the Toolbox view, and type “AlarmControl”. Once the app icon shows up, drag it to its respective pane. Then configure it with the Query as mentioned in the previous step.
Note: When setting up layouts, it is essential to match the Content Type of the Industrial Symbol (ArchestrA Graphic) that you’ve created to correspond to the Content Type of the Pane in the Layout. Layout Panes that have an app like the AlarmControl do NOT need to have this Content Type defined. However, other panes that you create will be designed to show symbols/graphics that of a specific content type to show up in their designated pane.
$ViewApp (OMI Template)
The ViewApp will tie everything together by having you first choose the Screen Profile, and then the Layouts that you have created.
1) Create a new derived template from the $ViewApp base template.
2) Choose the Screen Profile that you’ve defined earlier “QuadMonitor” and select Next.
3) Now I need to assign the correct Layout(s) to their respective screens.
a. With my Primary screen (screen 1) selected in the QuadMonitor Screen Profile, now I associate the corresponding Layout "SingleScreenLayout" to its respective screen.
b. Display2 has the TrendAppandSym layout associated to it.
c. Display3 has the DashboardsLayout layout associated to it.
d. Display4 has the AlarmAppandSym layout associated to it. This AlarmAppandSym layout was created to show all alarms, regardless of the instance selected in the navigation.
4) When you select FINISH, the OMI editor will pop up and the top will show the layouts and what Display that they belong to in the Screen Profile.
5) To Test, select the Preview button on the top right in the $ViewApp editor (OMI).
6) The end result should look similar to what we have below. My Primary display has an Asset (instance) selected named Florida. This selection drives the Trend app in Display2 to show tags for that selected Asset. Any dashboards that were part of the asset selected in my Primary would show up in Display3 as the single pane for that layout is designed to show only Dashboarding content. Display4 however has a specific query defined in its AlarmControl app to NOT “Follow Current Context” which makes the AlarmControl independent from the selected asset (instance) in my Primary display.