Detailed Procedure to Manage EPICS Alarms using ALH
13JUL98
P. Sichta
Table of Contents
1.0 Introduction
2.0 References
3.0 Aliases, Environmental Variables, and Permissions
4.0 Starting the Alarm Handler
5.0 Alarm Configuration Files
6.0 Alarm Log Files
7.0 Operator Log Files
Appendix A Supplemental ALH Documentation (LBL Site)
1.0 Introduction
This procedure provides a detailed description of how to use the Alarm Handler tool (ALH) to create and manage EPICS alarms. ALH is one of several tools used in the EPICS community for working with alarms. Alarm management includes alarm configuration files, alarm log files, operator log files, and alarm response guidance.
2.0 References
3.0 Aliases, Environmental Variables, Paths, and Permissions
Aliases used : none
Environmental Variables : None
Paths : /epics/system/epics/epicsExtensions/extensions/bin/solaris
Permissions : The operator acknowledging alarms must have write permission in the directory containing the alarm files.
4.0 Starting the Alarm Handler
The Alarm Handler can be started from any directory :
/nstx : alh
/nstx : alh –f filedirectory –a file.alhAlarm –o file.alhOpmod file.alhConfig
5.0 Alarm Configuration Files
Each instance of an alh process uses a configuration file which specifies the hierarchical grouping of the alarm tree. This file also specifies alarm guidance text and alarm-state-based unix commands. This file does not evaluate whether a process variable is in an alarm state, that is left to the IOC record database.
6.0 Alarm Log Files
Each instance of an alh process writes the alarm state transitions to a log file. Normally, an alarm log filename is specified when alh is started. If none is specified, the file ALH-default.alhAlarm will be used. This file can accept log entries from several alh processes.
7.0 Operator Modification Log Files
Each instance of an alh process writes the operator actions to a log file. This would log when any operator acknowledged, masked, or disabled an alarm. Normally, an operator modification log filename is specified when alh is started. If none is specified, the file ALH-default.alhOpmod will be used. This file can accept log entries from several alh processes.
Appendix A Supplemental ALH Notes
Part I - unix command line syntax
usage: alh [-c] [-f filedir] [-l logdir] [-a alarmlogfile] [-o opmodlogfile] [-m alarmlogmaxrecords [Xoptions] [configfile]
configfile Alarm configuration filename
-c Alarm Configuration Tool mode
-f filedir Directory for all files
-l logdir Directory for log files
-a alarmlogfile Alarm log filename
-o opmodlogfile OpMod log filename
-m maxrecords alarm log file max records (default 2000)
Part II - Supplemental ALH Features
9 May 1996
J. Anderson
Alarm Handler: supplementary documentation
------------------------------------------
o A new ALIAS feature which allows a user to define an alternate name for
an alarm group or channel has been implemented and can be defined in
the alarm configuration file.
Input Format:
$ALIAS <any valid text>
Description:
The line starting with $ALIAS is optional. It is required only
when a user wants to define an alternate name for an alarm
group or channel.
o A new feature which allows a user to define a unix process to be
started when the alarm severity for an alarm group or channel changes
value has been implemented and can be defined in the alarm
configuration file.
Input Format:
$SEVRCOMMAND sevrChangeValue <any valid Unix command syntax>
Description:
The line starting with $SEVRCOMMAND is optional. It is
required only when a user wants to start a Unix process when
the alarm severity value for a group or channel changes. A
single group or channel may have multiple $SEVRCOMMAND lines.
This line defines the change in the severity necessary to
start the process and defines the process to be started. Valid
severity change values are -
UP_INVALID UP_MAJOR UP_MINOR UP_ANY
DOWN_MAJOR DOWN_MINOR DOWN_NO_ALARM DOWN_ANY
o A new feature which allows a user to define a unix process to be
started when the alarm status for an alarm channel becomes a specified
value has been implemented and can be defined in the alarm
configuration file.
Input Format:
$STATCOMMAND alarmStatusStringValue <any valid Unix command
syntax>
Description:
The line starting with $STATCOMMAND is optional. It is
required only when a user wants to start a Unix process when
the alarm status becomes a specified value for a group or
channel changes. A single group or channel may have multiple
$STATCOMMAND lines. This line defines the status value
necessary to start the process and defines the process to be
started. Valid alarmStatusString values are defined in the
alarmString.h header file. Example alarm status string values are -
NO_ALARM READ WRITE HIHI HIGH READ_ACCESS
LOLO LOW STATE COS COMM WRITE_ACCESS
TIMEOUT HWLIMIT CALC SCAN LINK
SOFT BAD_SUB UDF DISABLE SIMM
o A new feature which allows alarm count filtering has been implemented
for any alarm channel and can be defined in the alarm configuration
file.
Input Format:
$ALARMCOUNTFILTER <inputCount> <seconds>
Description:
The line starting with $ALARMCOUNTFILTER is optional. It is
required only when a user wants the alarm handler to filter
the registration of alarms for a group or channel. This line
defines alarm count and seconds required for alarm
registration. To register as an alarm, an alarm channel must
remain in alarm state for more than <inputSeconds> seconds OR
the alarm channel must enter into an alarm state from a
no-alarm state more than <inputCount> times within
<inputSeconds> seconds.