Hello,
> It should be relatively straightforward to write some IOC-side code which
> queries the database in memory using dbStaticLib routines, and sends the
> results directly to the name server; I'm not aware of anyone who has
> actually implemented something like this though. This code would be able
> to resolve the field names issue without having to write a parser to
> extract the DBD filename(s) from the st.cmd file.
At SPEAR, we have written a simple program that runs after all the databases are loaded but before iocInit is run. It goes through all the records, one-by-one, gets static ASCII information per record, packages up the results and sends the results to a server running on one of our hosts. The host server then updates a relational database (not Oracle, sorry, but VMS RDB) by adding any new records and updating fields (including a boot timestamp and the IOC that the record belongs to) for existing records. We periodically manually remove any records that are no longer on any IOC.
After receiving all the records, the host server then sends back any setpoints it finds in the relational database for the records that it has been sent. These values are then restored using static database access. Since this functionality is considered to be critical, the IOC boot will not proceed to iocInit if the host server is down or not responding.
The information that is sent from the IOC to the host server includes record name, record type, native data type, DESC, EGU, DTYP, INP or OUT, and ASG. (If the field doesn't exist for the record, then a blank string is used instead). We then peruse this information offline with PHP web pages that access the relational database. Through the web pages, we then pick records that need to be in history, bumpless reboot, or status recording. Another process then monitors the PVs accordingly and stores values in RDB.
Here is the source of the IOC side of all this if anybody is interested:
http://www.slac.stanford.edu/~saa/restore.tar.gz
It runs on 3.13.6 and 3.14.1 IOCs.
Stephanie Allison
- Navigate by Date:
- Prev:
Re: EPICS naming services Luedeke Andreas
- Next:
Re: EPICS naming services Matthias Clausen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
EPICS naming services Rowland, J (James)
- Next:
[Fwd: Re: EPICS naming services] Luedeke Andreas
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|