Soft-IOC Based Alarm Handler Pam Gurd May 25, 2006.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
Control System Studio (CSS)
SNS Integrated Control System SNS RDB Requirements, wish list, status A little history l Oracle RDB used exclusively by accelerator physics group l JERI.
Introduction to Alarm Handlers Randy Flood Karen Schroeder AOD/OPS.
Status of VDCT Mark Pleško, Matej Šekoranja, John Maclean EPICS Meeting – Japan, 2004.
Soft-IOC Based Alarm Handler Pam Gurd July 14, 2006.
Getting Started: Ansoft HFSS 8.0
Let’s try Oracle. Accessing Oracle The Oracle system, like the SQL Server system, is client / server. For SQL Server, –the client is the Query Analyser.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
June 17, 2008 LCLS FAC D. Fairley MATLAB Feedback Phase II Commissioning.
Viewbox 4 Tutorial How to create a Template Please view this tutorial as a Slide Show in PowerPoint, because it contains animations that will not appear.
The Soft-IOC Based Alarm Handler – an Operations View Pam Gurd October 31, 2007.
Backup and Recovery Part 1.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS April 2013 Control System Studio Training - Alarm System Use.
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
WS2-1 ADM740, Workshop 2, June 2007 Copyright  2007 MSC.Software Corporation WORKSHOP 2 TEMPLATES VERSUS SUBSYSTEMS.
Dirk Zimoch, KSTAR Meeting 2009 Auto Save and Restore.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
Eucalyptus Virtual Machines Running Maven, Tomcat, and Mysql.
ACNET Alarms Brian Hendricks October 18, Alarm Types analog – simple comparison to minimum and maximum values single set of limits digital – nominal.
Linux Operations and Administration
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 3 Windows File Management 1 Morrison / Wells / Ruffolo.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
Booting and boot levels
ORNL is managed by UT-Battelle for the US Department of Energy EPICS State Notation Language (SNL), “Sequencer” Kay Kasemir, SNS/ORNL Many slides from.
Database Design with VisualDCT Nicholas Di Monte.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
EPICS and EDM Overview 03 October 2008 Matt Boyes EPICS and EDM Overview Lecture 1 Matt Boyes.
CANADA’S NATIONAL LABORATORY FOR PARTICLE AND NUCLEAR PHYSICS Owned and operated as a joint venture by a consortium of Canadian universities via a contribution.
1 Data Bound Controls II Chapter Objectives You will be able to Use a Data Source control to get data from a SQL database and make it available.
Debby Quock November 13, 2012 IRMIS at CLS. IRMIS Currently at CLS PV Crawler –Perl modules that parse EPICS IOC st.cmd, db, and dbd files. Information.
Playing Back Scripts In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Control System Studio (CSS) Overview Kay Kasemir, July 2009.
Chapter 7 File I/O 1. File, Record & Field 2 The file is just a chunk of disk space set aside for data and given a name. The computer has no idea what.
1 1999/Ph 514: IOC Development Environment EPICS IOC Development Environment Marty Kraimer APS.
Managing SX.e and TWL with MARC and Scripts Jeremiah Curtis
How to Run a Scenario In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
ACNET to EPICS Meeting SNS Device DB Tools J. Patrick November 4, 2008.
SNS Alarm System Status Curtis Dunn Control System Suite/Eclipse Frameworks Workshop EPICS Collaboration Meeting June 12-16, 2006.
Pending on the IEZ Quote System… Objective: Access IEZ Quote for your client’s pending status.
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
EPICS Application Development At The Canadian Light Source Glen Wright.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
Managing SX.e and TWL with scripts and MARC 02/12/04 Jeremiah Curtis.
Files Tutor: You will need ….
EPICS Development for the ASKAP Design Enhancements Program ASTRONOMY AND SPACE SCIENCE Craig Haskins 18 th October 2015 EPICS User Meeting – Melbourne.
21 September 2012 GRETINA SWG GRETINA SWG Meeting Carl Lionberger LBNL GRETINA DAQ Implementation.
ROCS Web Based Reporting Tool Using SNS Relational Database By Katia Danilova, Ernest L. Williams Jr. Control Systems group, ASD, SNS.
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 3 Windows File Management 1 Morrison / Wells / Ruffolo.
HINS Sharon Lackey July 10, What is Autosave?  Autosave is an EPICS extension that: Automatically saves settings in an ioc when they.
SNS EPICS Config. Database May 2001 Kay-Uwe Kasemir, LANL.
EPICS and LabVIEW Tony Vento, National Instruments
K.Vijayan : RDB for Diamond Control Systems EPICS DB in RDB K.Vijayan June 2006.
VB.NET and Databases. ADO.NET VB.Net allows you many ways to connect to a database. The technology used to interact with a database or data source is.
16th Oct 08 Tom Cobb - Python at DLS 1 Uses of Python at Diamond Light Source.
Managed by UT-Battelle for the Department of Energy Quest for the Best Ever Alarm System Tool Kay Kasemir Oct
Best Ever Alarm System Toolkit Kay Kasemir, Xihui Chen, Katia Danilova, SNS/ORNL ICALEPCS 2009, Kobe, Japan, Oct 2009.
1 1999/Ph 514: Lab #2 : IOC Database EPICS Lab #2 IOC Database.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC , the State of Michigan.
SNS Integrated Control System ORACLE –JERI DB Generation April 27, 2004 Coles Sibley Jeff Patton.
Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues.
Relational Database Collaboration
Fill the screen challenge!
Control System Studio (CSS)
EPICS IOCs – Relational DB
Presentation transcript:

Soft-IOC Based Alarm Handler Pam Gurd May 25, 2006

Why? Wanted to be able to incorporate alarm summaries in edm screens And to call edm screens from alarm screens.

Where? Standard soft IOC Alarm_softIOC/Devel…/commonApp/ contains everything needed to produce the individual apps. src contains the scripts that follow. Db contains the database templates. srcOpi holds the common alarm screens and the templates to be used to build specific alarm screens.

Where? continued iocBoot/ics-ioc-linux-alrm soft IOC for common stuff (now alarmModes, later summaries of everything.) Alarm_softIOC/Devel…/alarmLists contains the alarm configuration files. Presently defined: –ICS_Ctl_IOC_list.txt – IOC list –PPS_ICS_Chmk_list.txt – chipmunk list

What? Set of scripts to create soft IOCs from alarm configuration files. –make_all_alarm_apps.sh – calls make_alarm_app for each configuration file –make_alarm_app.sh – makes an alarm app ( App) and an iocBoot directory for a soft IOC ( - -ioc-linux ) using the standard makeBaseApp templates. Notice that it’s very SNS-name-centric

What’s in the application? Scripts define a soft IOC from an alarm configuration file –make_db_files.pl – makes all the EPICS database files: summaries, disable bits, timestamps, alarm logs, etc. –make_screen_substitutions.pl – makes a substitutions file to be used to create the alarm edm screen. –make_alarm_seqs.pl – makes the EPICS image file including the sequence to handle the alarm log –make_arreqs.pl – makes the archive req files (includes, mostly, the alarm log.) –make_ioc.pl – makes the autosave.req file and adds the databases, sequences and the autosave.req to the soft IOC startup command script.

Other scripts Utilities for scripts to create soft IOCs from alarm configuration files. –get_alarm_app.pl – translates S, SS and N to sSsN for app name (eg, S=PPS, SS=ICS, N=_Chmk translates to ppsICS_ChmkApp) (We’ll call that sSsNApp later on.) –get_ioc_name.pl – translates S, SS and N to - -ioc-alrm, converting “_” to “-” for app name (eg, S=PPS, SS=ICS, N=_Chmk translates to pps-ics-ioc-linux-alrm-chmk)

Configuration File Top-level Summary definition Mid-level Summary definitions (up to 12 for each top-level summary) PV lists for each (up to 12 to each mid- level summary) + all specifications needed to build all the goodies described previously

Configuration File Format – General Notes Everything is defined using = Keyword examples: TOP_S, TOP_SS, TOP_N, S, SS, N, PV, EDL, EDL_MACROS Generally, white space is ignored. Order matters. For example, TOP_S, TOP_SS, and TOP_N have to be defined before the S, SS and N of the first mid-level summary to be included. Some strings have to be enclosed in quotes (eg. EDL_MACROS=“"M=1“) Comment lines starting with “#” are ignored.

Configuration File: Top-level Summary definition TOP_S – usual SNS system –eg TOP_S=PPS TOP_SS - subsystem –eg TOP_SS=ICS TOP_N – device instance –eg TOP_N=_Chmk These are used for the App name, the soft IOC name, and the PV names for the top-level summary and alarm log. Must appear before the first mid-level summary keyword.

Configuration File: Mid-level Summary definition Up to 12 mid-level summaries for each top-level summary S – usual SNS system, eg S=PPS SS – subsystem, eg SS=Lin N – device instance, eg N=_ChmkA EDL – edm screen filename for details, eg EDL=pps_frntend_phase1_3 MODE – PV to define machine mode. Eg, MODE=Tgt_ICS:Summary:MachMode MODE_DESC – Short string to describe machine mode; eg, MODE_DESC=Tgt These are used for the PV names and configuration parameters for the mid-level summary. All keywords for the mid-level summary must appear before the next S keyword.

Configuration File: PV parameters (up to 12 PVs for each mid-level summary) PV – EPICS PV name –eg PV=ICS:IOC_linux1:HBtNLOK_FE1 EDL and EDL_MACROS as for mid-level summaries DESC – text description of alarm –eg DESC="Front End IOC 1"

WARNING Don’t edit the stuff “Under the hood” and then go back and run the script again. Your changes will be deleted.

How to Run the Script In $IOCTOP/Alarm_softIOC/ make alarm_apps Performs this command: commonApp/src/make_all_alarm_apps.sh creates an app for each *list.txt file in alarmLists. Or commonApp/src/make_alarm_app.sh alarmLists/ creates one app. Don’t forget the warning!

Under the Hood – EPICS Database Files (sSsNApp Db directory) alarmModes.db – Defines machine modes for mid-level summaries (loaded by the soft IOC ics-ioc-linux-alrm.) _ _Alarm.substitutions – defines records using the following VDCT templates: –alarmLatch.template –alarmLog.template –sumLatch.template –topSumLatch.template _ _ Alarm _top.db – records that are directly written by the script - -ioc-linux-alrm.substitutions – standard linuxStats soft IOC status.

Under the Hood – Top-Level Summary PVs _ :Summary :StsCurr – current highest severity of included PVs (masked as specified in disable bits) _ :Summary :StsLtch – summary of all lower-level latches _ :Summary :StsNotOK– actual current highest severity of included PVs, not masked by disable bits _ :Summary :ClrCmd – command to clear latches, including all lower-level latches _ :Summary :Ltch – highest alarm severity since last latch clear command _ :Summary :LtchCh – 1 when the latch is becoming set _ :Summary :LtchTS – timestamp the last time the Latch value changed. _ :Summary :DisSumSts – summary of all lower level disables

Under the Hood – Logging PVs (for each Top-Level Summary) _ :Summary :AlarmLog – Description of last PV of which the alarm severity increased (masked by disable bits) _ :Summary :AlarmLogTime – the time that the alarm severity increased _ :Summary : AlarmLogSevr – the new alarm severity Similarly, _ :Summary :NotOKLog logs the unmasked alarm PV, and _ :Summary_ioc:AlarmLtchLog logs the latch state Each Log PV is rolled into a set of PVs with a number from 00 to 19 appended to the PV name so the last 20 alarms can be viewed on the Alarm Log screen.

Under the Hood – Mid-Level Summary PVs _ :Summary :StsCurr – current highest severity of included PVs (masked as specified in disable bits) _ :Summary :StsLtch – summary of all lower-level latches _ :Summary :StsNotOK– actual current highest severity of included PVs, not masked by disable bits _ :Summary :LtchTS – timestamp the last time the Latch value changed. _ :Summary :Ltch – highest alarm severity since last latch clear command. _ :Summary :ClrCmd – command to clear latches, including all lower-level latches _ :Summary :Dis – disable at this level _ :Summary :DisSumSts – summary of all lower level disables and the disable at this level _ :Summary :StsDis – summary of all lower level disables _ :Summary :ModeSts – state of mode status PV _ :Summary :LtchCh – 1 when the latch severity increases.

Under the Hood – for each PV AlarmSts – current severity, masked by disable bits as specified. AlarmLtch – highest alarm severity since last latch clear command AlarmNotOK – actual current severity, not masked by disable bits AlarmDis – disable alarm for this PV AlarmCnt – counts how many times in a row the PV severity has been greater than the latched severity value. Used to delay latch. AlarmLtchCh – 1 when the latch changes AlarmLtchTS – timestamp the last time the Latch value changed AlarmStsCalc – using the “OUT” of this calcout allows unconnected PVs to be masked. AlarmOKCalc – similarly to the above, but for unmasked value. (?) This might look like a lot, but PVs in soft IOCs are pretty cheap. Only 1 CA connection to each real PV.

Under the Hood – Alarm Log Sequence (sSsNApp/src directory) The sequence _ _alarmLogSeq.st is created to make alarm logs for edm display. –The PV descriptions go there. –Called 3 times, to make 3 logs corresponding to current status after disables are applied, latched status and unmasked status. Plus Include.dbd and Makefile in support.

Under the Hood – Archive reqs (sSsNApp/srcCfg/arCfg directory) _ _Alarm _Summary.arReq to specify archiving the alarm logs.

edm Screens – Overall Summary This one isn’t getting generated automatically yet.

edm Screens – Top-Level Summary (in sSsNApp/srcOpi directory) Click for details (Alarm details or edm screen from system) Click to change disable status This circle includes current status, latch status, disable status and unmasked status. You can copy it to your own screen.

edm Screens – Mid-Level Summary Click for details (Alarm details or edm screen from system) Click to change disable status Here’s another circle you could copy to your own screen. Click for alarm configuration details

edm Screens – Alarm Circle Legend

edm Screens – Alarm Log

edm Screens – Alarm Configuration (needs work)

iocBoot Directory ics-ioc-linux-alrm soft IOC for common stuff (now alarmModes, later summaries of everything.) iocBoot/ - -ioc-linux-alrm directory –“_” in are changed to “-”. –eg pps-ics-ioc-linux-alrm-chmk –contains - -ioc-linux-alrm.req (autosave req file for alarm parameters) and - -ioc-linux- alrm _st.cmd (startup command script.)

Future Developments Configuration screen needs work, and need different screens for different record types. Create top-level summaries of everything. Automatically generate a top-level screen. For Cryo, need to add latch delay to configuration. More examples to find other needs and shortcomings (and, hopefully, because they’d be useful.) Allow inclusion of PVs in more than one summary. Remove 12 PV limit. Link with Oracle database for configuration. Provide a way for Ops to do configuration and boot soft IOCs.