Experimental Physics and
| |||||||||||||||
|
Then checkAlarms() function calls recGblSetSevr( precord, ...) function. Hi: As far as I understand, the current idea is - each record _determines_ its alarm state, reflects the result in STAT/SEVR field. A CA client can ask for data with alarm info. - the alh alarm handler _monitors_ alarms, _logs_ them, _displays_ them to users, allows users to _acknowledge_ alarms, ... - some part of the acknowledgement is actually also handled by special fields in the records which remember the highest no-ack'ed alarm. There are alternate ideas. The D0 significant event server is one. I agree that combining monitoring, logging, displaying, ack'ing all in one GUI tool is too much. I'm not sure about your idea of _adding_ the logging to the IOC. Sure, it's a comparably easy thing to add a message log 'write' to recGblSetSevr. But it just adds one more network dependency to the IOCs, and then how do you display the message log, how do you acknowledge alarms? If you're serious about re-thinking the alarm handling, I'd rather remove the special alarm ack fields from the IOCs, since non-database-CA-servers sometimes don't implement these anyway, and also split the alh task, resulting in this separation: - records/IOCs/CA servers determine alarms - one or more alarm monitor daemons monitor values & alarms, log them (maybe as last time & value before alarm, time & value with alarm), remember the highest non-acked alarm, provide network API for ack'ing alarms, where the acknowledgement (w/ user, maybe comment) gets logged. - GUI clients to the alarm daemon can display the current alarms. They also offer the option of acknowledging alarms, though that's probably limited to certain users. Of course these are just my ideas, I've probably missed many details, but I think it's clear that just adding a log message doesn't really improve much. -Kay
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |