f Fermilab DZero Alarm System Geoff Savage EPICS
f. Fermilab DZero Alarm System Geoff Savage EPICS Collaboration Meeting 15 November 2000
Introduction · Significant event system u Collect and distribute messages for § Alarms § DAQ state transitions Maintains a snap shot of the current DAQ state u Client/server architecture u Message receiver clients u § Filters in server restrict messages sent § Filter dimensions – name, host, priority, severity, status, 11/15/00 DZero Alarm System 2
Significant Event System F Filter SE Message Filtered Message Periodic Heartbeat Process Front-End Heartbeat Significant Event Server F F F Display Archiver Fault Watcher HV Control Run Control Suspend 11/15/00 DZero Alarm System 3
SES Features · IOCs are one of many sender clients · Filtering · Receiver clients receive the current state at startup u State stored in server · Archive messages for review offline Help in data analysis u Look for trends u 11/15/00 DZero Alarm System 4
Design · Trap EPICS alarms Use an external hook u R 3. 1. 1, vxworks u · SE task Creates SE alarm messages using info from EPICS u Sends messages to SE server Network communication protocol u IOC EPICS 11/15/00 SE SE Task Server DZero Alarm System 5
Existing EPICS Alarms Record processing (process) Device Driver Support I/O rec. Gbl. Set. Sevr Set new alarms alarm rec. Gbl. Reset. Alarms Check for new alarms monitor db_post_events 11/15/00 DZero Alarm System 6
External Hook · Follow init. Hooks · If ext. Hooks in symbol table Execute functions stored in linked list u Function arguments u § State – location in code § Record address - data · Add functions to the list using ext. Hook. Register · If the hook exists, call it from rec. Gbl. Reset. Alarms when the status or severity changes 11/15/00 DZero Alarm System 7
Modified EPICS Alarms Record processing (process) I/O alarm Device Driver Support rec. Gbl. Set. Sevr Set new alarms rec. Gbl. Reset. Alarms Check for new alarms Add hook here monitor 11/15/00 db_post_events DZero Alarm System 8
se. Send · se. Send is our hook function · Connection to se. Task through a POSIX queue · Send pvname & volatile values u Value, Severity, Status IOC rec. Gbl. Reset. Alarms se. Send 11/15/00 queue DZero Alarm System SE Task 9
se. Task · Maintain connection to SE Server Initiate connection u Reestablish lost connections u · Create, format, and send alarm messages to server · Add common EPICS fields Message type (info, alarm) u Priority – importance in DAQ u Alarm message type u Database key u § for data retrieval in alarm display 11/15/00 DZero Alarm System 10
Future · Attempt using R 3. 14 Use the new registration facility u Keep an eye on performance u 11/15/00 DZero Alarm System 11
- Slides: 11