unHMI 1.1.6
|
Effective use of the new unHMI requires the understanding of some key concept and design decisions. Their origin is in the needs of ergonomic use combined with backward-compatibility, as discussed in the Motivation and Background chapter, combined with technical solutions available in WinCC OA.
The design of the unHMI from the user perspective aims at providing the user experience (UX) that allows:
In what follows, we will describe technical means and concept that allowed to meet these functional requirements.
Many elements of the HMI with a well defined functionality, such as a tree view, command buttons, dynamic trend as well as one (or many) synoptic panels or configuration/monitoring tools may be considered as semi-independent from the point of view of functionality and composition of the screencontent. For example, the window tree, a trend plot, or a synoptic view all have different functions for the operator, and may need to be visible at the same time for the operator.
Let us refer to them as modules, and expose their specific through the contrasting difference with respect to "popup" or "dialog" panels. For the latter, a clear "parent-child" relation is defined, and an action on the parent panel may be blocked until the child panel (such as a popup dialog asking for a confirmation) is closed.
Similarly, faceplates open from a specific synoptic view are its children: navigating to another synoptic view will cause them to be closed, which is due to UNICOS operation philosophy imposing that a device may not be operated (through a faceplate) if its synoptic view is not visible. And even though it was possible to open multiple related synoptic views in the UNICOS HMI (through the Synoptic or Diagnostic entries in the context menu) and operate them semi-independently, they acted as belonging to a single module, and got closed when the synoptic view was changed.
On the contrary, a dynamic trend or a device/DPE trend opened from a synoptic view would stay open even if another synoptic is displayed: it acts as a separate module.
To deal with multi-screen setups, the traditional HMI used to open multiple main windows, e.g. separately for the 3 screen in the LHC cryogenic setups as pictured in the Introduction section. These behaved as three modules, with each main window that could have its own chain of child windows, and its own independent main view showing a selected synoptic view. Hence, the concept of the module should become familiar for the existing users of UNICOS.
The UnHMI embraces the concept of modules even further; multiple modules showing synoptic views may be running at the same time in the main application window, in various configuration: either being displayed side-by-side, or through live-updated "preview" windows. These features will be described in the following subsections, and they work particularly well with the UnHMI-provided main application window that could be freely resizable, and could even spawn multiple adjacent computer screens to present a single and continuous "workbench".
The figure below demonstrates an example of two synoptic views for adjacent LHC sectors embedded in the same UnHMI application window. The two panels that were designed to be displayed in two adjacent computer screens, representing two halves of a large synoptic screen (for the 78 and 81 sectors of the LHC Cryogenics Pont8) run in two separate modules, using the Splitter described in more detail below).
The two modules have their titles ("Module 1" and "Module 2") displayed in dedicated title bars, and each of them has a dedicated navigation buttons and navigation history.
Note that the module on the left side has a light-green highlight around the title, which designates it as the current module. This means that the window tree will act by default on this module, and the device overview panel would also be opened in it. To set the other module as current one needs to click on its title bar.
At the bottom part, there are two sets of buttons, with labels "Command Module 1" and "Command Module 2", which refer to the commanding of the synoptics displayed in the two corresponding modules. At the bottom-right part, another module with the label "Extras" is displayed, containing the device-search and the UNICOS log window, as already known to the UNICOS users. Note that all these modules have a small "X" button in their top-right corner: as will be explained below, these are Dock modules} that could be resized and their position within the main window may be changed.
Positioning two (or more) modules side-by-side in the center of the main window (using the splitter) is not the only way of working with multiple modules. An alternative way employing Zoom modules and previews will be discussed below. The relative size of modules could be changed and they would react to the resizing of the main window. Therefore, with the new UnHMI there is no need to restrict the size of synoptic views/panels: they may automatically adapt by scaling its content, to the actual available window size.
Having in mind the performance, it was decided to limit the number of modules that could be open (and run in parallel) to 4 (this is an arbitrary choice), and have the UnHMI start with 3 modules by default (unless a dedicated layout was defined). More explanation about opening/closing the modules is provided in the #ref manual_zoomAndPreviews chapter below.
In the new configuration of the Human Machine Interface, the arrangement of the modules and different graphical tools is presented by default as shown in the figure below.
The modules that are part of the composition are:
In the classical approach to the UNICOS HMI the application window is completely filled with predefined layout: the major part of the screen is filled with the "main view", on top of which there is an area holding the UNICOS Menu, navigation, buttons, system integrity and "beep" indicators, the login area and the clock; the part below the main view is dedicated to displaying the command buttons, the UNICOS log and device search. Relative sizes, positions and visibility of all these items are predefined and cannot be changed.
However, for many GUI applications this rigid model is extended to allow the user to rearrange the screen composition: a dedicated area around the "central widget" allows to arrange various "utility windows" or "tool palettes", also called dock modules according to one's needs.
Dock modules can be moved inside the current area, moved into new areas and floated (e.g., undocked into separate "floating" window). The concept is known to the users of WinCC OA GEDI tool, whereby tool windows such as "property editor" or "project view" has a form of a resizable dock module, typically displayed on the left edge of the window:
Dock modules are employed by the UnHMI as the way to organize various auxiliary windows: namely preview modules, command modules (with buttons), etc; they may be easily recognized by the dedicated label and a small "X" button in the top-right corner allowing to close the module, and a button that allows to "float" (undock) the window to the left of it. Undocking is also possible by double-clicking on the label.
Once a dock module is undocked it could be freely repositioned on the screen or docked into another dock area (with drag-and-drop); a placeholder for the window placement is shown when such operation is performed:
A dock module could be dragged "on top" of another module, which will allow to group them together in a tab (see the GEDI screenshot above), whereby the two modules: "Property Editor" and "Project View" occupy the same docking space and the visible one is chosen using the tab at the bottom.
Multiple dock modules could also occupy the same dock area (left, right, top, bottom of the screen) placed next to each other: the user may freely rearrange them within the area (by undocking and then choosing another place), as well as change their respective size (by dragging the "....." area that separates them). The relative size of the dock areas with respect to the central widget (main view) could also be changed freely (again, by dragging the "....." separator beween the central widget and the dock area).
Once a dock module is floating, it could be docked again by either dragging it into one of the dock areas, or pressing the small "dock/undock" button on its top-right corner.
Dock modules may be closed using the small "X" button in their corner. This action, however, merely hides the dock window, rather than removing it, and it is easy to restore the closed window. Right-clicking on the label of any other visible dock module shows a context-menu with the list of all dock modules, with their visibility indicated, and allows to bring back any closed module as shown in the picture below:
Dock modules may be arranged around the screen, on top, bottom, left or right of the central part (even though this may be partially restristed in future):
At this moment, it is a known limitation that the size, position and state of the dock modules (Preview modules, Command modules, and Extra module) cannot be saved or loaded when initializing the HMI. This means that these modules should be resized, shown or hidden, and relocated according to the user needs after each restart of the HMI. This limitation will be fixed in a future implementation of the unHMI component, most likely when the WinCC OA 3.18 is distributed, as ETM has implemented in this version of WinCC OA new functions that will support the save and load functionalities of the current state of dock modules displayed on the user screen.
The HMI control menu bar is composed by the buttons and widgets with the main functionalities of the HMI and is located in the top part of the Human Machine Interface by default. The butttons that are part of the control toolbar are the Unicos icon, the Window tree, the Trend tree, the Alarm list, the Event list, the Device Tree overview, the Front Ends diagnostic, the Add module button, the open Navigation Panel, the Print button, the Screenshot button, the Screen layout cascade button, the Uncluttered button, the Beep button (if active), the System status, the User login, and the date and time widget.
It is one of the most important buttons of the control toolbar to configure and manage the Human Machine Interface. Effectively, it is a main menu button where the user with the appropiate access rights can perform the configuration and management actions. The icon can be personalize in the Application Configuration section under the HMI logo as well as other features such as the color of the bar background color, the default panels, navigation panel, the alarms, and beep configuration.
The Add Module Button adds a new module in the screen with the panel file that is specified as default. The default panel is defined in the Screen layout facility, the $startPanel parameter in the console manager, or in the HMI interface as shown on the application configuration field. If two or more of these default implementations are in place, only the one with the highest priority will be considered. In this case, the default Screen layout is the top priority, followed by the $startPanel dollar parameter, and the default panel or panels specified through the HMI. If no panel is specified, then the unHMI_defaultPanel.pnl will be the one added and displayed on the new preview module.
The open navigation button ("boat" button) controls the visibility, hidden or shown, of the custom panel defined to allow the user to navigate through different panels while having a schema of the structure of the system.
The “Eye” button provides a uncluttered view of the HMI, hiding on a click all docked modules but the navigation panel as in the screenshot below.
On a subsequent click, all the currently open docked modules become visible again in their last active position, and the HMI control bar is expanded from its collapsed form, displaying the buttons that were previously hidden.
To address the need for ergonomic use and readability of existing synoptic panels when displayed on the high-density computer screens, the existing WinCC OA feature of panel zooming and zoom navigator have been employed delivering so called "Preview modules".
As explained in the Modules section, UnHMI may run one or many synoptic views (or other tools/panels) independently, in their dedicated modules. Every module is capable of scaling (zooming) its displayed content, and the most intuitive way to control this aspect is to use the so called zoom navigator, which is an additional graphical element of WinCC OA. A zoom navigator needs to be referring to a module: it displays the preview of the complete panel and a red "box" indicating the visible area. This is particularly relevant for the case when the module is not able to display the whole panel, e.g. due to it "zooming in" on a particula part to assure clear reading, or due to insufficient screen area. Dragging the red "box" inside the zoom navigator makes the module that is connected to it "navigate" its visible part to reflect it; and reciprocly, moving around the main module using scrollbars is reflected in the zoom navigator:
The functionality of the zoom navigator is at the basis of the "Preview modules", which in turn are usually displayed in Dock modules.
Each preview module contains a title bar on the top, the zoom navigator in the center and the slider allowing to control the scaling at its bottom:
The preview of the module inside the zoom navigator is updated every second. As it requires background image-processing to be involved, and hence consume the computing resources, we needed to trade some of the responsiveness for moderation in CPU consumption. Still, the refresh rate seems to be adequate to quickly spot changes in the synoptics, and even see animations with blinking colours.
It is fundamental to realize that the preview modules merely display the preview of synoptic panels, and hence may not be operated on. In order to operate on a module, one needs to make it appear in the central part of the UnHMI (see below), where all the interaction with synoptics (or other panels) is possible.
On the other hand, it is not possible to change the magnification factor (zoom) in the central module display (even though scrollbars may be used to "pan" through its content) - the preview modules' slider or the the mouse-wheel on the preview modules need to be used to achieve that.
The title bar of a preview module have not only the information role of displaying the location of the panel, but also contains important functionality:
The title bar of the preview module may be collapsed to save space by clickling in the small button with a double arrow in the top-left corner:
When the title bar is collapsed, the area with a number of it indicates the module number; hovering a mouse over it shows a tooltip with the information about the panel.
To open a new module one needs to use the "+" button from the palette of tools at the top of the UI. This will make a new module with the default panel of the application to be started, a preview module for it will open, and the central part of the UnHMI will switch to displaying this module. Note that not more than 4 modules may be opened at the same time.
When a particular module is not useful anymore, and needs to be stopped, it is not sufficient to close the related preview module (in this case it will still be executed in the backgroung, consuming resources, and a preview for it may still be reopened as explained in the Modules). To close the module permanently one should use the menu of the related preview module, as described above, and choose the "Remove Module" option.
Drag and Drop events are now available for the zoom module in the latest unHMI versions. The panel displayed within the preview module can be dragged and dropped from and to other preview modules, allowing to quickly change the configuration view of the HMI. The idea for this feature is to be extended in the future, so the file name information regarding the panel or panels displayed on the main central module, preview modules, and window tree, can be quickly exchanged and updated in a more user friendly way.
The preview modules will be automatically hidden when the split mode is active. If the user wants to show these modules again, the right button of the mouse should be clicked on the top area of the HMI panel, next to the Module, Panel, Scale, and Help tabs, or press twice on the "Eye" button (the lightweight implementation button) to show the split view with the preview modules being displayed.
The splitter refers to a mode of the central UI screen where the display is divided into two to four separate parts. It allows to divide the central screen, so the users can visualize and interact with multiple panels at the same time, having the possibility of adding or removing them.
The splitter mode can be activated by right-clicking on the button with the module number of the corresponding preview module and selecting ¨Open in Splitter¨ from its context menu as shown in the image below.
In the same way, it can also be removed from the split screen by clicking on ¨Remove from Splitter¨.
The users can perform the same actions in splitter mode than they would normally do in the normal or traditional mode, e.g., zoom/in out, select/unselect devices, open the desired panels using the navigation buttons, contextual buttons or window tree button, etc. The particularity in this case, is that the selected or main split panel where the user is operating will be highlighted in green as show in the image below.
To highlight another panel shown in the main screen in split mode, it is only necessary to click on the grey area that contains the module title and number (e.g. Module 1, Module 2, etc.).
Refer to Section 2.2 Modules and figure 5.
A screen layout is a user-configured snapshot of the HMI consisting of a set number of preview modules with their respective opened panels. The user has the ability to create/delete/configure a screen layout, load it at will and set it as default (i.e. being the opening startup configuration).
This feature is accessible through the screen layout cascade menu found on the main toolbar as shown in the screenshot below.
The user can load at any given time the desired screen layout available from the cascade menu.
By clicking “Save current configuration”, the current configuration is saved under the screen layout that is selected. If there is not any Screen layout selected, the configuration will be saved under a layout named 'Default layout', overriden the configuration of the 'Default layout' in case of already existing. If the split mode was active when clicking on this option, then the window configuration is saved taking this into consideration.
Furthermore clicking “Screen layout - Creation and Settings” opens the following menu providing the user with a variety of actions.
Extra handling is performed for the screen layouts concerning sub-applications. The screen layouts set from a sub-application are visible from the scope of the specific sub-application as well as the main application. While being in the main application the distinction is made by a naming convention “sub-application_name / screenlayoutName”. The user can use this convention when creating a new screen layout from the main application to create a screen layout for a desired sub-application. As a result, the user can set a default screen layout per sub-application. The default screen layout is indicated by an asterisk preceding its name. Furthermore the access rights do not apply for the default screen layout i.e. if a screen layout with admin access rights is set as default for an application, it will still be loaded on startup no matter the access domain of the logged user.
As particularities of the screen layout feature:
The navigation history bar is located on top of the central view of the main module displayed and it shows the name of the panel that is being shown. It acts as the regular navigation bar of a web browser, keeping track of the history of open panels, and giving the possibility of revisiting them later by clicking of the panel name on the cascade bar button. There are a few buttons that the user can interact with. These are, from left to right:
The functionality of the navigation history bar remains similar to what was already on the classic HMI. However, in the case of the split mode, there will be a navigation bar displayed for each panel shown on the central view of the window. Therefore, the operator can keep a separate history of the panels opened for the modules displayed on the central view of the screen. Refer to Section 2.2 Modules and figure 5 to see a graphical representation of what it is described.
The custom navigation panel is the optional custom panel that may be developed for the application on the HMI. It displays the customized navigations buttons that allows a user to navigate easily through the synoptic panels, and it gives an schematic overview of the state of the system that is in place.
The custom navigation panel area is displayed above the navigation history bar when the Navigation Button from the main toolbar menu (the button with the boat icon) is active. The button is effectively a toggle button, showing and hiding the popup panel that is integrated. The custom navigation area can be set by operators through the Application Configuration Menu. For that, the operator needs to select a customized panel previously implemented with multiple graphical buttons to be able to go through different panels. The use of a custom navigation panel has multiple advantages, for example, the number of buttons of the panel are not limited to an exact number, a general scheme of the system can be implemented, naming and numbering conventions can be used to define the system, cascade buttons can be used, etc.
For the new implementation of Human Machine Interface, the navigation panel area has been integrated into the window composition. Also, in the case of split mode, a navigation panel is shown at the top of each panel displayed on the divided screen, as it occurs with the navigation history bar, giving a more flexible approach to the users.
The Command module is a dock module that displays the contextual buttons for a particular panel, or the buttons that refers to a device selected. The Command module is placed in the bottom of the screen by default.
The command buttons functionality already existed on the classical approach of the Human Machine Interface, but it has been moved to a dedicated dock panel to provide flexibility, giving the possibility of adapting the position and size of the module to the needs of the user.
The Command module or modules that are displayed on the screen by default, correspond to the panel or panels shown in the central view part of the UI. For the regular mode of the HMI, only one command module will be automatically shown in the window configuration. However, for the split mode described on section 2.7, as there are more panels displayed on the central view part, more command modules will be placed at the bottom. This allows the user to operate with the contextual buttons that correspond to each particular panel.
If a device is selected, then the command module will show the contextual buttons of the particular device, replacing the buttons that belong to the panel or tree node. If the device is deselected, the buttons that correspond to the panel will be displayed again.
The Extras module shows information about a device that has been selected such as the characteristics of the device selected, the remaining time until the device will be automatically deselected or unlocked, and a log with the most recent history of messages and warnings for the device.
The log device feature is also a well-known functionality that was already in the classic HMI, but it has been redefined as a dock module to be able to freely adjust its size and position as needed.
The Extras module can be hidden from the view by pressing on the small "X" button in their top right corner. However, it cannot be completely removed as it happens for the Command module. The log window must remain open, even if it is on the background, as there may be essential information for the operator that needs to be stored.