1 / 12

Relational Database Collaboration for APS & SNS: Top-Down meets Bottom-Up

This article discusses the collaboration between APS and SNS in using relational databases for their control systems. It explores the challenges and benefits of using a descriptive approach and how the two organizations have developed useful tables for their EPICS environment. The article also covers the current efforts and plans for further development, including the identification of common needs and the use of various tools like PV Viewer and VCCT.

reneewarren
Download Presentation

Relational Database Collaboration for APS & SNS: Top-Down meets Bottom-Up

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. Relational Database Collaboration @ APS & SNS Dec. 8, 2004

  2. “Top Down” meets “Bottom Up” • Background • SNS has always been very ambitious with RDB’s • Physics parameters, accelerator devices, MPS inputs/modes • XAL (JAVA Framework) • JERI • APS has undertaken “as-built” documentation using RDBs • Descriptive rather than prescriptive • Do the two approaches indicate a set of tables that are useful in almost any EPICS environment? • rdbCore

  3. .db files SNS RDB xml APS RDB RDB Approaches IRMIS JERI IRMIS/ PV crawler VDCT, vi, scripts,.. MPS, … template substitution values (read only) XAL IOCBoot/ IOCcore XAL Applications APS SNS

  4. APS RDB xml SNS RDB .db files First Step – identify common needs IRMIS rdbCore JERI IRMIS/ PV crawler VDCT, vi, scripts,.. MPS, … template substitution values (read only) XAL IOCBoot/ IOCcore XAL Applications APS SNS

  5. Current Efforts Plans are still developing … but as of today … • First tables of rdbCore • PV database (every field of every record) • Installed device database • Control Flow/Housing/Power • Cable database • First Tools • ‘Controls Framework’ extension of XAL access rdbCore • st.cmd crawler to populate PV database • PV Viewer • “vcct” – Visual Connection Configuration Tool • View relationships between installed devices • Cable Editor/Viewer

  6. Primary Tables • Process Variable Table (of rdbCore) • Contains an entry for each Process Variable (record.field) name loaded into an IOC • Custom record definitions (and even modified record definitions) are recognized • 100% self-populated by “st.cmd crawler” that interprets dbLoadRecords & dbLoadDatabase lines • Need a plan to accommodate other CA servers • “extensions” to rdbCore can be added to reference client use of all PVs • Crawl through MEDM, ALH, Archiver config files • “Generic SQL” which can generate Oracle or MySQL tables

  7. Primary Tables • Installed Devices Table (of rdbCore) • Contains an entry for every replaceable component installed in the control system. • Each device is fully described by the following hierarchies: • Control parent – What is it connected to? • Housing parent – What is it housed in? • Power parent – What is it powered by? • 40-70% self-populated by EPICS business rules (INP/OUT fields, configDevice(), dbior, etc) • Cable Table (of rdbCore) • Contains an entry for every cable installed in the control system • Uses ports on “installed devices” as source and destination

  8. Primary Tables • PV Table, Installed Device Table, Cable Table provide numerous relationships for advanced queries • What PVs will be affected by a particular device failure? • What PVs will be affected if this cable is disconnected? • What set of devices could cause a particular set of PVs to all be INVALID? • And with “extended” tables … • What applications (MEDM displays, scripts, XAL apps, etc) will be affected if this device is powered off? • What applications (MEDM displays, scripts, XAL apps, etc) will be affected if this breaker trips?

  9. Primary Tools • Controls Framework • Extended from XAL (JAVA) • Predefined access methods to rdbCore • Place to implement “business logic” • Plan to make the st.cmd crawler a Controls Framework service • Work is underway on a persistent object API for the rdbCore tables. • a standardized object view of the items in the relational database using Object Relational Mapping (ORMs) • Non-Java RDB access applications can also be written for routine queries and prototyping (PHP, Perl, Python, etc.)

  10. Primary Tools – PV Viewer

  11. Primary Tools – PV Viewer Indicates other record.field(s) which reference this PV

  12. Primary Tools - VCCT – Control/Housing/Power

More Related