IRMIS Overview
"IRMIS is a collaborative effort between several EPICS sites to build a common Relational DataBase schema and a set of tools to populate and search an RDB that contains information about the operational EPICS IOCs installed at that site." IRMIS (the schema, crawler programs and UI) was developed by Don Dohan and Claude Saunders at APS. For general information and distributions see the IRMIS home page.
IRMIS @ SLAC
IRMIS is used at SLAC for the following purposes, from several different interfaces:
- Data source for PV names for AIDA (nightly cron jobs)
- Data source for element EPICS device names for LCLS_INFRASTRUCTURE (nightly cron jobs)
- PV and PV Client lists and data (IRMIS gui)
- IOC configuration and parameters (IOC Info APEX: https://seal.slac.stanford.edu/apex/mccqa/f?p=104:8)
- IOC and application configuration data (IOC Info jsp app: https://seal.slac.stanford.edu/IRMISQueries )
- EPICS camdmp application (APEX app: https://seal.slac.stanford.edu/apex/mccqa/f?p=103:4)
- Archiver PV search application (APEX app: https://seal.slac.stanford.edu/apex/mccqa/f?p=259:8 )
- Lists of IOCs and their PV populations (web page: http://mccas0.slac.stanford.edu/crawler/ioc_report.html)
- ad hoc queries using TOAD, sqlplus, pl/sql, perl scripts, or other db query tool.
- IRMIS crawler logs, with duplicate PV reports: http://www.slac.stanford.edu/grp/lcls/controls/sysGroup/report
Elements of the IRMIS database that have been adopted and modified for the controls software group at SLAC:
- The Oracle PV schema
- PV, ALH crawlers
- the IRMIS gui
- Other elements of the collaboration IRMIS installation include cabling, device and application schemas. We are not populating these now...but may in the future.
Elements modified or created at SLAC:
- IOC boot syntax adaptations in the PV crawler and IOC Info crawler (adopted from SNS) and schema
- Special application-oriented tables in the IRMIS schema, and their population scripts (for example for EPICS camdmp and the archiver PV viewer app)
- Addition of config file tree structure crawling in the ALH crawler
- New crawlers for Channel Watcher and Channel Archiver
- New PV Client viewer addition to the IRMIS Desktop
- New guis
UI and DATABASE QUERYING
IRMIS GUI
This is a java UI for the IRMIS Oracle database, developed by Claude Saunders of the EPICS collaboration, can be invoked in 3 ways:
- from the lclshome edm display:
click the “IRMIS…” button - from a Solaris or Linux workstation:
run this script:
irmisUI
The gui paradigm is a set of “document types”; click the File/New Document menu for the list. Right now there are only 2 available for use at SLAC:
- idt::pv – Search for lists of PVs and IOCs. This is the most useful interface, and it comes up upon application startup.
- idt::pvClient – Search for PV Client lists (alarm handler, archiver, channel watcher)
Query results can be saved to an ascii file for further processing.
IOC Parameters APEX application
This is an APEX application showing IOC configuration data, and various operational parameter snapshots (obtained live nightly using caget).
https://seal.slac.stanford.edu/apex/mccqa/f?p=104:8
IOC Info query application
This is a jsp web application containing data about IOCs and applications, and their configurations.
https://seal.slac.stanford.edu/IRMISQueries/
EPICS camdmp APEX application
Various reports listing PVs and their module and channel connections.
https://seal.slac.stanford.edu/apex/mccqa/f?p=103:4
Archiver PV query APEX application
Lists of archived PVs by IOC application, IOC.
https://seal.slac.stanford.edu/apex/mccqa/f?p=259:8
IOC list report (run nightly)
This html report is created nightly by the LCLS PV Crawler
http://mccas0.slac.stanford.edu/crawler/ioc_report.html
PV Crawler logs (which include the duplicate PV lists)
http://www.slac.stanford.edu/grp/lcls/controls/sysGroup/report/
a subset here: http://www.slac.stanford.edu/cgi-bin/lwgate/CONTROLS-SOFTWARE-REPORTS/archives
SQL querying
A view has been created to ease sql querying for PV lists. This view combines data from the IOC_BOOT, IOC, REC and REC_TYPE tables. It selects currently loaded PVs, where IOC_BOOT.CURRENT_LOAD = 1, with the latest IOC boot date captured.
- CURR_PVS view has all currently loaded PVs