TAlh - a Qt-based EPICS Alarm Handler


Home
Purpose
TAlh Functionality
    Summary
    Known Issues
    Display Layout
    Summary Mode
    Alarm Severities, States and Colours
    Sorting the Acknowledged Alarms
    Viewing Alarm Details
    Silencing of Alarms
    Viewing IOC Setup
    Acknowledging
       Acknowledging Alarms
       Acknowledging Alarm Groups
    Monitors
    Runtime Configuration
Differences between TAlh and alh
    Not yet implemented
    AdditionalKeywords
    Other Differences
   

Purpose

TAlh was created at TRIUMF as a replacement for the Motif-based EPICS alarm handler utility alh.

The development road map envisages the following steps:
1. Implemented: Stand-alone application which is compatible with Alh for a superset of the alh functionality used at TRIUMF.
2. Implemented Full compatibility with Alh *
3. Not yet: Separation into an Alarm Handler GUI application and Alarm server. Many GUI applications allowed to connect to one Alarm server.

* see section on Other Differences


TAlh Functionality

Summary

As TAlh is intended as a plug-compatible application for Alh, the Alh documentation may be consulted to supplement the TAlh documentation.
TAlh can parse alh configuration files as defined  for alh 1.2.35.

Alarm logging is implemented as a Qt plug-in. The desired plug-in and its parameters are specified with a command line switch.
The TAlh distribution provides a FileAlarmLogger plugin and a PsqlAlarmLogger plug-in (for logging to a PostgreSQL relational database).

Known Issues:
  1. At the moment TAlh does not recognize if the access rights to an alarm channel change.

Display Layout

The TAlh main window contains two columns:

The left column displays the alarm hierarchy frame.

The right column displays on top the unacknowledged alarm frame ("unack'd frame") and below the acknowledged alarm frame ("ack'd frame").

TAlh screen layout

All configured alarms are shown in the hierarchy frame.

As long as a PV is in an alarm state other than NO_ALARM it will be displayed either in the unack'd frame or the ack'd frame.
In both the unack'd frame and the ack'd frame alarms are sorted by severity and event time.

Sorting Alarms in the Unack and Ack Frames

By default, alarms in the ack'd and unack'd frames are sorted by descending severity, and within each severity by descending event time, so that highest severity alarms are displayed on top.

This default order can be changed by clicking on the column header in the respective frame.
The first click sorts by the clicked column in default ascending order (sorting by event time sorts descending by default). More clicks on the same column header toggle between ascending and descending sort.
Sorting is case-insensitive.

A CTRL-click on any column restores the default sorting order by severity and event time.

Summary Mode

The TAlh display can be changed to a "Summary Display" from the Options >> Summary mode menu:



It shows a button which lists the number of unacknowledged alarms and the number of acknowledged alarms.
If there are unacknowledged alarms, the button color is the color of the highest unacknowledged alarm severity (blinking).
If there are no unacknowledged alarms, but acknowledged alarms in alarm state, the button color is the color of the highest acknowledged alarm severity (solid).

Pressing the button restores the full display.


Alarm Severities, States and Colours

TAlh displays the alarm severities as reported by an EPICS IOC. The short form of the labels can be selected from the Help >> Preferences menu
Label (long form) label (short form) Color
NO_ALARM N Green
MINOR Y Yellow
MAJOR R Red
INVALID V White
In addition, TAlh displays an error state if the alarm PV is disconnected
ERROR E Magenta


Colours of Alarms and Alarm Groups in the Hierarchy Frame
The names of the alarms and alarm groups in the hierarchy frame are shown in different colours.
Colour Alarm Properties Alarm Group Properties
blue normal  at least one child normal
yellow silenced all children silenced
grey disabled all children disabled
white inactive ---

Colours are listed in ascending importance, i.e. a more important colour masks a less important one.

 Viewing Alarm Details


Run-time Details
By right-clicking on an alarm in either of the hierarchy, unack'd or ack'd frames the run-time details of an alarm are shown
By right-clicking on a group in the hierarchy frame the run-time details of an alarm group are shown.

By default, run-time details are shown in a pop-up dialog.

See also the section about Run-time Configuration

TAlh ack popup


The File >> Preferences dialog contains a check-box which allows the run-time details to be displayed in an in-line frame below the hierarchy frame.

TAlh ack inline

In both cases the selection of a different alarm or group will refresh the open dialog, i.e. only one dialog is open at a time.


Viewing Configuration Details
CTRL-right-clicking on an alarm or alarm group opens a pop-up-dialog which shows the configuration details.
Note:

CTRL-right-clicking on a different alarm or alarm group will open an additional pop-up-dialog so that the configuration details can be compared.

view config details




Modifying Configuration Details
If TAlh edit mode is enabled, CTRL-SHIFT-right-clicking on an alarm of alarm group opens a pop-up-dialog for editing the configuration details. When the configuration of an alarm, alarm group, or monitor are modified and accepted by pressing the Ok button, the configuration changes take effect immediately. 

CTRL-SHIFT-right-clicking on a different alarm or alarm group will open an additional pop-up-dialog so that the configuration details can be compared and cut/paste operations can be performed.

edit config details

Run-time Configuration

Some alarm,  alarmgroup and monitor properties can be modified at run-time. This is done using check-boxes on the alarm detail panel:

Alarm Details

If the check-box is shown checked, the alarm property is in the state displayed by the property label.
If the check-box is shown not checked, the alarm property is in the opposite state.

In the example shown in the screen-shot above, the alarm is silenced, enabled, has to be acknowledged, does not have to be acknowledged if it is transient, is beeing logged.

Property labels are shown with a yellow background if the alarm property is different from the configuration in the alarm configuration file, i.e. if it was reconfigured at run-time.

The Info menu contains items for showing all

Silencing of Alarms

The accoustical alarm annunciation can be suppressed ("silenced") in different ways. For silencing of individual alarms or alarm groups see the section on run-time configuration.

Global silencing is controlled via the "Silence Panel" between the unack'd and ack'd frames:
When individual alarms (or monitors) are silenced, the title of  the Silence Panel changes to a yellow background and displays the number of silenced alarms and monitors.

Viewing IOC Setup

The setup of the IOC configuration for an alarm channel can be queried by right-clicking on the alarm detail  display (both in-line or pop-up) outside the guidance box.
This feature does only work for  EPICS record types which return data of type DOUBLE or ENUMERATED. For enumerated data types bi, bo, mbbi, and mbbo records are presently supported.

Acknowledging

An alarm is configured so that it either
by the alarm operator. This configuration can be done  in the configuration file or at run-time when viewing alarm details (see image below).

TAlh config ack

An "ack" alarm is annunciated in the unack'd frame. When it is acknowledged it will be moved to the ack'd frame if it is still in the alarm state and disappears from there when it leaves the alarm state.
A "noack" alarm is annunciated in the ack'd frame and disappears from there when it leaves the alarm state.

An alarm group's alarm state is the most severe alarm state of its member alarms (and member groups, if any).

Acknowledging Alarms

Alarms are acknowledged by pressing the 'Acknowledge' button on the popup or in-line dialogs for viewing alarm details.
If an alarm is configured so that no acknowledgement is needed, the 'Acknowledge' button is greyed out.

Alternatively, alarms may be acknowledged by clicking on an alarm in the unack'd frame with the middle mouse button.
 
Acknowledging Alarm Groups

Acknowledging an alarm group will acknowledge all unacknowledged member alarms including alarms in member alarm groups.
Like alarms, alarms groups are acknowledged by pressing the 'Acknowledge' button on the popup or in-line dialogs for viewing run-time details.
If an alarm group is configured so that no acknowledgement is needed, the 'Acknowledge' button is greyed out.

By default TAlh allows acknowledging of alarm groups. This behaviour is configurable.

Monitors

Monitors, aka "Channel Watchers" are special alarms which are configured interactively via the Monitors menu. They do not need any PV configuration in the IOC.

Monitor properties can always be modified at run-time.

Monitors are saved to a monitor configuration file and survive a TAlh restart if TAlh has write access to the configuration directory (the directory from which the alarm configuration file is loaded).




Run-time Configuration


Some alarm,  alarmgroup and monitor properties can be modified at run-time. This is done using check-boxes on the alarm detail panel:
The reset button will revert all properties to the configuration file values.


Alarm Details

If the check-box is shown checked, the alarm property is in the state displayed by the property label.
If the check-box is shown not checked, the alarm property is in the opposite state.

In the example shown in the screen-shot above, the alarm is silenced, enabled, has to be acknowledged, does not have to be acknowledged if it is transient, is beeing logged.

Property labels are shown with a yellow background if the alarm property is different from the configuration in the alarm configuration file, i.e. if it was reconfigured at run-time.

The Info menu contains items for showing all



Differences between TAlh and alh


Not yet implemented:

Additional Keywords


TAlh  recognizes the following additional keywords:

$INSTANCE <instance string>   if present, the instance is used as a prefix to the log files,
i.e. instead of talh.log.<date stamp>   the log file will be called <instance string>.log.<datestamp>
$BEEPPV <analog PV name> if present and there are any unacknowledged alarms, TAlh will write the highest unacknowledged alarm severity to this PV every time an annunciation beep is happening. This can be used to drive one or more alarm anunciations out of an IOC.

Other Differences