1 / 17

IRMIS at CLS

IRMIS at CLS . Debby Quock November 13, 2012. IRMIS Currently at CLS. PV Crawler Perl modules that parse EPICS IOC st.cmd, db , and dbd files. Information about IOCs and EPICS PVs is written to relational database. Web Client PHP language and SOAP web services Relational Database

shaun
Download Presentation

IRMIS at CLS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IRMIS at CLS Debby Quock November 13, 2012

  2. IRMIS Currently at CLS PV Crawler • Perl modules that parse EPICS IOC st.cmd, db, and dbd files. Information about IOCs and EPICS PVs is written to relational database. Web Client • PHP language and SOAP web services Relational Database • Microsoft SQL Server

  3. CLS PV Viewer

  4. CLS PV Viewer Cont.

  5. CLS PV Viewer Cont.

  6. CLS PV Viewer Cont.

  7. Crawlers (Planned) • IOC (EPICS db files) • Addition of Sequence Crawler developed at APS • EDM screens • Accelerator Toolbox (Matlab) • Auto CAD - PID drawings • CSS Alarm handler • Modicon Momentum PLC (Concept Programming Tools)

  8. CLS IRMIS Architecture(Planned) • Perl Language for IRMIS Crawlers • a Matlabfunction writes Matlab EPICS PV data directly to a simple text file that is then interpreted by Perl script • CSS Alarm Handler generates an XML file that is then interpreted by Perl script • EPICS IOC st.cmd and db files are parsed directly by Perl scripts • MySQL as the Relational Database • Django Python based development framework for the User Interface

  9. IRMIS 3 Database Schema

  10. IRMIS 3 Database Schema - EPICS PV and IOC Boot Data

  11. CLS IRMIS Crawler Mechanics CSS Alarm Handler XML File Matlab Text File Perl Crawlers • EPICS PVs • Heartbeat • Boot Timestamp MySQL IOC File System EDM File System And other EPICS Clients File Systems …

  12. IRMIS Crawler Mechanics Cont. On an automated schedule, the PV crawler: • Identifies IOCs to be scanned and their last known boot date (i.e., CLSBootScan.pm, APSBootScan.pm or SNSBootScan.pm) • For each IOC • Checks for new boot date • If so, insert new ioc_boot record into the MySQL IRMIS database and proceed • If not, skip to next IOC • Parses st.cmd type files (collecting all info on dbd and db files) • Checks for any dbd or db file time mods • If so, insert all pv and field data in db for IOC

  13. IRMIS PV Crawler Stored Information Boot history • Each new IOC boot is recorded with date, regardless of whether any configuration has changed • If there is an identifiable problem with the boot, or inability to parse its configuration, an associated error is recorded File system resources (only if changed from last crawl) • Path to each dbd and db file that make up configuration, along with file modified date and any text substitutions applied Record type definitions (dbd) (only if changed from last crawl) • The set of fields defined for each record type at that time Record definitions (db) (only if changed from last crawl) • Record name, fields and their default/over ridenvalues

  14. Sequence Crawler Discovered Attributes In IOC startup command files, searches for script lines: • ld (load) • registerRecordDeviceDriver • #! (shebang) • seq (sequence) Utilizes information: • IOC architecture • executable sequence file • sequence library file • EPICS database load file Performs tasks: • Marks sequence records as old by setting table field rec_client::current_load =0 for any records associated with the current IOC • Inserts new rows into tables uri, vuri, vuri_rel, and rec_client. Table rec_client holds PV name and points to table vuri. Table uri holds the file name for the sequence program.

  15. Functionality of IRMIS Crawlers • Parse EPICS core IOC file system to collect information about IOC boot history and associated EPICS PVs • Parse files of EPICS clients such as MEDM, EDM, CSS, Auto CAD, and Matlab to collect specific information about how they utilize EPICS PVs • Push EPICS IOC and PV related data into a relational database for archiving purposes and logical organization of information The IRMIS relational database provides easily accessible search and data retrieval on accelerator controls information needed for vital accelerator operations.

  16. Demonstrations • IRMIS User Interface • Django Python development framework http://vsrv-apps-07:8000 • MySQL Development Tool • Toad for MySQL

  17. Summary • IRMIS is currently in use at numerous accelerator facilities in North America. Collaboration continues among MSU, BNL, CLS, LANL and ANL. • At ANL Advanced Photon Source, IRMIS was deemed mission critical to routine operations. • Your imagination is the only limit as to how IRMIS can be expanded and enhanced.

More Related