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

    1. NSTX-WBS6-AD, Application Development Environment for CI&C.
    2. NSTX-WBS6-CA, General Procedure to Create Applications for EPICS
    3. ALH Users Manual, J. Anderson, EPICS www at ANL/APS

 

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.