HMI Applications

The HMI subsystem of TSENTRY is designed to provide as much common functionality as possible to the user while maximizing flexibility for a given system.  Not only does TSENTRY provide a common set of useful management and diagnostic screens such as ProbeX and TrendX, it also provides a set of tools to allow the user to develop his own HMI screens and easily connect them to the host TSENTRY system.

Within TSENTRY HMI screens are divided into groups called HMI Applications.  Each HMI Application is governed by a set of rules defined in the configuration file for that application.  These rules specify application options such as which users are allowed to access which screens, which screen should be displayed by default, which languages are supported within the screens, and so on.

All HMI Applications in TSENTRY are viewed using the TSENTRY Screen Explorer, or Texplore, which acts as a container application for displaying and navigating between HMI screens.  Texplore uses the various services to exchange information with the TSENTRY host in order to provide a secure yet highly customizable front end to any control system.


Texplore

 

The instructions for installing Texplore on a client workstation are laid out in the Workstation Configuration section.

The following chart illustrates the sequence of events when Texplore is started and loads an HMI application:

An HMI application is configured via a single XML application configuration file.  This file is stored on the TSENTRY host and is retrieved through the NtRtInfo service.  The actual folder on the TSENTRY host in which HMI Configuration files are stored is specified in the configuration file for the NtRtInfo service on the host.

Within this file there must be an <AppConfig> node that specifies the desired configuration for the HMI application

“HMI-” as in 'HMI-Example' is an HMI Configuration sub doc

This application configuration file must contain an <AppConfig> node that specifies each of the following basic parameters for configuring the application:

Parameter Name

Value

Parameter Name

Value

EnableTsecurity

This is a Boolean flag indicating whether or not security is enabled for this HMI application.  If this flag is false, the user is not required to login and is granted a default security key equal to the value specified by the DefaultSAK key.  If this flag is true, the user will be forced to login to the HMI system before he can access any of the HMI screens.  In addition, if this flag is true the AppConfig section of the application configuration file should contain a <LoginConfig> subsection to define how the Login screen should function (see below).

DefaultPrivileges

This is a single string specifying the default privileges that are granted to a user of this HMI application.  Individual privilege names should be concatenated together using semicolons.  If this value is not defined then only authenticated users that are specified (either explicitly or implicitly) in the application’s ASCF will be granted access to the HMI application (i.e. guest access will be denied).  If this value is defined then any authenticated user is granted access to the HMI application with these privileges unless otherwise dictated by the application’s ASCF (i.e. if guest access is allowed then all guests will be given these privileges by default).

DefaultSAK

This is the default security access key that is granted to a user of this HMI application.  If this value is less than zero, only authenticated users that are specified (either explicitly or implicitly) in the application’s ASCF will be granted access to the HMI application (i.e. guest access will be denied).  If this value is greater than or equal to zero, any authenticated user is granted access to the HMI application with this security level unless otherwise dictated by the application’s ASCF.  In addition, if guest access is allowed, all guests will be given this SAK by default.

DefaultCulture

This parameter specifies the default culture for this application.  This string must follow the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>", where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166.

TsecurityHost

This is the IP address or name of the Tsecurity host used by this HMI application.  This parameter is only used if EnableSecurity=True.  If this parameter is not specified in the <AppConfig> section then Texplore assumes that the Tsecurity host is the same as the TSENTRY controller.

TsecurityPort

This is the TCP/IP port number used by the above Tsecurity host.  This parameter is only used if EnableSecurity=True.  If this parameter is not specified in the <AppConfig> section then Texplore assumes the Tsecurity host is configured to listen for requests on the default Tsecurity TCP/IP port number (8080).

TsecurityApp

This is the name of the Tsecurity application that specifies the security configuration for this HMI application.  An ASCF matching this name must be configured on the TsecurityHost above.  This parameter is only used if EnableSecurity=True.  If this parameter is not specified in the <AppConfig> section then Texplore assumes that the Tsecurity application name is the same as the HMI application name.

In addition to the above key/value parameters, the <AppConfig> section can also contain several subsections:

  • If the EnableSecurity parameter above is set to True, then upon starting the HMI application the user will always be automatically directed to the Login screen.  Consequently, the <AppConfig> section above must also contain a <LoginConfig> subsection to configure how the Login screen is to function.

  • If the application is to support multiple languages, the <AppConfig> section can also contain an optional <Languages> subsection to specify various phrases used within the application.

  • If custom variables are defined for a given HMI application, the <AppConfig> section must also contain and <AppVariables> subsection to list these variables and define their initial values.

The <ScreenConfig> subsection within the <AppConfig> main section is required to specify any ‘root’ menu screens within the application.  For more information about how Texplore navigates from screen to screen see Browsing from Screen to Screen.

Subnodes in the <ScreenConfig> subsection must conform to the following format:

<Screen ScreenID="MainMenu"             ClassName="MyNamespace1.MainMenu,MyAssembly1"             Default="True" />

<Screen> subnodes have the following attributes:

Parameter Name

Value

Parameter Name

Value

ScreenID

This is the name by which this screen will be known within the HMI application.  The ScreenID is used when linking from one screen to another.

ClassName

This is the fully qualified assembly name for the class that defines this screen.

Default

This Boolean flag indicates whether or not this is the default screen for the application.  Only one <Screen> subnode should have this attribute set to “True”.  This attribute can be omitted on all other <Screen> subnodes.


“UI-” as in 'UI-Example' is an User Inferface sub doc


Standard Screens

The following sections describe each of the standard screens provided with TSENTRY.

© 2022 TelePro, Inc.
3811 Illinois Avenue, Suite 100, St. Charles, IL 60174