...
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
...
Expand | |
---|---|
|
...
The TSENTRY Screen Explorer, or Texplore, is the application used to display HMI screens to a user. Texplore is simply an application for browsing the TSENTRY HMI subsystem, much like Internet Explorer is an application for browsing the Internet. Texplore provides much of the common framework for an HMI such as connecting to a TSENTRY host, reading the HMI configuration file, providing a login screen, and managing the navigation between screens within the HMI application, but by itself does not define any specific HMI screens.
Texplore relies on several processes running on the TSENTRY controller to provide it with information as it operates as the HMI client browser. These are:
The NtRtInfo service, which exposes static information from the TSENTRY controller to client objects in a request/reply architecture.
The Tsecurity service, which provides authentication and authorization services to client objects.
The GsmOpcSvr process, which exposes the values of individual variables in global memory on the TSENTRY controller.
The TrendSrv process, which exposes sampled or trended values of variables in global memory on the TSENTRY controller.
| |
The instructions for installing Texplore on a client workstation are laid out in the Workstation Configuration section. |
Expand | ||
---|---|---|
| ||
The following chart illustrates the sequence of events when Texplore is started and loads an HMI application: |
Expand | ||
---|---|---|
| ||
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 |
Info |
---|
“HMI-” as in 'HMI-Example' is an HMI Configuration sub doc |
Expand | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
This application configuration file must contain an <AppConfig> node that specifies each of the following basic parameters for configuring the application:
In addition to the above key/value parameters, the <AppConfig> section can also contain several subsections:
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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> subnodes have the following attributes:
|
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
The <LoginConfig> subsection within the <AppConfig> main section is required if security is enabled and the Login screen is to be displayed to the user. This section specifies the following parameters:
In addition to the above parameters, the <LoginConfig> node should also contain a <Languages> subnode for specifying custom strings (such as the Login screen title) based on currently selected language. Indeed, it is this subnode that specifies the list of languages presented to the user if the DisplayLanguages parameter above is set to True. Each of the child nodes listed in the <Languages> subnode corresponds to a separate language available to the HMI system. Each language in this table is keyed according to the culture with which the language is specified; consequently, the table key |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
The <Languages> subsection within the <AppConfig> main section is used to define language-specific phrases used by the HMI application. The <Languages> section should contain a subnode for each available language specified in the following format:
The value of the Language attribute 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. Each of the language nodes should contain a list of key/value pairs where the key is the phrase ID and the value is the phrase given in the current language. The following phrase IDs are defined by basic Tsecurity HMI functionality:
|
Expand | ||
---|---|---|
| ||
The <AppVariables> subsection within the <AppConfig> main section is used to define application-specific variables used by the HMI application. Each of the subnodes in this section should specify the key name of the variable and its initial value. This variables are all stored as strings within the HMI application. |
Expand | ||
---|---|---|
| ||
Following is an example <AppConfig> section for a given HMI application.
|
...
Expand | ||
---|---|---|
| ||
Texplore stores some data in its own configuration file for use the next time the application is started. The application configuration file is located in the same folder as the Texplore executable file and is named Texplore.exe.config. Currently, the only persistent information stored in the configuration file is the history of HMI applications to which the TSE program has connected. Following is a sample configuration file:
|
...
Expand | ||
---|---|---|
| ||
One screen can link to another in a variety of different methods:
The Texplore application internally has a TPRI.Tscreen.TscreenMgr object that manages navigation between screens. In either of the cases above, this TscreenMgr object will use the ScreenID name to find the appropriate new screen as follows:
For instance, suppose the application configuration file has the following
When the application is started, a MyNamespace1.MainMenu object will be loaded from the MyAssembly1.dll assembly, assigned a ScreenID of “MainMenu”, and initially presented to the user. This occurs because this screen is marked with the If the NtRtMenu screen has a CmdButton on it whose LinkedScreen property is set to “SubMenu”, the TscreenMgr will immediately find the SubMenu screen in its list of registered screens and activate it. However, if the CmdButton on the MainMenu screen instead specifies “OtherScreen” in its LinkedScreen property, the TscreenMgr will find that there is no screen currently registered with that ScreenID. Therefore it will check if the MyAssembly1.dll assembly contains a class by the name MyNamespace1.OtherScreen; if it finds one then that screen will be immediately registered, created and activated. If this class does not exist then the navigation will be canceled. Consequently, only top-level menus must be specified in the ScreenConfig section of the application configuration file as long as all classes corresponding to screens linked from those menus are located in the same namespace as the top-level menu. |
...
Expand | ||
---|---|---|
| ||
The ProbeX screen is a diagnostic tool that allows the user to “peek and poke” at variables in shared memory. Effectively, the user can enter the fully qualified name of a variable in global common, and the ProbeX screen will retrieve and periodically update its current value on the display. In addition, if the user has the rights to do so he can modify the current value and submit it back to the TSENTRY system. Following is a screenshot of the ProbeX screen: That bulk of the screen constitutes the display of the various variables loaded into the ProbeX screen. This display is effectively a tree, where each root of the tree corresponds to a single variable. In the case where the variable is actually an array, the value of each element in the array will be laid out in sub-branches of the tree. For each variable the display is divided into several columns:
The order of the columns can be re-arranged by Drag and Drop. Notes: The first two columns (Row Drag and Drop column and variable name column) cannot be moved.
The column width can be resized by following the steps below:
The ProbeX screen has the ability to save the list of displayed variables and formats to a file stored on the TSENTRY host so that this list can be easily retrieved again at some later time. The set of controls at the bottom center of the ProbeX screen allow the user to load, save, reset, and delete these files. The drop down list at the left specifies the name of the ProbeSet file currently displayed, and allows the user to choose one to load into the display. To the right of this field are a number of buttons (from left to right):
In the lower-right-hand corner of the screen is the Send Data button, which allows the user to submit modified variable values back to the host system. Note that this button is only available if the currently logged in user has the appropriate rights in his security access key to write variable data back to the host. Next to the Send Data button is a cancel button, which allows the user to cancel the modified variable value changes and display the live values.
The Probe display is based on a “tree view” display format. The display is composed of branches and leafs. The branches may be display as Expanded (“-“) or Collapsed (“+”). If a branch contains a non-array variable it does not contain any leafs and it may not be Expanded or Collapsed. If a branch contains an array variable it may be Expanded or Collapsed. The variations are show here.
A short cut is available to expand or collapse the tree branches and leafs. Click the second column of grid header (1, 2, 3… or *) you can:
One or several of the branches in the tree may be “selected”. Branch selection is performed using the standard Windows Click, Shift Key with Click and Ctrl Key with Click method. All of the “selected” branches will be changed when an appropriate option is selected from the popup menu. To display the popup menu of interactive user options click the right mouse button after selecting one of several branches in the tree. Note: The popup menu will display differently when at least one branch has been selected compare with none is selected. Selecting New Variable option will insert a new variable line at the selected location in the tree. While pointing at the new line in the tree you may double left click the left mouse button to display the Data Dictionary Window. You may also select the Data Dictionary Window from the menu. Selecting the Edit New Variable will display the Data Dictionary Window. You may also directly edit the variable name. The Data Dictionary Window may also be display by clicking on the button at the right side of the field name area. The selected variable/branch will be copied into the paste buffer. Note: The copy function will copy all of the details for the selected branches. If the branch is assigned to an array variable all leafs will also be copied. The selected variable/branch will be copied into the paste buffer and removed from the current position in the tree. If there is a variable/branch in the paste buffer this option will be available. Note: In the case of array variables all leaves of the branch will also be inserted. The selected variable/branch will be removed from the current position in the tree. Add a selected prefix to the selected variable. When the Graph Variable option is clicked the selected variable/branch will be displayed in a graphical format window. Note: The graph option requires that only one variable/branch be selected. You may select each variable/branch and generate a graph window as many times as you would like. The only restriction is that you select a variable/branch one at a time. Each graph window may be sized and positioned individually as shown here. It is not locked inside the Probe window. The graph format may be configured for each window. If the same variable/branch is shown in multiple graph windows each window may have a different configuration. The graph window provides two user editable values for the upper and lower Y axis scale values. The screen also provides a command button to “Rescale” the Y axis. The rescale calculation is based on the currently display data. You may press the button repeatedly to regenerate the Y axis scale values to fit the current data. The graph area supports numerous interactive functions. If you left click in the graph area you will trigger the option to zoom the graph. After entering zoom mode the display provides a scroll bar at the bottom of the display area. You may use the scroll bar to pan the graph display area. To return to the normal non zoomed mode click the right mouse button to display the graph option menu. Then click on the Undo Zoom option. When the menu is displayed you may also use the short cut key “Z” to trigger the Undo Zoom option. The graph option menu provides numerous interactive options. For example the option to display both a graph and a table of the current values is available. Selecting this option as shown below will modify the display format. The option to select a Plotting Method is also very useful. The default plotting method for array variables is Points + Line The default plotting method for non-array variables is Bar Click to show Find and Replace dialog box. Enter Find text and Replace with text. Click Replace All to find and replace the variables for all rows. Click Replace Selected to find and replace the variables for the selected rows Selecting Set Values will display a prompt window. You may then enter a value to be applied to all of the selected variables. Modified values will be show with a red background. While the new values will be shown on the screen it will not be sent to the host until the send data button is pressed If changed values have NOT been sent to the host they may be “reloaded” with their original values. Selecting Set Formats will display a prompt window. You may then select a format from the drop down list to be applied to all of the selected variables. All of the tree nodes will be opened. All of the tree nodes will be closed |
Expand | ||
---|---|---|
| ||
Details on the TrendX screen are provided in the section on the Trend System. |
Expand | ||
---|---|---|
| ||
Details on the TriggerMgr screen are provided in the section on the Trend System. |
Expand | ||
---|---|---|
| ||
Details on the TrendFileMgr screen are provided in the section on the Trend System. |