LCLS Alarm Handling Configuration

References

Subsystems

Display

CVS for ALH Configuration Files Reference directory: /afs/slac/g/lcls/tools/alh/config

Guidelines for adding PVs to the alarm handler

Info needed to define a subsystem Alarm Handler Tree

see below for more details about each aspect

Alarm Handler Tree Structures
There will be different tree structures for different purposes. In at least one of the available tree structures, the ALH alarm status at the area/region level will need to match the alarm status on the CUD display. A PV or subtree can be present in more than one tree. However, please note that a PV should only log changes once to cmlog, i.e. logging should be turned off for all but one entry in the Alarm Tree.

Tree structure I: device-level PVs
Useful for debugging device failure.

Possibly, Tree structure II: summary PVs
Useful for identifying which devices or subsystems are failing.

*


IN20, LI21 and BSY Beam Regions
For Alarming purposes, IN20, LI21 and BSY both contain multiple beam regions. Otherwise, beam regions correspond to previously-defined areas .
Here are the Beam Regions, their start and end points as locations in the MAD deck, and their abbreviations for the alhConfig filenames (for example, mgnt_in20Gr_bend.alhConfig)

Beam Region

start

end

unit numbers

Abbrev. for ALH

IN20 Gun Region

SOL1BK/CATHODE

XC01/YC01

100-230

in20Gr

IN20 Gun Spectrometer

BXG

FCG1

800-899

in20Gs

IN20 Injector Linac, Heater, Emittance Region

BXG

QM02/BPM12

231-660

in20Ilhe

IN20 Injector Spectrometer

BX01

SDMP

900-999

in20Is

IN20 Dogleg-1 Region

BX01

IM03

661-799

in20Dl

LI21 Before TD11

L1S

BPM21301

100-304

li21L1Bc1

LI21 After and including TD11

TD11

BPM21901

305-999

li21L2

BSY Before 50B1

 

50B1

 

bsy50B1

BSY 50B1 to 52SL2

50B1

52SL2

 

bsy52SL2

BSY 50B1 to D10

50B1

D10

 

bsyD10

BSY After D10

D10

end

 

bsyEnd

wiki page listing MAD names + control system names for IN20 which may be helpful.
Other regions in the alarm handler and lclshome correspond to the usual set of AREAs (e.g. LI23, LI30)

*

Modes
On the alarm handler display, the operators will be able to see the status/readiness of various operational modes. Under each mode are the alarm sub-trees for devices required. Alarm sub-trees may be present in multiple modes. The modes are:

The alh logging instance uses the "All LCLS Devices" mode tree only. All PVs should be present in the All LCLS Devices mode tree.

Acknowledging Alarms
ALH instances started from control room OPIs will run in global mode, which allows globally visible alarm acknowledgement. Other ALH instances will be run in local passive mode, and not allow acknowledgement. See LCLS use of Alarm Handler Alarm Handler Processes for running in these modes.

Configuration File Naming Convention
Production alhConfig files are located in /usr/local/lcls/tools/alh/config (and in CVS under tools/alh/config)

In general:

Summary PVs and Alarm Group Naming Conventions

Level

Summary PV

Example

Alarm Group Name

Area

ALL:<area>:1:STATSUMY.SEVR

ALL:LI22:1:STATSUMY.SEVR

ALL:LI22:1

lclshome/CUD "alarmed box"

<subsystem>:<area>:1:STATSUMY.SEVR

MGNT:LI22:1:STATSUMY.SEVR

MGNT:LI22:1

Device type per area

<device type>:<area>:<position>:STATSUMY.SEVR

BEND:LI22:MG01:STATSUMY.SEVR

BEND:LI22:MG01

Device

<device type>:<area>:<position>:STATSUMY.SEVR

BEND:LI21:215:STATSUMY.SEVR

BEND:LI21:215

Device (related measurements)1

<device type><subsystem abbrev>:<area>:<position>:STATSUMY.SEVR

BENDTM:LI21:215:STATSUMY.SEVR

BENDTM:LI21:215

Device level status PV

SUMMARIZED PVs and the linkage between alh trees and lclshome: DP PVs
Enabling/disabling of alarm trees is propagated to the lclshome alarm summaries by this mechanism (and see below for details on enable/disable):
The PVs that participate in the summaries are derived from the original subsystem PVs, with DP appended to the name e.g. VGPR:IN20:STATUSDP.
The DP PV alarm statuses are enabled or disabled depending on the value of the corresponding FORCEPVs (using the DISV, SDIS, DISS fields). If a FORCEPV is set to 1 (disabled) the DP PV alarm state is set to NO_ALARM, and it effectively drops out of the summaries above. When the FORCEPV is set to 0 (enabled) the DP PV alarm state reflects the alarm state of the original source PV.

FORCEPVs
The config file $FORCEPV option allows segments of the alarm tree to be temporarily disabled/enabled. I.e., the PVs in the tree are eliminated on the fly from contributing to the alarm display and from logging to cmlog. A FORCE PV triggers a change of the ALH channel. Due to ALH gui limitations, FORCEPVs will be defined only on the individual PV level.

FORCEPVs and DP PVs are generated from the same database file, alhFORCEPV.db

FORCEPV summaries: STATSUMYFP PVs
FORCEPV alarm severities are:

FORCEPV severities are summarized at each level of the tree, with a STATSUMYFP PV for each STATSUMY PV in the system. On the lclshome display, STATSUMYFP for each subsystem/area (colored box) is used to show that an alarm sub-tree in the corresponding subsystem/area has been disabled: an asterisk is displayed. The asterisk disappears when the sub-tree is enabled. To track exactly what has been disabled, use the alh gui.

enable/disable scripts: disabling/enabling alarming and logging on the fly
To disable/enable alarming for an alh group:

Groupname can be found in the "G"uidance popup for each group, or for devices, simply use the device name if no "G" button is present. You can also specify an individual PV name.
The script will prompt for confirmation; enter Y to confirm.

After running disableALHGroup you will see:

After running enableALHGroup you will see:

ALH disable/enable operations are propagated to the lclshome alarm colors: see the "SUMMARIZED PVs: linkage between alh trees and lclshome" section above for details.

(A new version of ALH from SNS will be put into production soon that allows multiple options from the "P" button. The enable and disable scripts will be added to the dropdown list for each group...coming eventually!)

Related edm displays
Clicking the P button at any level of the alarm tree will launch the appropriate associated edm display.
Soon a new version of ALH will be brought in from SNS that allows dropdown lists from the P button. To see the related edm display, select "edm display" from the dropdown.

ALH Scripts

Adding to the alarm tree, and useful scripts
Some useful scripts to assist in adding subsystems to the alarm tree can be found in /afs/slac/g/lcls/tools/alh/script. README describes the scripts, plus what needs to be done to add elements to the tree. These helper scripts are not necessarily production-quality at the moment; they are made availabe as-is - please inspect output before putting into the production alarm tree! (-:

changeMasks.pl changes masks for Channels that match a wildcard. Useful for, e.g., changing all magnet
"ACT" channels to turn of logging.

Meeting Notes