EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: autosave per-db req files
From: "Mooney, Tim M." <[email protected]>
To: "Stubbs, Scott A." <[email protected]>, "[email protected]" <[email protected]>
Date: Wed, 21 Aug 2013 18:40:03 +0000
Hi Scott,

I think there are two questions here, and it's probably best to separate them:

1) Is there a way automatically to make an autosave-request file for a given database file, or for a given set of database files?

No, because only the database author knows which PVs should be restored to put the database back in the state it was in before the ioc was rebooted.  There are two widely used ways for database authors to make those PVs known to deployers: A) write an autosave-request file for every database, and have it use the same macros that the database uses to load; and B) use info nodes to specify within the database which PVs are to be autosaved.

2) If you already have autosave-request files for all the databases you will load, is there a way automatically to invoke
autosave create_xxx_set() commands for each of those request files?

Sort of.  If you have the PVs that are to be restored listed in info nodes in the database, and if the names of those info nodes are unique to the set of PVs that should be in each .sav file, then you can call
    makeAutosaveFileFromDbInfo(char *fileBaseName, char *info_name)
to make a separate autosave-request file for each info_name.  You would still have to invoke create_xxx_set for each request file.  I suppose you could automate this, but I don't know of existing code that does it.

Alternatively, if you have an autosave-request file for each database, you could use or modify the python software in the synApps "utils/convertIocFiles" directory to read through all the .cmd and .substitution files in an ioc directory, and write  whatever request files you want.  As delivered, makeAutosaveFiles.py writes auto_settings.req and auto_positions.req.

Tim Mooney


________________________________________
From: [email protected] [[email protected]] on behalf of Stubbs, Scott A. [[email protected]]
Sent: Wednesday, August 21, 2013 12:17 PM
To: [email protected]
Subject: autosave per-db req files

Hello,

I am a summer student currently working in ICD Software at SLAC - if this address is unreachable you can try [email protected], as it is Ernest's question.  We are wondering if there is a way in autosave to automatically make a .req file on a per-db or per-module basis - for example, so our IOCadmin PVs are not lumped in with our event triggering system PVs in the same .sav file for any particular IOC.  I hope this question makes sense - looking forward to hearing back.  Thank you!

Scott


Replies:
RE: autosave per-db req files Emmanuel Mayssat
References:
autosave per-db req files Stubbs, Scott A.

Navigate by Date:
Prev: autosave per-db req files Stubbs, Scott A.
Next: Re: query ioc/cas for list of channels Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: autosave per-db req files Stubbs, Scott A.
Next: RE: autosave per-db req files Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·