ACNET to EPICS Meeting SNS Device DB Tools J. Patrick November 4, 2008
Jan 04, 2016
ACNET to EPICSMeeting
SNS Device DB Tools
J. Patrick
November 4, 2008
SNS Device Tables
Names are SYST_SUBSYS:DVC_TYPE(X):SGNL(_Y) Example: SCL_LLRF:Cav1:ADC_5
(Superconducting linac/LLRF/Cavity 1/ADC 5) X (device type instance) and Y (signal instance) optional
Part up to “SGNL” is a “Device” Each device type has a set of signals associated with it
Serves to group together related signals beyond what EPICS supports by default
Very useful in creating new devices – get query for all associated signals
“Signal” basically corresponds to an EPICS record
2
“JERI”
Java EPICS Relational database Interface http://snsapp1.sns.ornl.gov/controls/jeri/JERIInstructionalDocument1.pdf
GUI tool to view and manipulate device database Import from dbd/db files referenced by startup scripts Holds information not in db files (archiving information…) View and edit information Export db files Reports Deals with a lot of other information – cabling, equipment
tracking, MPS configuration, … Large overlap with IRMIS
Allows modification of data and re-export Links together additional information beyond what is in db files
3
Future trends
Brookhaven enhancing IRMIS, plan to put most control system information in it including machine configuration
SNS moving in different direction Control System Studio View database information along with live data
4
Demo
JERI code can be downloaded from SNS However no access to SNS device database Reversed engineered partial schema from queries in the
code Created MySQL database with this schema Some JERI code changes required in db queries
MySQL more case sensitive Oracle supports more terse outer join syntax
Some basic things work, but a lot doesn’t… Demonstrate loading LLRF db files
~1200 signals
5
Device Tables
SYST – Name/description of valid systems SUBSYS – Name/description of valid subsystems DVC_TYPE – Name/description of valid device types DVC – Device
6
SNS Device Tables cont.
SGNL_FLD_MENU – describes menus SGNL_FLD_DEF – defines field types SGNL_REC - Signal Record
Effectively a record
SGNL_FLD – Signal Field Effectively a PV – field within a record
7
IOC tables
IOC_DVC – IOC information like node name, IP address, etc. etc.
IOC_DB_FILE_ASGN – device/db file correlation IOC_DB_FILE_ASGN_SGNL – signal/db file correlation
8
Import LLRF db files from boot script
February 26, 2008 9
Imported information from db files
February 26, 2008 10
PV view after adding to database
11
Field columns should be filled in but aren’t presumably due to bugs in port…
Signal view
12
Note additional information – Machine Protection indicator, invalid ID indicator,last modifier, also alarmable indicator, archiver information beyond edge…Columns may be edited and modified information committed to the database
Filter
13
Can filter the signals shown by either the above windowor one that aids in constructing an SQL query
Device Generator Wizard
14Gives series of menus with valid system, subsystem…
Device Type selection
15
Select starting instance # and count
16
Add associated signals
17
This would presumably allow one to configure the signals associated withthe selected device type, but I didn’t get it to work so far…It also supports templates
Summary
This talk attempted to give some idea of how SNS captures EPICS device information in a central database
It captures information from db files by picking through startup scripts
It defines a higher level “device” construct which is a collection of related signals (EPICS records)
It stores other related information like MPS configuration, archiver, etc. coupled with the db file information
It has a GUI tool that allows one to browse and edit the database and re-export db files
There is some commonality with IRMIS. SNS and Brookhaven appear to be taking divergent future paths
I believe it is important to provide a tool like this here18