SlideShare uma empresa Scribd logo
1 de 10
Alarm System Toolkit
BEAST - Best Ever Alarm System
Toolkit
No Warranty
Although the programs and procedures described in this manual are meant to be
helpful instruments for archiving, maintaining and retrieving control system data,
there is no warranty, either expressed or implied, including, but not limited to, fitness
for a particular purpose. The entire risk as to the quality and performance of the
programs and procedures is with you. Should the programs or procedures prove
defective, you assume the cost of all necessary servicing, repair or correction.
In no event will anybody, including the persons mentioned in this document, be liable
to you for damages, including any general, special, incidental or consequential
damages arising out of the use or inability to use the programs (including but not
limited to loss of data or data being rendered inaccurate or losses sustained by you
or third parties or a failure of the programs to operate with any other programs).
The system described in here is not used in a production environment at this time.
Author: Kay Kasemir, kasemirk@ornl.gov
Version: July 20, 2010
1
Alarm System Toolkit
1 Overview
The Alarm Server receives alarms from IOCs via Channel Access.
Depending on its configuration, it might annunciate alarms, “latch” or
ignore them. Several Alarm Client GUI tools allow users to view current
alarms, acknowledge them, invoke operator displays related to the
alarm, browse the alarm history, or change the alarm configuration.
Fig 1: Alarm System Overview
A relational database (RDB) stores the alarm configuration as well as
the current state of all alarms. The configuration includes information
for the Alarm Server (what PVs to monitor, whether to latch or
annunciate alarms) as well as the Alarm Client GUI (user guidance on
an alarm, related display links). The Alarm Server also updates the
current alarm state of each PV in the RDB.
While the RDB is good for storing this type of information, it is
technically unsuited for triggering GUI updates in response to alarm
changes. The GUI would have to poll the RDB at a high rate to learn
about alarm state changes. Instead, a more suitable Java Message
System (JMS) is used to communicate alarm system changes.
The Alarm Server sends alarm state updates via JMS to clients; it sends
annunciations to a voice annunciator. Clients send acknowledgement
requests via JMS to the Alarm Server. Clients also send notifications
2
Alarm System Toolkit
about alarm configuration changes to the Alarm Server as well as other
GUI clients, which will then each react by reading the latest
configuration from the RDB.
Finally, all JMS messages including generic CSS application log
messages can be archived in a Message RDB, which is in principle
separate from the alarm system but can be used to trace the history of
an alarm from its detection via annunciation and acknowledgment until
the alarm eventually cleared.
A minimal setup of the alarm system requires:
1) JMS Server for the alarm GUI and Alarm Server to communicate.
2) RDB with Alarm Server configuration.
3) CSS with the alarm GUI, i.e. Alarm Tree and Alarm Table plugins.
4) Alarm Server.
Optional components:
1) JMS Monitor plugin to view raw JMS messages in GUI for
debugging the setup.
2) CSS Annunciator (aka JMS2SPEECH) to annunciate alarm
messages.
3) AlarmConfigTool to export/import alarm configurations as XML
files and to convert existing ALH configuration files.
4) JMS2RDB to log the alarm system activity (as well as other CSS
log messages).
5) Tomcat and Web Reports to view configuration and alarm logs
online.
2 JMS Server
The alarm system uses the Java Message Service(JMS) to communicate
• Alarm Updates from the server to the clients (ALARM_SERVER
topic). This includes periodic ‘idle’ messages from the server in
the absence of any alarm system changes.
• Annunciations from the server to the annunciator (TALK topic)
• Acknowledge requests from clients to the server (ALARM_CLIENT
topic)
• Configuration change notifications from clients to the server and
other clients (ALARM_CLIENT topic)
Specifically, CSS uses the Apache ActiveMQ implementation of JMS.
See http://activemq.apache.org .
There is no need to configure the JMS server instance for the alarm
system in particular. You simply have to ‘run’ a JMS server instance
and know its URL so that the Alarm GUI and the Alarm Server can
connect to it. The Alarm system components will automatically create
the required JMS topics, there is no need to create them manually. You
can use the same JMS server instance for alarms and the generic CSS
application message logging.
3
Alarm System Toolkit
In short, for first tests there is no need to configure anything in JMS.
Just
• Unpack the ActiveMQ package from the Apache web site
• cd apache-activemq-*/bin
• ./activemq
Eventually, you might want to copy its default configuration file,
conf/activemp.xml, into something like my_activemq_setup and then
use that configuration file:
• ./activemq xbean:file:/path/to/my_activemq_setup.xml
That way you can disable things that you don't need, like the web
monitor, or enable HTTPTransport to allow tunneling though web
proxies. Markus Möller (DESY) suggested disabling this section:
<!-- The store and forward broker networks
ActiveMQ will listen to -->
<networkConnectors>
<networkConnector name="default-nc"
uri="multicast://default"/>
</networkConnectors>
The default multicast settings would otherwise allow multiple JMS
servers on the network to magically find each other and interchange
messages, which can be confusing if you did not intend to do this on
purpose.
A snapshot with SNS-specific installation details are in the SNS CVS
under css_sns/JMSServer.
3 RDB
A relational database holds the alarm system configuration (hierarchy
of alarm PVs, how to alarm on them) as well as a snapshot of the
current alarm state of each PV.
MySQL and Oracle are supported.
For the initial setup, refer to information in the “dbd” subdirectory of
the plugin sources for org.csstudio.alarm.beast.
End users should have no need to know any RDB details because all
interactions go through the CSS GUI. Administrators need to know the
RDB URL with user, password, and the name of the “root” element of
the alarm configuration hierarchy, which need to be consistent in the
preference settings of the CSS alarm GUI and the Alarm Server.
4 Initial Alarm Configuration
The basic RDB setup will create the necessary database tables for
holding multiple alarm server configurations. As long as they are
empty, however the alarm tools will not be able to run because they
need at least a “root” element.
You can create an initial root element directly in MySQL like this:
4
Alarm System Toolkit
INSERT INTO
ALARM_TREE(COMPONENT_ID, PARENT_CMPNT_, NAME, CONFIG_TIME)
VALUES(1, NULL, ‘Annunciator’, NOW());
Alternatively, you can use the AlarmConfigTool to import an initial XML
configuration file. Read on to learn more the “root” element and the
AlarmConfigTool.
5 Multiple Alarm Configurations
Multiple alarm configurations can be used in parallel. For example,
there might be one alarm configuration for the main control room, and
a separate one for an auxiliary control room.
Corollary: You have to understand your configuration. If the alarm
system components are not using the same configuration, they will not
“find” each other.
Configuration example:
Default Main Control
Room
Aux. Control
Room
Configuration
Root
Annunciator MAIN AUX
JMS ‘server’ topic ALARM_SERVER MAIN_SERVER AUX_SERVER
JMS ‘client’ topic ALARM_CLIENT MAIN_CLIENT AUX_CLIENT
JMS ‘talk’ topic TALK MAIN_TALK AUX_TALK
Configuration Root: Each configuration is identified by the “root”
element of its alarm configuration in the RDB. Exactly one instance of
the alarm server is required for each alarm configuration.
JMS ‘server’, ‘client’ topics: These are used to communicate from the
server to the client and vice versa. Their name should use the
configuration root followed by “_SERVER” resp. “_CLIENT”. In principle,
both server and client messages can use the same topic, i.e. both the
server and client topic could be set to just ‘MAIN’ or ‘AUX’. Keeping
them separate can be of advantage, though, because is allows tools
like the JMS Monitor debug tool to only listen to ‘MAIN_SERVER’
messages without also seeing ‘MAIN_CLIENT’ messages, which can aid
in debugging problems later on. In addition, JMS authorization for
writing is configured by topic. With ActiveMQ for example one could
restrict MAIN_SERVER topic write access to the Alarm Server, while
only GUI clients with certain user/password are allowed write access to
the MAIN_CLIENT topic. So far this has not been used, but keeping the
topics separate and the communication on them unidirectional will
prepare you for trying this in the future.
5
Alarm System Toolkit
JMS ‘talk’ topic: Having separate talk topics for each configuration as in
the above example allows an annunciator program to selectively
handle messages from MAIN_TALK, AUX_TALK or both.
6 Configuration of Eclipse Tools In General
Refer to the file
org.csstudio.sns.product/plugin_customization.ini
for a summary of the Eclipse preference mechanism. Most alarm-
relevant defaults are in the file
org.csstudio.alarm.beast/preferences.ini
Each product (AlarmConfigTool, AlarmServer, …, CSS with Alarm GUI)
has a plugin_customization.ini file to override those and other settings,
so you have multiple levels of either configuring site-wide defaults at
compile time, or setting them when installing the tools, or providing
them with the “-pluginCustomization …” command-line switch
whenever running the tools.
7 AlarmConfigTool
This command-line tool can
• export alarm configurations into XML files
• import those XML files again (replacing or modifying the
configuration)
• create the XML configuration file format from EPICS ALH
configuration files (with certain assumptions resp. limitations)
This tool might also be the easiest way to start a new configuration by
importing an empty or very basic XML configuration, then editing it in
the alarm GUI.
To build, use the Eclipse product file
org.csstudio.alarm.beast.configtool/AlarmConfigTool.product
To run, refer to the Readme.txt in the AlarmConfigTool’s source
directory.
8 Alarm Server
The alarm server reads the alarm configuration from the RDB,
connects to all the requested PVs, monitors their state changes and
generates alarms, handling annunciation, latching, acknowledgment
and some amount of filtering.
You have to start an alarm server instance for each alarm system
setup. On Linux systems you may create scripts that perform this via
/etc/rc.d/init.d, but it is still up to you to arrange for an Alarm Server to
be running. Neither the alarm GUI nor JMS will launch an alarm server
for you. The Alarm Server remains running so it can continue to trigger
annunciations and log alarm system actions even when no alarm GUI is
active.
6
Alarm System Toolkit
To build, use the Eclipse product file
org.csstudio.alarm.beast.server/AlarmServer.product
To run, you probably want to use a customized copy of
org.csstudio.alarm.beast.server/plugin_customization.ini
Of main interest are
• RDB URL, user, password
• JMS Server URL, user password
• Name of alarm configuration (root element)
• JMS Topics for ALARM_SERVER, ALARM_CLIENT, TALK
• EPICS Channel Access settings
It is possible to run more than one Alarm Server to support different
alarm system configurations on the same network as long as they use
a different alarm configuration root element and JMS topics for the
ALARM_SERVER and ALARM_CLIENT. They may use the same TALK
topic to share an annunciator.
7
Alarm System Toolkit
9 CSS Alarm GUI
The GUI consists of these plugins
• org.csstudio.alarm.beast.ui.alarmtree:
Hierarchical Alarm Tree, allows configuration as well as
acknowledgement.
• org.csstudio.alarm.beast.ui.alarmtable:
Table of currently active alarms. Meant to be the main end-user
interface.
• org.csstudio.alarm.beast..msghist:
Table of message log history, can be used to analyze sequence
of events from alarm via annunciation to acknowledgement until
the alarm finally clears.
Web reports of the alarm log are meant to present this “raw”
information in a more user-friendly format.
• org.csstudio.debugging.jmsmonitor:
Can be used to monitor JMS traffic
The plugins need to be added to an instance of CSS, then refer to their
online help.
Once the alarm tree and table GUI show up OK and connect to the
Alarm Server, there could be an issue trying to use it because the
operations for configuring the alarm system and for acknowledging
alarms are controlled by CSS authentication and authorization[4]. At a
minimum, you have to understand it enough to configure “dummy”
authentication.
10 Annunciator
This tool is available as either the Annunciator view for the CSS GUI, or
a standalone Annunciator command-line application. Either one listens
to a JMS topic and annunciates (speaks) the “TEXT” property of each
received JMS MapMessage. When setup to listen to the “TALK” topic
used by the Alarm Server, it serves as the alarm voice annunciator.
More than one Alarm Server can write to the same “TALK” topic, and in
principle other applications could also write to it in order to request
annunciation. The tool can actually listen to a list of JMS topics, so it
could annunciate alarms from a “TALK” topic used by some alarm
server as well as a “VOICE” topic used by another system that wants to
trigger annunciations.
10.1 Message Queue Threshold
When more than a configurable number of messages queue up, for
example resulting from a flurry of alarms, the tool will only annunciate
8
Alarm System Toolkit
the first few and then simply say “There are … more messages”,
skipping the remaining messages.
Configurable via the preference setting ‘threshold’, default is 3.
10.2 Translations
A list of translations can be provided to aid in the pronunciation of
acronyms, for example
MEBT=mebbit
or even
MEBT=medium energy beam transport.
The preference setting ‘translations_file’ specifies the name of such a
translation file, which in turn contains a sequence of lines
some_regular_expression_pattern = translation
The program will try to perform all translations on each received
message. This can result in problems with follow-up or even recursive
translations (MEBT=mebbit, bit=binary digit, dig=digital will turn
“MEBT” into “mebbinary digitalit”). To avoid such side effects it is
suggested to fix a pronunciation problem at the source by for example
changing the alarm system description of a PV.
To use the Annunciator GUI, add the plugin
org.csstudio.alarm.beast.annunciator
to your CSS product.
To build the annunciator as a standalone command-line tool, use the
Eclipse product file
org.csstudio.alarm.beast.annunciator/Annunciator.product
To run, you probably want to use a customized copy of the
plugin_customization.ini
in the same plugin.
11 JMS2RDB
This tool logs messages received from JMS to message log tables in an
RDB.
The Message log is described in [3]
12 Web Reports
There are JSP-based web reports to
• View the alarm configuration
• See snapshot of current alarms
• List disabled alarms
• List ‘stale’ alarms which have been active for a long time
• Create plots of alarm activity over time, charts of 10 most
frequent alarms, view detailed log of an alarm PV
See Reports source snapshot on [1] or css_sns/Reports in SNS CVS.
9
Alarm System Toolkit
13 Other tools
• org.csstudio.debugging.jmsmonitor is a CSS GUI plugin for
monitoring JMS traffic.
• org.csstudio.debugging.rdbshell is a very simple RDB shell (send
SQL commands, see response) for the CSS GUI.
• org.csstudio.utility.jmssendcmd is a command-line tool for
sending messages to JMS. It can be used to test the Annunciator,
to trigger a configuration reload on the alarm server and clients
and for other tests.
[1] SNS CSS web page, Nov. 2008
https://ics-web.sns.ornl.gov/css/ and
https://ics-web.sns.ornl.gov/css/devel.html
[2] DESY CSS web page, info about CVS access etc.
http://css.desy.de
[3] “CSS Message Log”, available on https://ics-
web.sns.ornl.gov/css/devel.html
[4] “Authentication and Authorization”, available on https://ics-
web.sns.ornl.gov/css/devel.html
10

Mais conteúdo relacionado

Destaque

Heritage University Newspaper Resources
Heritage University Newspaper ResourcesHeritage University Newspaper Resources
Heritage University Newspaper ResourcesRonald Hodge
 
Credible source examples
Credible source examplesCredible source examples
Credible source examplesRonald Hodge
 
Detecta online leads
Detecta online leadsDetecta online leads
Detecta online leadsITSitio.com
 
Bring rfid to asset management
Bring rfid to asset managementBring rfid to asset management
Bring rfid to asset managementJackie Luo
 
CERTIFICATE OF APPRECIATION
CERTIFICATE OF APPRECIATIONCERTIFICATE OF APPRECIATION
CERTIFICATE OF APPRECIATIONRasoul Alizadeh
 
Passle Hero Academy Seminar 1: 5 content distribution techniques to try out
Passle Hero Academy Seminar 1: 5 content distribution techniques to try outPassle Hero Academy Seminar 1: 5 content distribution techniques to try out
Passle Hero Academy Seminar 1: 5 content distribution techniques to try outDr Claire Trévien
 
հայոց եկեղեցին
հայոց եկեղեցինհայոց եկեղեցին
հայոց եկեղեցինkarinemkhitaryan
 
Delirium in ICU -By Dr.Tinku Joseph
Delirium in ICU -By Dr.Tinku JosephDelirium in ICU -By Dr.Tinku Joseph
Delirium in ICU -By Dr.Tinku JosephDr.Tinku Joseph
 
b2b marketing spend forecasts 2015
b2b marketing spend forecasts 2015b2b marketing spend forecasts 2015
b2b marketing spend forecasts 2015Alchemis
 
день памяті жертв голодомору
день памяті жертв голодоморудень памяті жертв голодомору
день памяті жертв голодоморуRoman Vasilchik
 
Dia casting and its types by alpha metal industries
Dia casting and its types by alpha metal industriesDia casting and its types by alpha metal industries
Dia casting and its types by alpha metal industriesroshnipatel829
 

Destaque (15)

Heritage University Newspaper Resources
Heritage University Newspaper ResourcesHeritage University Newspaper Resources
Heritage University Newspaper Resources
 
Lifeguard Certificate
Lifeguard CertificateLifeguard Certificate
Lifeguard Certificate
 
Bez kabli
Bez kabliBez kabli
Bez kabli
 
Credible source examples
Credible source examplesCredible source examples
Credible source examples
 
Detecta online leads
Detecta online leadsDetecta online leads
Detecta online leads
 
Hubungan industrial
Hubungan industrialHubungan industrial
Hubungan industrial
 
Bring rfid to asset management
Bring rfid to asset managementBring rfid to asset management
Bring rfid to asset management
 
CERTIFICATE OF APPRECIATION
CERTIFICATE OF APPRECIATIONCERTIFICATE OF APPRECIATION
CERTIFICATE OF APPRECIATION
 
Telecom industry copy
Telecom industry   copyTelecom industry   copy
Telecom industry copy
 
Passle Hero Academy Seminar 1: 5 content distribution techniques to try out
Passle Hero Academy Seminar 1: 5 content distribution techniques to try outPassle Hero Academy Seminar 1: 5 content distribution techniques to try out
Passle Hero Academy Seminar 1: 5 content distribution techniques to try out
 
հայոց եկեղեցին
հայոց եկեղեցինհայոց եկեղեցին
հայոց եկեղեցին
 
Delirium in ICU -By Dr.Tinku Joseph
Delirium in ICU -By Dr.Tinku JosephDelirium in ICU -By Dr.Tinku Joseph
Delirium in ICU -By Dr.Tinku Joseph
 
b2b marketing spend forecasts 2015
b2b marketing spend forecasts 2015b2b marketing spend forecasts 2015
b2b marketing spend forecasts 2015
 
день памяті жертв голодомору
день памяті жертв голодоморудень памяті жертв голодомору
день памяті жертв голодомору
 
Dia casting and its types by alpha metal industries
Dia casting and its types by alpha metal industriesDia casting and its types by alpha metal industries
Dia casting and its types by alpha metal industries
 

Semelhante a Manual of the CSS Alarm Handler (Beast)

ETM Server Program v1.0
ETM Server Program v1.0ETM Server Program v1.0
ETM Server Program v1.0Adam Dale
 
Software testing
Software testingSoftware testing
Software testingnil65
 
2600 v03 n02 (february 1986)
2600 v03 n02 (february 1986)2600 v03 n02 (february 1986)
2600 v03 n02 (february 1986)Felipe Prado
 
Optimizing Alert Monitoring with Oracle Enterprise Manager
Optimizing Alert Monitoring with Oracle Enterprise ManagerOptimizing Alert Monitoring with Oracle Enterprise Manager
Optimizing Alert Monitoring with Oracle Enterprise ManagerDatavail
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance TestingKnoldus Inc.
 
Must Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview QuestionsMust Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview QuestionsLaxman J
 
TechNet Live spor 1 sesjon 2 - sc-forefront 2
TechNet Live spor 1   sesjon 2 - sc-forefront 2TechNet Live spor 1   sesjon 2 - sc-forefront 2
TechNet Live spor 1 sesjon 2 - sc-forefront 2Anders Borchsenius
 
[White paper] detecting problems in industrial networks though continuous mon...
[White paper] detecting problems in industrial networks though continuous mon...[White paper] detecting problems in industrial networks though continuous mon...
[White paper] detecting problems in industrial networks though continuous mon...TI Safe
 
Information on Tomcat in cPanel & WHM
Information on Tomcat in cPanel & WHMInformation on Tomcat in cPanel & WHM
Information on Tomcat in cPanel & WHMHTS Hosting
 
Citrix command lines
Citrix command linesCitrix command lines
Citrix command linesprincesly
 
CMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdfCMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdfchau44
 
The New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSThe New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSRobert-Emmanuel Mayssat
 
Dell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlDell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlAidy Tificate
 

Semelhante a Manual of the CSS Alarm Handler (Beast) (20)

ETM Server Program v1.0
ETM Server Program v1.0ETM Server Program v1.0
ETM Server Program v1.0
 
Wissbi osdc pdf
Wissbi osdc pdfWissbi osdc pdf
Wissbi osdc pdf
 
Creating templates
Creating templatesCreating templates
Creating templates
 
Manual Sophos
Manual SophosManual Sophos
Manual Sophos
 
Software testing
Software testingSoftware testing
Software testing
 
2600 v03 n02 (february 1986)
2600 v03 n02 (february 1986)2600 v03 n02 (february 1986)
2600 v03 n02 (february 1986)
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Backtrack Manual Part7
Backtrack Manual Part7Backtrack Manual Part7
Backtrack Manual Part7
 
Optimizing Alert Monitoring with Oracle Enterprise Manager
Optimizing Alert Monitoring with Oracle Enterprise ManagerOptimizing Alert Monitoring with Oracle Enterprise Manager
Optimizing Alert Monitoring with Oracle Enterprise Manager
 
Mastering Distributed Performance Testing
Mastering Distributed Performance TestingMastering Distributed Performance Testing
Mastering Distributed Performance Testing
 
Must Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview QuestionsMust Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview Questions
 
Adobe Flex4
Adobe Flex4 Adobe Flex4
Adobe Flex4
 
TechNet Live spor 1 sesjon 2 - sc-forefront 2
TechNet Live spor 1   sesjon 2 - sc-forefront 2TechNet Live spor 1   sesjon 2 - sc-forefront 2
TechNet Live spor 1 sesjon 2 - sc-forefront 2
 
[White paper] detecting problems in industrial networks though continuous mon...
[White paper] detecting problems in industrial networks though continuous mon...[White paper] detecting problems in industrial networks though continuous mon...
[White paper] detecting problems in industrial networks though continuous mon...
 
Information on Tomcat in cPanel & WHM
Information on Tomcat in cPanel & WHMInformation on Tomcat in cPanel & WHM
Information on Tomcat in cPanel & WHM
 
Citrix command lines
Citrix command linesCitrix command lines
Citrix command lines
 
CMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdfCMSIS_RTOS_Tutorial.pdf
CMSIS_RTOS_Tutorial.pdf
 
The New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNSThe New Soft-IOC Based alarm handler at the SNS
The New Soft-IOC Based alarm handler at the SNS
 
Server Scripts
Server ScriptsServer Scripts
Server Scripts
 
Dell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlDell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access Control
 

Mais de Robert-Emmanuel Mayssat

Honeywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyHoneywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyRobert-Emmanuel Mayssat
 
Sample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionSample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionRobert-Emmanuel Mayssat
 
BEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingBEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingRobert-Emmanuel Mayssat
 
BEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsBEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsRobert-Emmanuel Mayssat
 
Epics Qt Collabroration at the EPICS conference in Spring 2014
Epics Qt Collabroration at the EPICS conference in Spring 2014Epics Qt Collabroration at the EPICS conference in Spring 2014
Epics Qt Collabroration at the EPICS conference in Spring 2014Robert-Emmanuel Mayssat
 

Mais de Robert-Emmanuel Mayssat (20)

Alarm management at DeltaV
Alarm management at DeltaVAlarm management at DeltaV
Alarm management at DeltaV
 
CSS - Alarm Management System (AMS)
CSS - Alarm Management System (AMS)CSS - Alarm Management System (AMS)
CSS - Alarm Management System (AMS)
 
Honeywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriouslyHoneywell - Alarm management standards taken seriously
Honeywell - Alarm management standards taken seriously
 
Sample Beamline Scientist Job Description
Sample Beamline Scientist Job DescriptionSample Beamline Scientist Job Description
Sample Beamline Scientist Job Description
 
Sample GUI Style Guide
Sample GUI Style Guide Sample GUI Style Guide
Sample GUI Style Guide
 
ALH user guide 1.2.33 (May 2013)
ALH user guide 1.2.33 (May 2013)ALH user guide 1.2.33 (May 2013)
ALH user guide 1.2.33 (May 2013)
 
Storytelling for startups
Storytelling for startupsStorytelling for startups
Storytelling for startups
 
BEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance TestingBEST, the CSS Alarm Handler - Performance Testing
BEST, the CSS Alarm Handler - Performance Testing
 
BEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance TestsBEAST - CSS Alarm Handler Performance Tests
BEAST - CSS Alarm Handler Performance Tests
 
Web browser design template
Web browser design templateWeb browser design template
Web browser design template
 
Ipad design template
Ipad design templateIpad design template
Ipad design template
 
Iphone 5 design template
Iphone 5 design templateIphone 5 design template
Iphone 5 design template
 
Epics Qt design specification
Epics Qt design specificationEpics Qt design specification
Epics Qt design specification
 
Epics Qt requirements specification
Epics Qt requirements specificationEpics Qt requirements specification
Epics Qt requirements specification
 
Pitch anything webinar
Pitch anything webinarPitch anything webinar
Pitch anything webinar
 
Qtc managed-runtimes
Qtc managed-runtimesQtc managed-runtimes
Qtc managed-runtimes
 
Sample Quad Chart
Sample Quad ChartSample Quad Chart
Sample Quad Chart
 
Review of QNX
Review of QNXReview of QNX
Review of QNX
 
Epics Qt Collabroration at the EPICS conference in Spring 2014
Epics Qt Collabroration at the EPICS conference in Spring 2014Epics Qt Collabroration at the EPICS conference in Spring 2014
Epics Qt Collabroration at the EPICS conference in Spring 2014
 
QNX Sales Engineering Presentation
QNX Sales Engineering PresentationQNX Sales Engineering Presentation
QNX Sales Engineering Presentation
 

Último

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Último (20)

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 

Manual of the CSS Alarm Handler (Beast)

  • 1. Alarm System Toolkit BEAST - Best Ever Alarm System Toolkit No Warranty Although the programs and procedures described in this manual are meant to be helpful instruments for archiving, maintaining and retrieving control system data, there is no warranty, either expressed or implied, including, but not limited to, fitness for a particular purpose. The entire risk as to the quality and performance of the programs and procedures is with you. Should the programs or procedures prove defective, you assume the cost of all necessary servicing, repair or correction. In no event will anybody, including the persons mentioned in this document, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the programs (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the programs to operate with any other programs). The system described in here is not used in a production environment at this time. Author: Kay Kasemir, kasemirk@ornl.gov Version: July 20, 2010 1
  • 2. Alarm System Toolkit 1 Overview The Alarm Server receives alarms from IOCs via Channel Access. Depending on its configuration, it might annunciate alarms, “latch” or ignore them. Several Alarm Client GUI tools allow users to view current alarms, acknowledge them, invoke operator displays related to the alarm, browse the alarm history, or change the alarm configuration. Fig 1: Alarm System Overview A relational database (RDB) stores the alarm configuration as well as the current state of all alarms. The configuration includes information for the Alarm Server (what PVs to monitor, whether to latch or annunciate alarms) as well as the Alarm Client GUI (user guidance on an alarm, related display links). The Alarm Server also updates the current alarm state of each PV in the RDB. While the RDB is good for storing this type of information, it is technically unsuited for triggering GUI updates in response to alarm changes. The GUI would have to poll the RDB at a high rate to learn about alarm state changes. Instead, a more suitable Java Message System (JMS) is used to communicate alarm system changes. The Alarm Server sends alarm state updates via JMS to clients; it sends annunciations to a voice annunciator. Clients send acknowledgement requests via JMS to the Alarm Server. Clients also send notifications 2
  • 3. Alarm System Toolkit about alarm configuration changes to the Alarm Server as well as other GUI clients, which will then each react by reading the latest configuration from the RDB. Finally, all JMS messages including generic CSS application log messages can be archived in a Message RDB, which is in principle separate from the alarm system but can be used to trace the history of an alarm from its detection via annunciation and acknowledgment until the alarm eventually cleared. A minimal setup of the alarm system requires: 1) JMS Server for the alarm GUI and Alarm Server to communicate. 2) RDB with Alarm Server configuration. 3) CSS with the alarm GUI, i.e. Alarm Tree and Alarm Table plugins. 4) Alarm Server. Optional components: 1) JMS Monitor plugin to view raw JMS messages in GUI for debugging the setup. 2) CSS Annunciator (aka JMS2SPEECH) to annunciate alarm messages. 3) AlarmConfigTool to export/import alarm configurations as XML files and to convert existing ALH configuration files. 4) JMS2RDB to log the alarm system activity (as well as other CSS log messages). 5) Tomcat and Web Reports to view configuration and alarm logs online. 2 JMS Server The alarm system uses the Java Message Service(JMS) to communicate • Alarm Updates from the server to the clients (ALARM_SERVER topic). This includes periodic ‘idle’ messages from the server in the absence of any alarm system changes. • Annunciations from the server to the annunciator (TALK topic) • Acknowledge requests from clients to the server (ALARM_CLIENT topic) • Configuration change notifications from clients to the server and other clients (ALARM_CLIENT topic) Specifically, CSS uses the Apache ActiveMQ implementation of JMS. See http://activemq.apache.org . There is no need to configure the JMS server instance for the alarm system in particular. You simply have to ‘run’ a JMS server instance and know its URL so that the Alarm GUI and the Alarm Server can connect to it. The Alarm system components will automatically create the required JMS topics, there is no need to create them manually. You can use the same JMS server instance for alarms and the generic CSS application message logging. 3
  • 4. Alarm System Toolkit In short, for first tests there is no need to configure anything in JMS. Just • Unpack the ActiveMQ package from the Apache web site • cd apache-activemq-*/bin • ./activemq Eventually, you might want to copy its default configuration file, conf/activemp.xml, into something like my_activemq_setup and then use that configuration file: • ./activemq xbean:file:/path/to/my_activemq_setup.xml That way you can disable things that you don't need, like the web monitor, or enable HTTPTransport to allow tunneling though web proxies. Markus Möller (DESY) suggested disabling this section: <!-- The store and forward broker networks ActiveMQ will listen to --> <networkConnectors> <networkConnector name="default-nc" uri="multicast://default"/> </networkConnectors> The default multicast settings would otherwise allow multiple JMS servers on the network to magically find each other and interchange messages, which can be confusing if you did not intend to do this on purpose. A snapshot with SNS-specific installation details are in the SNS CVS under css_sns/JMSServer. 3 RDB A relational database holds the alarm system configuration (hierarchy of alarm PVs, how to alarm on them) as well as a snapshot of the current alarm state of each PV. MySQL and Oracle are supported. For the initial setup, refer to information in the “dbd” subdirectory of the plugin sources for org.csstudio.alarm.beast. End users should have no need to know any RDB details because all interactions go through the CSS GUI. Administrators need to know the RDB URL with user, password, and the name of the “root” element of the alarm configuration hierarchy, which need to be consistent in the preference settings of the CSS alarm GUI and the Alarm Server. 4 Initial Alarm Configuration The basic RDB setup will create the necessary database tables for holding multiple alarm server configurations. As long as they are empty, however the alarm tools will not be able to run because they need at least a “root” element. You can create an initial root element directly in MySQL like this: 4
  • 5. Alarm System Toolkit INSERT INTO ALARM_TREE(COMPONENT_ID, PARENT_CMPNT_, NAME, CONFIG_TIME) VALUES(1, NULL, ‘Annunciator’, NOW()); Alternatively, you can use the AlarmConfigTool to import an initial XML configuration file. Read on to learn more the “root” element and the AlarmConfigTool. 5 Multiple Alarm Configurations Multiple alarm configurations can be used in parallel. For example, there might be one alarm configuration for the main control room, and a separate one for an auxiliary control room. Corollary: You have to understand your configuration. If the alarm system components are not using the same configuration, they will not “find” each other. Configuration example: Default Main Control Room Aux. Control Room Configuration Root Annunciator MAIN AUX JMS ‘server’ topic ALARM_SERVER MAIN_SERVER AUX_SERVER JMS ‘client’ topic ALARM_CLIENT MAIN_CLIENT AUX_CLIENT JMS ‘talk’ topic TALK MAIN_TALK AUX_TALK Configuration Root: Each configuration is identified by the “root” element of its alarm configuration in the RDB. Exactly one instance of the alarm server is required for each alarm configuration. JMS ‘server’, ‘client’ topics: These are used to communicate from the server to the client and vice versa. Their name should use the configuration root followed by “_SERVER” resp. “_CLIENT”. In principle, both server and client messages can use the same topic, i.e. both the server and client topic could be set to just ‘MAIN’ or ‘AUX’. Keeping them separate can be of advantage, though, because is allows tools like the JMS Monitor debug tool to only listen to ‘MAIN_SERVER’ messages without also seeing ‘MAIN_CLIENT’ messages, which can aid in debugging problems later on. In addition, JMS authorization for writing is configured by topic. With ActiveMQ for example one could restrict MAIN_SERVER topic write access to the Alarm Server, while only GUI clients with certain user/password are allowed write access to the MAIN_CLIENT topic. So far this has not been used, but keeping the topics separate and the communication on them unidirectional will prepare you for trying this in the future. 5
  • 6. Alarm System Toolkit JMS ‘talk’ topic: Having separate talk topics for each configuration as in the above example allows an annunciator program to selectively handle messages from MAIN_TALK, AUX_TALK or both. 6 Configuration of Eclipse Tools In General Refer to the file org.csstudio.sns.product/plugin_customization.ini for a summary of the Eclipse preference mechanism. Most alarm- relevant defaults are in the file org.csstudio.alarm.beast/preferences.ini Each product (AlarmConfigTool, AlarmServer, …, CSS with Alarm GUI) has a plugin_customization.ini file to override those and other settings, so you have multiple levels of either configuring site-wide defaults at compile time, or setting them when installing the tools, or providing them with the “-pluginCustomization …” command-line switch whenever running the tools. 7 AlarmConfigTool This command-line tool can • export alarm configurations into XML files • import those XML files again (replacing or modifying the configuration) • create the XML configuration file format from EPICS ALH configuration files (with certain assumptions resp. limitations) This tool might also be the easiest way to start a new configuration by importing an empty or very basic XML configuration, then editing it in the alarm GUI. To build, use the Eclipse product file org.csstudio.alarm.beast.configtool/AlarmConfigTool.product To run, refer to the Readme.txt in the AlarmConfigTool’s source directory. 8 Alarm Server The alarm server reads the alarm configuration from the RDB, connects to all the requested PVs, monitors their state changes and generates alarms, handling annunciation, latching, acknowledgment and some amount of filtering. You have to start an alarm server instance for each alarm system setup. On Linux systems you may create scripts that perform this via /etc/rc.d/init.d, but it is still up to you to arrange for an Alarm Server to be running. Neither the alarm GUI nor JMS will launch an alarm server for you. The Alarm Server remains running so it can continue to trigger annunciations and log alarm system actions even when no alarm GUI is active. 6
  • 7. Alarm System Toolkit To build, use the Eclipse product file org.csstudio.alarm.beast.server/AlarmServer.product To run, you probably want to use a customized copy of org.csstudio.alarm.beast.server/plugin_customization.ini Of main interest are • RDB URL, user, password • JMS Server URL, user password • Name of alarm configuration (root element) • JMS Topics for ALARM_SERVER, ALARM_CLIENT, TALK • EPICS Channel Access settings It is possible to run more than one Alarm Server to support different alarm system configurations on the same network as long as they use a different alarm configuration root element and JMS topics for the ALARM_SERVER and ALARM_CLIENT. They may use the same TALK topic to share an annunciator. 7
  • 8. Alarm System Toolkit 9 CSS Alarm GUI The GUI consists of these plugins • org.csstudio.alarm.beast.ui.alarmtree: Hierarchical Alarm Tree, allows configuration as well as acknowledgement. • org.csstudio.alarm.beast.ui.alarmtable: Table of currently active alarms. Meant to be the main end-user interface. • org.csstudio.alarm.beast..msghist: Table of message log history, can be used to analyze sequence of events from alarm via annunciation to acknowledgement until the alarm finally clears. Web reports of the alarm log are meant to present this “raw” information in a more user-friendly format. • org.csstudio.debugging.jmsmonitor: Can be used to monitor JMS traffic The plugins need to be added to an instance of CSS, then refer to their online help. Once the alarm tree and table GUI show up OK and connect to the Alarm Server, there could be an issue trying to use it because the operations for configuring the alarm system and for acknowledging alarms are controlled by CSS authentication and authorization[4]. At a minimum, you have to understand it enough to configure “dummy” authentication. 10 Annunciator This tool is available as either the Annunciator view for the CSS GUI, or a standalone Annunciator command-line application. Either one listens to a JMS topic and annunciates (speaks) the “TEXT” property of each received JMS MapMessage. When setup to listen to the “TALK” topic used by the Alarm Server, it serves as the alarm voice annunciator. More than one Alarm Server can write to the same “TALK” topic, and in principle other applications could also write to it in order to request annunciation. The tool can actually listen to a list of JMS topics, so it could annunciate alarms from a “TALK” topic used by some alarm server as well as a “VOICE” topic used by another system that wants to trigger annunciations. 10.1 Message Queue Threshold When more than a configurable number of messages queue up, for example resulting from a flurry of alarms, the tool will only annunciate 8
  • 9. Alarm System Toolkit the first few and then simply say “There are … more messages”, skipping the remaining messages. Configurable via the preference setting ‘threshold’, default is 3. 10.2 Translations A list of translations can be provided to aid in the pronunciation of acronyms, for example MEBT=mebbit or even MEBT=medium energy beam transport. The preference setting ‘translations_file’ specifies the name of such a translation file, which in turn contains a sequence of lines some_regular_expression_pattern = translation The program will try to perform all translations on each received message. This can result in problems with follow-up or even recursive translations (MEBT=mebbit, bit=binary digit, dig=digital will turn “MEBT” into “mebbinary digitalit”). To avoid such side effects it is suggested to fix a pronunciation problem at the source by for example changing the alarm system description of a PV. To use the Annunciator GUI, add the plugin org.csstudio.alarm.beast.annunciator to your CSS product. To build the annunciator as a standalone command-line tool, use the Eclipse product file org.csstudio.alarm.beast.annunciator/Annunciator.product To run, you probably want to use a customized copy of the plugin_customization.ini in the same plugin. 11 JMS2RDB This tool logs messages received from JMS to message log tables in an RDB. The Message log is described in [3] 12 Web Reports There are JSP-based web reports to • View the alarm configuration • See snapshot of current alarms • List disabled alarms • List ‘stale’ alarms which have been active for a long time • Create plots of alarm activity over time, charts of 10 most frequent alarms, view detailed log of an alarm PV See Reports source snapshot on [1] or css_sns/Reports in SNS CVS. 9
  • 10. Alarm System Toolkit 13 Other tools • org.csstudio.debugging.jmsmonitor is a CSS GUI plugin for monitoring JMS traffic. • org.csstudio.debugging.rdbshell is a very simple RDB shell (send SQL commands, see response) for the CSS GUI. • org.csstudio.utility.jmssendcmd is a command-line tool for sending messages to JMS. It can be used to test the Annunciator, to trigger a configuration reload on the alarm server and clients and for other tests. [1] SNS CSS web page, Nov. 2008 https://ics-web.sns.ornl.gov/css/ and https://ics-web.sns.ornl.gov/css/devel.html [2] DESY CSS web page, info about CVS access etc. http://css.desy.de [3] “CSS Message Log”, available on https://ics- web.sns.ornl.gov/css/devel.html [4] “Authentication and Authorization”, available on https://ics- web.sns.ornl.gov/css/devel.html 10