Startup Configuration File
The Startup Configuration File is an XML file that you can use to launch Geo SCADA Expert on a Multi-Monitor setup (see Launch a ViewX Client on a Multi-Monitor Setup), and/or have customized Window Container behavior.
You store the Startup Configuration File on the client machine (the machine on which the ViewX client is installed and to which the file relates).
Name the file 'StartupConfiguration.xml' and place it in the following directory:
C:\ProgramData\Schneider Electric\ClearSCADA
(The exception to this is if you use a ViewX command line argument to specify a different name and/or location for the file. You can use such an argument to Define an Alternate Startup Configuration File , whereby you can specify a different name and/or location for each Startup Configuration File that you want to use on a particular client machine.)
If the file is detected when the ViewX client launches, its settings are applied to that client's interface layout, resulting in a Multi-Monitor setup or customized Window Container behavior.
If the XML in the Startup Configuration File is not valid, a diagnostic message will appear when you launch the ViewX client (see Resolve an Invalid Startup Configuration File).
unexpected behavior OF APPLICATION
A set of XML Elements is used to define the settings in the Startup Configuration File. You can create and configure the file in any standard XML editing tool.
You can use the Startup Configuration File to:
You can specify the attributes that are associated with the Primary and Secondary Window Containers, for example, specifying the monitor on which each Window Container appears, whether the Alarm Banner appears in each Window Container or whether Window Containers are displayed in Full Screen mode.
Example:
The following XML code excerpts are from Startup Configuration Files for Multi-Monitor setups that each have three monitors.
With Geo SCADA Expert 2019 onwards, Startup Configuration Files support the MonitorOrigin attribute, so might include XML code such as the following:
<Startup>
<WindowContainers>
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,200" DisplayMode="Restored" />
</WindowContainers>
</Startup>
In the code above, the section within the WindowContainer tags specifies that there is one Primary Window Container (named "Primary" by default), and two Secondary Window Containers (named "Left" and "Right"). The MonitorOrigin attribute defines the top-left coordinates of each monitor in relation to the primary monitor (the one on which the Start menu appears in Windows). This attribute specifies that the Primary Window Container appears on the primary monitor (for which the MonitorOrigin is set to 0,0). The negative value used in the coordinates of the Secondary Window Container named "Left" indicates that particular Window Container appears on a monitor that is positioned to the left of the primary monitor (it also indicates that the monitor's display is set to 1920 pixels wide). The coordinates of the other Secondary Window Container (named "Right") indicate that Window Container appears on a monitor that is positioned to the right of the primary monitor. Again, the coordinates are relative to those of the primary monitor (so in this case, they indicate that the primary monitor's display is also set to 1920 pixels wide). The 'y' value of that monitor's MonitorOrigin coordinates indicates that the top-left corner of this particular monitor is positioned 200 pixels lower down than the top-left corner of the primary monitor.
On systems that have been upgraded from ClearSCADA 2017 R3 or earlier, the Startup Configuration file might include the following XML code:
<Startup>
<WindowContainers>
<PrimaryWindowContainer Monitor="1" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" Monitor="2" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" Monitor="3" DisplayMode="Restored" />
</WindowContainers>
</Startup>
The section within the WindowContainer tags specifies that there is one Primary Window Container (named "Primary" by default), and two Secondary Window Containers (named "Left" and "Right"). The Monitor attribute uses a number to assign each Window Container to one of the monitors detected by the operating system. (Be aware that some activities outside of Geo SCADA Expert might inadvertently cause the monitor numbers to change in the operating system, so causing a discrepancy between the numbers specified in the Startup Configuration File and those identified by the operating system. If this occurs, consider using the MonitorOrigin attribute in your Startup Configuration File instead of the Monitor attribute.)
You can define how many Alarm Banners are displayed in multiple Window Containers and their position within each Window Container.
Example:
The following XML code is from a Startup Configuration File for a Multi-Monitor setup with three monitors and illustrates the three types of Alarm Banner that can be displayed in each.
<Startup>
<WindowContainers>
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen" AlarmBannerPersistSettings="true" AlarmBannerDisplayState="DockedTop" />
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" AlarmBannerDisplayState="DockedBottom" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,0" DisplayMode="Restored" AlarmBannerDisplayState="Fill" OpenInWindow="Left" />
</WindowContainers>
</Startup>
The AlarmBannerDisplayState attribute within the WindowContainer tags specifies that there is an Alarm Banner in the Primary Window Container (named "Primary" by default) docked at the top of the Window Container.
The two Secondary Window Containers (named "Left" and "Right") contain an Alarm Banner docked at the bottom in the 'Left' Window Container and filling the complete 'Right' Window Container.
You need to add the OpenInWindow element, so that documents (such as the Events list) will display in a different Window Container if opened from the Alarm Banner.
You can specify whether any documents are to display automatically when anyone starts the ViewX client (including the Window Container in which each document window is to appear).
Example:
The following XML code is from a Startup Configuration File for a Multi-Monitor setup with three monitors.
<Startup>
<WindowContainers>
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,0" DisplayMode="Restored" />
</WindowContainers>
<InitialDocuments>
<Document Window="Primary" Type="Object" System="MySystem1">Eastern Region.Regional Overview</Document>
<Document Window="Left" Type="Object" System="MySystem1">Eastern Region.Zone 1.Plant Overview</Document>
<Document Window="Right" Type="Object" System="MySystem1">Eastern Region.Zone 2.Plant Overview</Document>
</InitialDocuments>
</Startup>
The section within the InitialDocuments tags specifies the documents that display in each Window Container when the ViewX client launches.
You can specify whether any Lists, such as Alarms Lists, are to display automatically when anyone starts the ViewX client.
Example:
The following XML code is from a Startup Configuration File for a Multi-Monitor setup with three monitors. The second monitor ("Left"
) is configured to display a filtered Alarms List when the ViewX client launches.
<Startup>
<WindowContainers>
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,0" DisplayMode="Restored" />
</WindowContainers>
<InitialDocuments>
<Document Window="Primary" Type="Object" System="MySystem1">Eastern Region.Regional Overview</Document>
<Document Window="Left" Type="Alarms" System="MySystem1">Source="Eastern Region.*"</Document>
<Document Window="Right" Type="Object" System="MySystem1">Eastern Region.Zone 2.Plant Overview</Document>
</InitialDocuments>
</Startup>
The settings that are specified for the second monitor ("Left"
) result in that Window Container displaying an Alarms List for which the entries are filtered to just those alarms that are associated with database items that are in the 'Eastern Region' Group. (The asterisk (*) is a wildcard. In this example, it is used to specify that alarms are be included for any database items that are located in the 'Eastern Region' Group, or within any levels of Groups that are nested within that Group.)
You can specify whether any Events Lists or other Queries Lists are to display automatically when anyone starts the ViewX client.
Example:
The following XML code is from a Startup Configuration File for a Multi-Monitor setup with three monitors. The second monitor ("Left"
) is configured to display two documents when the ViewX client launches: a filtered Events List and a filtered Points List.
<Startup>
<WindowContainers>
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,0" DisplayMode="Restored" ReapplyOnLogOn="true" />
</WindowContainers>
<InitialDocuments>
<Document Window="Primary" Type="Object" System="MySystem1">Eastern Region.Regional Overview</Document>
<Document Window="Left" Type="Query" System="MySystem1" Title="My Filtered Points List">
SELECT
"FullName" AS "~FullName", "Id", "Foreground", "Blink", "Background", "CurrentValueFormatted", "CurrentStateDesc", "CurrentTime", "CurrentQualityDesc", "SourceName", "Source", "ProcessCount", "TypeDesc", "MemoryUsage", "AlarmViewLink"
FROM
CDBPOINT
WHERE
( "ParentGroupName" LIKE '%Eastern Region%' )
ORDER BY
"~FullName" ASC
</Document>
<Document Window="Left" Type="Query" System="MySystem1" Title="My Filtered Events List">
SELECT TOP( 100000 )
"RecordId", "SeverityDesc" AS "~SeverityDesc", "RecordTime" AS "~RecordTime", "Source", "Message", "User", "Category", "AreaOfInterest", "Foreground", "SeqNo", "CommentNo"
FROM
CDBEVENTJOURNAL
WHERE
( "~RecordTime" BETWEEN { OPC 'H-23H' } AND { OPC 'H+1H' } ) AND ( "Source" LIKE 'Eastern Region.%' OR "Source" = 'Eastern Region' ) AND ( "Deleted" = FALSE )
ORDER BY
"~RecordTime" DESC, "SeqNo" DESC, "CommentNo" ASC
</Document>
<Document Window="Right" Type="Object" System="MySystem1">Eastern Region.Zone 2.Plant Overview</Document>
</InitialDocuments>
</Startup>
We strongly recommend that the Guest user account is not used for operator access. As part of this restriction, access to Queries Lists might be prohibited for the Guest User on your system. This is indicated by a diagnostic message being displayed if a user attempts to display a List such as an Events List, Historic List, or Queries List without logging on. To access such a List on a ViewX client on such a system, you have to log on using a valid User Account that has the relevant permissions and access. For more information, see Specify Whether the Guest User can Execute SQL Queries.
With the above XML code:
-
The SecondaryWindowContainer element includes:
ReapplyOnLogOn="true"
This attribute resets the settings that are specified in the configuration file for each of the Secondary Window Containers whenever a valid user logs on to ViewX. This is required if, for example, the Guest user is prohibited from accessing Queries Lists and you specify any Queries Lists in your Startup Configuration File. With such a setup, when ViewX is launched, the Queries Lists will display a diagnostic message to indicate that access to the Queries Lists is prohibited. Once you log on using a valid Geo SCADA Expert User Account, the content of the Queries Lists is displayed (providing that your User Account has permissions to access such content). (If the ReapplyOnLogOn attribute was not included in the SecondaryWindowContainer element, any Queries Lists that were open would close automatically whenever another user logged on.) -
The DocumentWindow element for the Events List and Points List includes:
Title="<Required Title Text>"
This attribute defines the text that is shown on the document tab for those particular Lists in ViewX. -
The SQL Query that is specified for each List restricts the entries to just:
-
Points in the 'Eastern Region' Group and any of its subgroups (for the filtered Points List)
-
Events for database items in the 'Eastern Region' Group and any of its subgroups (for the filtered Events List).
The SQL is identical to that available for such filtered Lists elsewhere on the system (for example, when using the Edit Query menu option to Ascertain which SQL Query is Presently used by a List).
-
You can restrict the maximum number of document windows that can be displayed simultaneously across the suite of Window Containers.
Example:
The following XML code is from a Startup Configuration File for a Multi-Monitor setup with three monitors.
<Startup>
<WindowContainers MaximumDocumentWindows="6">
<PrimaryWindowContainer MonitorOrigin="0,0" DisplayMode="FullScreen"/>
<SecondaryWindowContainer Name="Left" MonitorOrigin="-1920,0" DisplayMode="Restored" />
<SecondaryWindowContainer Name="Right" MonitorOrigin="1920,0" DisplayMode="Restored" />
</WindowContainers>
</Startup>
The section within the WindowContainer tags specifies that there is one Primary Window Container (named "Primary" by default), and two Secondary Window Containers (named "Left" and "Right"). The MaximumDocumentWindows attribute limits the total number of documents that can be opened across all three Window Containers to six.