sns epics config. database
DESCRIPTION
SNS EPICS Config. Database. May 2001 Kay-Uwe Kasemir, LANL. Approaches to EPICS DB Generation. Text Editor, Capfast, xdct *.DB Device Info + Script *.DB Template + Substitution Table from RDB *.DB Template + Device Info from RDB + Script *.DB Common: Results in DB file. - PowerPoint PPT PresentationTRANSCRIPT
SNS EPICS Config. Database
May 2001
Kay-Uwe Kasemir, LANL
Approaches to EPICS DB Generation
Text Editor, Capfast, xdct *.DB
Device Info + Script *.DB
Template + Substitution Table from RDB *.DB
Template + Device Info from RDB+ Script *.DB
Common: Results in DB file
Put EPICS *.DB in RDB Experience:
Quickly import “signal lists” for e.g. PLCs Tabular view allows rapid data entry RDB helpful for setting e.g. limits of related
records at once Debugging: “Where is PV XYZ supposed to be?” RDB provides reports: signal lists, used/unused
HW Problem: How to include external sources, e.g.
Capfast schematics, and keep track of changes to both external source and RDB?
‘IOC’ Table
Perl:
Java:
‘Logic’ Table Logic = collection of records, could
be Device Algorithm Subsystem IOC
Possible:Logic Id=IOC Id
Implementation Details Helper Tables
Record Types Allowed Fields Menus for fields (SCAN, PINI, alarm severities, …)
Each record has “External Source” Original DB file, Capfast schematic
Each field has External + Internal Value From external source + (maybe)
modification
RecBrowser for Single Record
Edit single record
All fields with description, maybe menus
Shows external source & value
Edit internal value
TableBrowser for ‘Logic’ Add, remove, sort, filter, fill
columns Color-coded values:
external/internal/conflicting
Basic Spreadsheet Support Perl tools for Import/Export
ASCII, Columns have to match EPICS fields
Scenario: Have (Capfast)-DB Check/Define IOC and Logic for that DB Create DB from Capfast Import DB, specify the Capfast drawing
as the “external source” Create *.DB for IOC
could use the original DB, but this assures that the import worked
For changes: RDB indicates Capfast drawing, so that
source can be changed and re-imported
Scenario: Signal List Spreadsheet
Setup: Define IOC and logic Import spreadsheet into that logic
Use TableBrowser to “fill blanks”, add records, modify errors
Generate DB file from RDB Changes:
Might change spreadsheet and re-import, though in many cases the spreadsheet contained only rudimentary information (NAME, INP/OUT) and is rarely used again.
Scenario: Template & Substitution Info
Setup: IOC, Logic
On Host, create DB from Template plus Device Information from RDB, script, substitution file, …
Import DB, specify the script as the “external source”
When modifying, RDB indicates original source, so that template/device information can be changed and re-imported
EPICS RDB Idea
EPICS RDB: reports, define missing fields, ...
IOC
*.DB,maybe startup, dbd
*.DB
emacs, vi, ...Device RDBCapfast template
script
*.DB
<?>
IOCIOC
*.DB
SQL,perl-DBI
JDBC