- Created by Luke Cerwin , last modified on Jan 06, 2023
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 19 Next »
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
Overview
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.
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 |
---|---|
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 |
---|---|
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. |
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:
Parameter Name | Value |
---|---|
AllowGuest | This Boolean flag indicates whether or not users are allowed to login as a guest. |
RequireUserIDForGuest | This Boolean flag indicates whether or not a user must provide a username and domain in order to login as a guest. Though the authenticity of the provided user name and domain are not verified, this feature may be desired for logging events within the HMI application. |
PreloadUserID | This Boolean flag indicates whether or not the username and domain fields should be preloaded with the username and domain of the currently logged in Windows user. Note: for web-based HMI applications, this feature will only work if Anonymous access to the virtual web application is disabled. |
AllowAssumedAuthenticated | This Boolean flag indicates whether or not a password must be specified if the username and domain match those of the currently logged in Windows user. This flag can be used in conjunction with the PreloadUserID flag so that the user needs only to click the Login button in order to log in as himself. |
SessionTimeout | This integer value indicates the maximum amount of time (in minutes) that a session can remain idle before it is considered timed out. Once a session has timed out the user must re-login before he can regain access to the HMI application. |
PasswordExpirationNotice | This integer value is used to automatically present a form to allow the user to change his password. Upon login this form will be displayed if the number of days until the logged in user’s password expires is less than or equal to this value (expressed in days). |
BackColor | This is the background color of the Login screen. |
TitleColor | This is the font color of the Login screen title. |
ForeColor | This is the font color for all other text on the Login screen. |
ErrorColor | This is the font color of any errors displayed to the user during the login process. |
DisplayLanguages | This flag indicates whether or not the user will be presented with a dropdown box to select the desired language. |
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
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:
<add Language="en"> </add>
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:
Parameter Name | Value |
---|---|
LanguageName | This phrase is the string name of the language used for display within the HMI. For instance, this is the string listed in the language combobox on the Login page for selecting the desired language. |
Title | This phrase is the title of the HMI application for the specified language. For instance, this string is displayed as the Login screen title. |
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.
Following is an example <AppConfig> section for a given HMI application.
<AppConfig> <!-- Application settings --> <add key="EnableTsecurity" value="True" /> <add key="DefaultPrivileges" value="Priv1;Priv2" /> <add key="DefaultCulture" value="en" /> <!-- Tsecurity settings --> <!-- Commenting out the following three entries selects the --> <!-- default settings, which is appropriate for most systems --> <!--add key="TsecurityHost" value="127.0.0.1" /--> <!--add key="TsecurityPort" value="8080" /--> <!--add key="TsecurityApp" value="BCS" /--> <!-- Screen Configuration --> <ScreenConfig> <Screen ScreenID="MainMenu" ClassName="MyNamespace1.MainMenu,MyAssembly1" Default="True" /> <Screen ScreenID="SubMenu" ClassName="MyNamespace2.SubMenu,MyAssembly2" /> </ScreenConfig> <!-- Login Configuration --> <LoginConfig> <!-- Login functionality settings --> <add key="AllowGuest" value="True" /> <add key="RequireUserIDForGuest" value="True" /> <add key="PreloadUserID" value="True" /> <add key="AllowAssumedAuthenticated" value="True" /> <add key="SessionTimeout" value="2" /> <add key="PasswordExpirationNotice" value="14" /> <!-- Login display settings --> <add key="BackColor" value="Navy" /> <add key="TitleColor" value="Yellow" /> <add key="ForeColor" value="White" /> <add key="ErrorColor" value="Red" /> <add key="DisplayLanguages" value="True" /> </LoginConfig> <Languages> <add Language="en"> <add key="LanguageName" value="English" /> <add key="Tag" value="_en" /> <add key="Title" value="Tsentry Real-Time Process Control System" /> <add key="UserName" value="User Name" /> <add key="Password" value="Password" /> <add key="Domain" value="Domain" /> <add key="Language" value="Language" /> <add key="Login" value="Login" /> <add key="LoginAsGuest" value="Login as Guest" /> <add key="ChangePassword" value="Change Password" /> </add> <add Language="es"> <add key="LanguageName" value="Español" /> <add key="Tag" value="_sp" /> <add key="Title" value="Tsentry Sistema Control Proceso" /> <add key="UserName" value="Usuario" /> <add key="Password" value="Contraseña" /> <add key="Domain" value="Domain" /> <add key="Language" value="Idioma" /> <add key="Login" value="Entrada" /> <add key="LoginAsGuest" value="Entrada como huésped" /> <add key="ChangePassword" value="Cambio contraseña" /> </add> <add Language="it"> <add key="LanguageName" value="Italiano" /> <add key="Tag" value="_it" /> <add key="Title" value="Tsentry Real-Time Process Control System (Italian)" /> <add key="UserName" value="Utente" /> <add key="Password" value="Parola d'accesso" /> <add key="Domain" value="Dominio" /> <add key="Language" value="Lingua" /> <add key="Login" value="Entri" /> <add key="LoginAsGuest" value="Entri come ospite" /> <add key="ChangePassword" value="Cambi la parola d'accesso" /> </add> </Languages> <AppVariables> <!-- Application variables and default values --> <add key="variable1" value="1" /> <add key="variable2" value="2" /> <add key="variable3" value="Test Variable 3" /> </AppVariables> </AppConfig>
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:
<?xml version="1.0" encoding="utf-8"?> <!-- Configuration file for the Tsentry Screen Explorer --> <configuration> <configSections> <!-- Do not edit this section --> <section name="TexploreSettings" type="TPRI.HMI.Application.Explorer.TexploreSettingsSectionHandler,Texplore" /> </configSections> <appSettings> </appSettings> <TexploreSettings> <AppHistory Host="127.0.0.1" App="TsentryHMI" /> </TexploreSettings> </configuration>
The following command line parameters are supported by Texplore:
/C Host/AppName
Automatically connect to the specified TSENTRY host and start the named HMI application./L
Run the application using only the locally installed files and assemblies (do not automatically download updated files from the host computer)./K
Run Texplore in kiosk mode (full-screen without title bar)./T path
Exit application when user disconnects from host and automatically restart the version of Texplore.exe specified by path. This parameter should only be used internally by Texplore.
The following several sections describe how to use the Texplore application to browse through screens in an HMI application.
“UI-” as in 'UI-Example' is an User Inferface sub doc
By default, when Texplore is started the Connect screen is displayed to the user. This screen prompts the user to enter the TSENTRY host name (or IP address) and the name of an HMI application to which it should connect.
When the user clicks on the Connect button, Texplore tries to connect to the NtRtInfo service running on the specified host. If successful, Texplore then requests the HMI application configuration information for the specified HMI application name. If this is successful, Texplore checks to see if Tsecurity is enabled; if so, it displays the Login screen, and if not it simply displays the default screen for this application.
The Login screen is used to authenticate the user into the HMI application. It prompts the user for his name, password, domain, and desired language for login into the HMI application.
The following buttons are available to the user to allow him to proceed:
Login, which attempts to login to the application as the specified user.
Login as Guest, which attempts to login to the application as a guest user. If the HMI application allows guest logins, the user will then be granted the default guest security access key.
Change Password, which allows the user to change his password.
Disconnect, which cancels the login process and returns the user to the Connect screen.
If the user successfully logs in, either as a valid user or as a guest, Texplore will then display the default screen for this application.
In addition to the main client area of the Texplore window used to display the actual HMI screens, at the top of the window is a toolbar providing the user with additional controls and information.
At the left side of this bar are three buttons for navigating between screens. The left arrow button navigates the browser back by one screen in the history, and the right arrow navigates forward by one screen in the history, if possible. The third button, which displays an image of a house, automatically navigates directly to the default screen for the application.
The fourth button may be used to print a copy of the screen.
To the right of the navigation buttons are two colored circles. These are status indicators of data communications with the TSENTRY host: the left indicator represents OPC communications, and the right corresponds to trending communications. Each of these indicators can be in the following states:
Solid gray – no variables requested by the current screen
Solid orange – variables requested but communications not established
Blinking green – variables requested and communications online
To the right of the status indicators the current date and time are displayed.
In the center of the toolbar is the name or title of the current screen. If the System.Windows.Forms.Form.Text property of the screen’s class is set to a valid string, this string will be displayed as the title of the screen; otherwise the name of the screen defaults to the class name only (without namespace qualifiers). Double-clicking on this name displays a message box that provides additional details about the class defining the current screen as shown below:
At the far right edge of the Texplore toolbar are two fields used to control security within the HMI. First there is the name of the current user logged in to the HMI application, and to the right of that is the Logout button.
Double-clicking on the name loads a popup window that provides additional information about the current user, his security access key (SAK) within the application, the list of privileges that he is granted within the application, a brief description of how he logged into the application, and several options for changing the current user.
The following buttons are available on this form:
Reauthenticate, which allows the user to reauthenticate as a new user without leaving the application. Upon reauthenticating the user will return to the same screen but with a different set of credentials and rights within the application. This is useful if the user originally logged in under one identity but then needs the additional rights only available when logging in as a second identity. If this button is pressed the display will return to the Login screen; however, the Disconnect button on the Login screen is replaced with a Cancel button, which allows the user to return to the HMI without actually reauthenticating.
Logout, which allows the user to completely log out of the application and return to the Login screen. Once the user has logged out he cannot return to the application without first logging back in.
Return, which closes the Current User Information form without making any changes to the currently logged in user’s identity.
The Logout button at the far right of the Texplore toolbar performs the same function as the Logout button in the Current User Information window: it logs the current user out of the application and returns him to the Login screen.
Once Texplore has connected to an HMI application and, if required, the user has authenticated into the HMI, Texplore will display the default screen for the HMI application in the main client portion of the Texplore window. Below is a screenshot of NtRtMenu, which is the default screen for the standard TsentryHmi application.
All screens to be displayed in the Texplore environment must conform to the following:
Each screen must inherit, either directly or indirectly, from the .NET Framework class System.Windows.Forms.Form.
Each screen must implement the TPRI.Tscreen.ITscreen class interface.
This is required so that the Texplore container can properly interact with and display all custom application screens.
One screen can link to another in a variety of different methods:
A screen can have a TPRI.HMI.Controls.CmdButton or TPRI.HMI.Controls.LinkLabel object on its display that specifies the ScreenID of the new screen in its LinkedScreen property.
A screen can raise the ITscreen.ActivateScreen(..) event, which is passed a TPRI.Tscreen.ActivateScreenEventArgs object that specifies the ScreenID of the new screen.
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:
If a screen with this ScreenID is already registered in the HMI application configuration file in the AppConfig/ScreenConfig section of the application configuration file.
If there is no screen currently registered with the specified ScreenID, the TscreenMgr will check the assembly of the original screen to see if there is a class whose name matches the ScreenID in the same namespace as the original screen.
For instance, suppose the application configuration file has the following <ScreenConfig>
section:
<ScreenConfig> <Screen ScreenID="MainMenu" ClassName="MyNamespace1.MainMenu,MyAssembly1" Default="True" /> <Screen ScreenID="SubMenu" ClassName="MyNamespace2.SubMenu,MyAssembly2" /> </ScreenConfig>
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 Default="True"
attribute in the HMI configuration file. At the same time, a MyNamespace2.SubMenu object from the MyAssembly2.dll assembly will be registered with Texplore and its TscreenMgr using the ScreenID of "SubMenu".
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.
The Texplore application internally has a TPRI.Tsecurity.TsecurityMgr object that manages security for the HMI application. It is responsible for notifying each screen that is loaded of the currently logged in user and his security access key. However, it is up to each screen (and each object loaded by each screen) to enable or disable its own components as appropriate based on this security access key.
In addition, the TsecurityMgr object watches the HMI display for inactivity. If no user interacts with the HMI display for the number of minutes specified by the SessionTimeout key in the AppConfig/LoginConfig section of the HMI application configuration file, the TsecurityMgr will automatically timeout the current login session. When this happens the Login screen is immediately redisplayed for this user. At this point if the user reauthenticates again as the original user, he can return to the same point in the HMI application. If he reauthenticates as a new user then the previous HMI application session will be reset and the user will be log in as if he had not been logged in before.
Standard Screens
The following sections describe each of the standard screens provided with TSENTRY.
The NtRtMenu screen is the main menu provided with the TSENTRY system. The links in the top section provide access to each of the standard screens provided with the TSENTRY system (NtRtMgr, NtRtProcEd, ProbeX, etc.). At the bottom of the page is a link to the TSENTRY documentation, which starts and instance of Internet Explorer to display TsentryHelp website.
Following is a screen shot of the NtRtMenu screen.
The NtRtMgr screen can be used to view the status of the TSENTRY system. It provides a web-based interface mimicking that of the NtRtMgr console application.
Following is a screenshot of the NtRtMgr screen:
The top half of the screen displays information about each of the processes in the system. As in the console NtRtMgr application, right clicking on any of the process names brings up a menu that allows the user to edit process options (via a link to the NtRtProcEd screen), control the individual process (Activate, Suspend, Deactivate, etc.), or control the process group (Activate Group, Deactivate Group, etc.).
The bottom half of the screen is a log of messages sent to the LogMsg message queue by any of the processes. Messages logged here are also written to a disk file as configured in the system initialization files.
The two buttons in the lower-right-hand corner of the display allow the user to enter his own LogMsg messages.
The NtRtProcEd screen is the HMI version of the process editor form created when right-clicking a process in the NtRtMgr application and choosing the Edit Options option.
Following is a screenshot of the NtRtProcEd screen:
All of the fields on this screen reflect current run-time values. These values are initialized from the process initialization file when the TSENTRY system is started.
The fields with a yellow background may be edited; those with white backgrounds may not be edited. Only users with the “Process Edit” privilege may edit the fields on this screen.
Field Descriptions:
AppName
A list box containing all of the processes running under the TSENTRY system. All of the remaining fields on the screen pertain to the selected application name.GroupName
The name of the process group that the selected application is a member of. This field is read-only.UsesNtRt
Checkbox indicating whether the process utilizes the tpriNtRt library for process management. This field is read-only.BinName
The name of the binary executable file for the selected application. This field is also read-only.CmdLine
All command line parameters for the application. Spaces are allowed. Quotation marks encasing the entire string of command line parameters are not necessary.Run Mode
“Standard” indicates that this process is a normal Windows executable file (.exe). “Rt” indicates that this process is an RTX “hard” real-time executable file (.rtss). This field is read-only.Memory Lock
Checkbox indicating if the process is locked in memory. This field is read-only.Priority
The priority level of the process. Please refer to the documentation on the NtRtMgr startup (section 4.1.1) for an explanation of the priority levels.Debug Level
The debugging level of the process. The debugging levels at the beginning of the list offer less debugging messages and logging, whereas the levels towards the end of the list offer more debug.Start Order
The order number for the process’s start position. This value is read-only.Startup Options
There are two sections to the startup options:Startup Mode
Processes can either be started automatically when TSENTRY starts or started manually by the user. If automatic startup is selected (the “Auto” radio button is selected), a startup delay must be defined. The delay indicates the number of milliseconds to wait after the last process was started before starting this process. Valid values are integers between 0 and 10000. If manual startup is selected, the startup delay box will be disabled and set to –1.Automatic Restart
Checkbox indicating whether the TSENTRY Manager will automatically restart a process if the process exits or dies unpredictably.Wait for Initialization
The amount of time (in milliseconds) that the TSENTRY Manager will wait for a process to initialize itself.Termination Options
Indicates whether the TSENTRY Manager will forcibly kill a process that takes more than the allotted time to exit gracefully after being requested to do so. If set to “Auto”, the time to wait for a process to exit gracefully may be entered in the “Max Wait” text box. If set to “Never Kill”, the TSENTRY Manager will never attempt to forcibly kill the process.Pulse Timeout
The amount of time (in milliseconds) to wait for the process to signal a pulse, indicating that it is functioning properly. If the TSENTRY Manager does not receive a pulse from the process within this amount of time, the Manager will terminate the process.Exception Handling
A series of flags for determining what information to provide in the log about a process that throws an exception or run-time error.Write Changes to File
Checkbox which indicates whether the settings made on this screen should be written to the process initialization file when the Submit button is clicked.
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:
Drag and Drop
This column allows the user to drag and drop rows.Variable
This field allows the user to specify the name of the variable. Double clicking in this field lets the user to change the variable name, either directly by typing in the new name or via the data dictionary, which is accessible by clicking on the button displayed in the text editor when modifying the variable name.Type
This field indicates to the user the type of the specified variable as returned by the TSENTRY host system.Value
This field displays the current value of the variable or array element. Normally, the value is displayed with a yellow background, which indicates that the value is being updated live from the host. If the user has rights to modify variable values he can enter a new value into this field, in which case the background will turn orange to indicate that the value has been modified. Modified variable values can be submitted to the host by clicking on the Send Data button in the lower-right-hand corner of the screen.Format
This field indicates the current format of the variable value. By default variables are displayed in their normal format, but certain variable types, such as integers, can be displayed in a number of different formats like binary, hexadecimal, unsigned, etc. Simply clicking in this field allows the user to choose any available alternative formats.Description
If the variable has a description associated with it in the data dictionary, that description will be displayed in this field.Notes
This field displays user entered notes of a variable.
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:
Mouse over column divider and wait for the resize cursor.
Hold down left mouse key to move left or right to resize column width.
Double click to auto resize column width.
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):
Reset, which closes the currently displayed ProbeSet and clears the list of variables.
Save, which saves the current list of variables under the specified ProbeSet name.
Delete, which deletes the current ProbeSet from the TSENTRY host.
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:
Collapse all the tree nodes to show variable names (root nodes) only and hide array elements (1).
Expand tree nodes to show variable names and the first one layer of array elements (2).
Expand tree nodes to show variable names and the first two layers of array elements (3).
…
Expand tree nodes to show variable names and all the array elements (all layers of the tree) (*).
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
Details on the TrendX screen are provided in the section on the Trend System.
Details on the TriggerMgr screen are provided in the section on the Trend System.
Details on the TrendFileMgr screen are provided in the section on the Trend System.
- No labels