MBLogic Demo

image/svg+xml Tank Data P & P Chart Status Watchdog Alarms 12.34 12.34 Rev Stp Fwd 1234 1234 PB1 Pump Speed Msg ID Server ID PB4 PB5 msgid S_ID Tank 1 Tank 2 List PB2 PB3 LayerTankLayerDataLayerPandPLayerChart zone1zone2zone3 zone1zone2zone3

Active Alarms:

Acknowledge

Alarm: Alarm State: Time: Time OK: Count:

Alarm History:

Alarm: Alarm Time: Time OK: Ack By:

Events:

Event #: Date: Event: State:

Communications Errors:

Date: Tag: Error:

Communications Status:

Date: Status Code: Status:

Help:

Main

This program demonstrates a number of web based HMI features. This help screen explains what these feature are and how they may be used. For detailed information including how to make your own HMI screens, see the complete help system which is available on-line by following the directions provided in the installation instructions.

Main Tank Demo Screen

The first screen visible when starting the system demonstrates several different features. These are:

  • The overall page layout.
  • The main menu.
  • The "graphical" menu.
  • Displaying system status.
  • A "tank" demo.
  • Push buttons and pilot lights, as well as triggering alarms.

Main Menu

The main menu is used to select different HMI "screens". A "screen" is a collection of HMI elements that are visible together. They are referred to as "screens" here rather than "web pages" because the entire HMI web application is technically a single page. The menu is simply used to hide and reveal different parts of it as required.

This menu was created using HTML, and so is a text based menu. HTML menus are very simple to created and can be oriented and styled in different ways.

It is possible to have sub-menus as well as a main menu (as will be shown later). The main menu however provides access to the major divisions of the HMI. To go do a new screen, click on a menu item.

The following items would normally be found in most HMI applications:

  • Main - Your own main control screen would normally go here. Submenus would provide access to additional related screens as required. For example, there may be several screens which relate to control and monitoring of different stations in a machine.
  • Alarms - This shows "alarms" (fault messages) related to the operation of the machine or process. This screen would also normally be used as is.
  • Events - This shows "events" (non-critical operator notifications). This screen would normally be used as is.
  • Status - This shows error messages related to the HMI itself. This screen would also normally be used as is.
  • Help - This screen. You would normally put your own machine related help here.

Graphical Menu

The "graphical" menu is normally customised for each different application. It is referred to as a "graphical", because unlike the HTML based main menu, this one uses SVG (Scalable Vector Graphics) to provide a high quality graphical image for each menu item.

The examples here use a simple array of plain buttons. However each menu item can be of any size, colour, or shape, and can be in any orientation or location. The menu items in this example are for the following screens:

  • Tank - This is the main tank demo which is the default screen on start up.
  • Data - This screen demonstrates extended data types, as well as a numeric entry keypad.
  • Pick and Place - This demonstrates custom graphics using a simple graphic of a pick and place as an example. It also shows the use of 2 position selector switches.
  • Chart - This screen demonstrates a simple strip chart.

General Status

The general status area demonstrates several different items. On the left are three pilot lights labelled "Status", "Watchdog", and "Alarms". These are labelled pilot lights. "Status" and "Watchdog" are green when OK, and red when an error is present. The "Alarms" pilot light mirrors the state of the alarms table (it turns white when no alarms are present).

To the right is a numeric display in decorative bezel, displaying a continuously updating integer. This number is the message id, which is used to track browser to server communications.

Below that is a text display with a decorative bezel displaying the "server id", which is a string sent by the HMI server to identify it.

Tank Demo

The tank demo is the largest demonstration on this screen. It consists of two tanks where liquid is pumped alternately from one to the other. The demo is controlled by the 3 position selector switch to the right.

When the selector switch is set to "FWD", liquid is pumped from the left hand tank to the right hand tank. While pumping is occurring, the rotor of the pump (below the tanks) can be seen to rotate. In addition, the pipes will show a colour change.

Both tanks are instrumented with gauges, numeric displays, and cut-away columns showing the relative "liquid" levels. The left hand tank uses a dial gauge with a rotating pointer. The right hand tank uses a vertical column guage.

To the right of the tanks are the controls. The 3 position selector switch can be activated by clicking directly on the labels. Clicking on the switch itself will always reset it to the "off" position. When a tank cycle has completed, the switch will automatically turn itself off.

Above the selector switch is a numeric display. This is similar to the one used for server message id (see above), but has been resized to be taller but with fewer digits. This display indicates pump speed.

Below the selector switch is another numeric display, but which has the added feature of two push buttons which can alter the pump speed.

Push Buttons

Finally, there is a set of push buttons and pilot lights labelled "PB1" to "PB5". Each push button controls the adjoining pilot light ("PB5" is an illuminated push button). "PB1", "PB2", and "PB3" also trigger alarms which may be viewed on the alarm screen.

"PB1" is a momentary push button. "PB2" and "PB3" are two styles of maintained (toggle action) push buttons. "PB4" will cause its pilot light to cycle through a series of colours. An adjoining text display will show arbitrary text messages linked to the same push button. The text messages shown here are constants which can be associated with a numeric value, and do not have to be transmitted from the server (or in the control program). "PB5" is a simple toggle action illuminated push button.


Data Screen

This screen demonstrates a numeric entry keypad. Clicking on individual digits will cause them to accumulate in a calculator-like manner (including decimal point and sign). Clicking on "STR" will write the current value to the data table (and be shown in the numeric displays to the left). Clicking on "CLR" will clear the numeric display to permit a new number to be entered.

It also demonstrates how string constants (or any constant) can be attached to a push button and also written to the data table.


Pick & Place Screen

The pick and place demo shows how simple custom graphics can be animated. The pick and place itself is not a part of the standard HMI graphics library. However it was constructed out of just 10 rectangles and 2 polygons (the gripper jaws).

Clicking on the 2 position selector switches below will cause the pick and place to move. Clicking on the selector switch labels will cause the switch to move to that position. Clicking directly on a switch will cause it to toggle to the opposite position (this is different from the behaviour of a 3 position switch).

The switch position directly reflects the actual data table value, so the switches can be directly controlled by the PLC (or other control device) program.


Also present is a set of controls which demonstrate how an input device (e.g. push button) can be disabled under software control. A "buttom mask" is placed over the push button and made to appear or disappear under the control of the value of a tag (controlled here by the selector switch).

In the example shown above, the mask is hidden and the button is enabled. Pressing the button will cause the pilot light to change colour.

In the next example, the selector switch has been toggled to make the mask visible and it now covers the push button. The push button cannot be activated in this condition.


In addition to these there are a set of controls which show how animations work. This consists of a selector switch to turn the animations on and off, an animated pilot light, and an animated pump. Animations may not work correctly on all browsers at this time.


Strip Chart Demo Screen

This strip chart demo screen shows how simple strip charts can be created. Strip charts may be any size or shape, with any number of traces.


Alarms Screen

Alarms are high priority operator messages which require acknowledgement (i.e. fault messages).

The alarm screen consists of two tables. The active alarms table shows alarms which are currently active. Repeated alarms are automatically summarised. Alarms are colour coded according to whether they have been already acknowledged and as to whether the fault condition has already corrected itself. If multiple operator stations are in use and an operator acknowledges an alarm, the acknowledgement is automatically reflected to all other operator stations.

Once alarms have been acknowledged and the alarm condition they automatically move to a historical table.

For the purposes of this demonstration alarms can be created using the PB1, PB2, and PB3 push buttons on the main tank demo screen.

The alarm screen is normally used as is. The alarm acknowledge button can be restyled or relocated.


Events Screen

Events are low priority operator messages which do not require acknowledgement. Events are displayed in a historical table.

For the purposes of this demonstration events can be created by the tank level and pump status on the main tank demo screen.

The event screen is normally used as is.


Error Status Screen

The error status screen displays communications errors. For the purpose if this demonstration, errors can be created using the "Test" screen. The error status screen is normally used as is.


Page Styles

Styles, Colours, and Page Layouts

Since the HMI is based entirely on standard web technologies an HMI page can be customised to any extent desired. In addition, all graphics are modifiable, and entirely new graphics can be created and will function on an equal footing with those supplied with the system.

Multi-Language Support

Since HMI screens are just web pages, multiple languages may be supported by simply translating web pages. Text constants, event messages, and alarm messages are stored in data files and so may be customised (translated) for each web page by simply importing a different data file.


Standard Help Text

The web page templates come with standard help page text explaining the standard features. The following shows the standard help descriptions. The help text would can however be customised for each application to whatever degree is required.


Alarms

Alarms are high priority operator messages which require acknowledgement (i.e. fault messages).

The alarm screen consists of two tables. The active alarms table shows alarms which are currently active. Repeated alarms are automatically summarised. Alarms are colour coded according to whether they have been already acknowledged and as to whether the fault condition has already corrected itself. If multiple operator stations are in use and an operator acknowledges an alarm, the acknowledgement is automatically reflected to all other operator stations.

Once alarms have been acknowledged and the alarm condition they automatically move to a historical table.

The active alarms table contains the following columns:

  • Alarm - The alarm text. This is application specific.
  • Alarm State - The current state of the alarms.
  • Time - The time at which the alarm condition (fault) occurred.
  • Time OK - The time at which the alarm condition cleared.
  • Count - The number of times the alarm condition occurred before clearing and being acknowledged. Each time the alarm transitions from OK to not OK the count will increment. Once the alarm message has moved to the alarm history table the count will rest to zero.

The alarm history table contains the following columns:

  • Alarm - This is the same as in the active alarms table.
  • Alarm Time - This is the same as in the active alarms table.
  • Time OK - This is the same as in the active alarms table.
  • Ack By - This is the id of the HMI client that acknowledged the alarm.

Events

Events are low priority operator messages which do not require acknowledgement. Events are displayed in a historical table.

The events table contains the following columns:

  • Event # - The event serial number. This is applied by the server and is unique for each event occurrence.
  • Date - The time at which the event occurred.
  • Event - The event text. This is application specific.
  • State - The current data state of the event.

Status

The error status screen displays communications errors and status. The communications errors errors table displays error codes returned from the server. These error codes are associated with individual commands for such things as data out of range, incompatible data types, etc. Status errors are usually caused by HMI programming or server configuration errors. The communications errors table contains the following columns:

  • Date - The time at which the error occurred.
  • Tag - The protocol tag associated with the error.
  • Error - The descriptive error text.

A communications status code reflects the protocol status code. A status message is added to the table whenever a status code other than "ok" is returned. The communications status table contains the following columns:

  • Date - The time at which the error occurred.
  • Status Code - The protocol status code.
  • Status - The descriptive text for the status code.

Communications error and status messages are only returned to the client which generated the original request. When the web page is reloaded, the messages are cleared.


Help

This screen.