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  <20112012  2013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: Autosave config file
From: Tim Mooney <mooney@aps.anl.gov>
To: Abadie Lana <Lana.Abadie@iter.org>
Cc: tech-talk@aps.anl.gov
Date: Wed, 16 Mar 2011 08:35:12 -0500 (CDT)
Lana, re...

----- Original Message -----
> From: "Abadie Lana" <Lana.Abadie@iter.org>
> To: tech-talk@aps.anl.gov
> Sent: Wednesday, March 16, 2011 6:20:25 AM
> Subject: Autosave config file
> Hi all
> I would like to know if somebody can help me with autosave utility.
> I have a few questions:
> 1. in the xxxsaveRestore.cmd
> There is the function save_restoreSet_status_prefix : what is the use
> of this function since we specify the value of the prefix when calling
> dbLoadRecords and assigning the proper value to the macro

Autosave is partly a channel-access client, and the save_restoreStatus.db
database is sort of its user interface.  The dbLoadRecords() command
creates PVs for autosave to use, but that doesn't help autosave find out
what their names are, because autosave doesn't have access to the macro
values supplied to the dbLoadRecords command.

> I tried to out two different values as shown below. The only
> differences between the two is when I start the ioc, it complains that
> it could not read status value:
> 
> epics> save_restore: Can't connect to all status PV(s)
> save_restore: Can't connect to status PV(s) for list 'plc-sample.sav'
> 
> ### save_restore setup
> # status-PV prefix
> save_restoreSet_status_prefix("blabla:")
> 
> # Use status-PV
> save_restoreSet_UseStatusPVs(1)
> 
> # Debug-output level
> save_restoreSet_Debug(0)
> 
> # Ok to save/restore save sets with missing values (no CA connection
> to PV)?
> save_restoreSet_IncompleteSetsOk(1)
> # Save dated backup files?
> save_restoreSet_DatedBackupFiles(1)
> 
> # Number of sequenced backup files to write
> save_restoreSet_NumSeqFiles(3)
> # Time interval between sequenced backups
> save_restoreSet_SeqPeriodInSeconds(300)
> 
> # specify where save files should be
> set_savefile_path("$(EPICS_AUTOSAVE_VAR)")
> 
> # specify what save files should be restored. Note these files must be
> # in the directory specified in set_savefile_path(), or, if that
> function
> # has not been called, from the directory current when iocInit is
> invoked
> 
> # Save files associated with the request files 'auto-output.req' and
> # 'auto-input.req'. These files are the standard way to use autosave
> 
> set_pass1_restoreFile("plc-sample.sav")
> 
> # specify directories in which to to search for included request files
> set_requestfile_path("./")
> 
> dbLoadRecords("$(EPICS_MODULES)/autosave/db/save_restoreStatus.db"),
> "P=TEST-S7-COMM:")
> 
> 
> However the PVs related to autosave are there and autosave is working.
> So where i can see the impact?

Kay's reply answered this.

> 2. I would like to check if i understood the policy for autosave
> generated files - the configuration used is the previous one
> - We have xxx.sav_<date> which says the initial values used when the
> ioc started :

Yes.  This is a copy of plc-sample.sav at the time it was used to restore
PV values.  plc-sample.sav will soon be overwritten, and it's handy
to have a record of it.  plc-sample.sav_<date> are written and from then
on ignored; autosave will not use them to restore PV values.

> - Then it replicates this file to a savX (circular algorithm between
> .sav, .sav0, sav1)

plc-sample.savN are periodic copies of plc-sample.sav.

> - .sav has always a backup .savB and copied to .sav sav0 or sav1 every
> 5mn

plc-sample.sav and plc-sample.savB are written from autosave's list of
PV values, and should be identical after both have been written.  These
are the only files written from PV values.  All other files are copies,
made at different times, of plc-sample.sav.

> - we also use
> create_monitor_set("plc-sample.req",30,"P=TEST-S7-COMM:") ->if a PV
> changes its value then it will be report on .sav or the most recent
> one? As i think .sav is the one used for restore

When a PV value changes, new copies of plc-sample.sav and plc-sample.savB
will (eventually) be written.  At boot time, plc-sample.sav will be used
to restore from, unless it's corrupted, in which case plc-sample.savB will
be used.  If that's also corrupted, the most recent of plc-sample.savN
will be used, and so on.  If all are corrupted, you will have to
manually copy one of the plc-sample.sav_<date> files to plc-sample.sav and
reboot, to restore PV values.

> 
> [root@current ~]# ll /var/opt/codac-2.0/autosave/ |grep
> plc-sample|grep 'Mar 16'
> -rw-r--r-- 1 codac codac 392 Mar 16 11:58 plc-sample.sav
> -rw-r--r-- 1 codac codac 392 Mar 16 11:57 plc-sample.sav0
> -rw-r--r-- 1 codac codac 392 Mar 16 12:02 plc-sample.sav1
> -rw-r--r-- 1 codac codac 392 Mar 16 10:53 plc-sample.sav_110316-105306
> -rw-r--r-- 1 codac codac 392 Mar 16 11:02 plc-sample.sav_110316-110228
> -rw-r--r-- 1 codac codac 392 Mar 16 11:57 plc-sample.sav_110316-115743
> -rw-r--r-- 1 codac codac 392 Mar 16 11:52 plc-sample.sav2
> -rw-r--r-- 1 codac codac 392 Mar 16 11:58 plc-sample.savB
> [root@current ~]#
> 
> root@current ~]# ll /var/opt/codac-2.0/autosave/ |grep plc-sample|grep
> 'Mar 16'
> -rw-r--r-- 1 codac codac 371 Mar 16 12:05 plc-sample.sav
> -rw-r--r-- 1 codac codac 371 Mar 16 12:12 plc-sample.sav0
> -rw-r--r-- 1 codac codac 392 Mar 16 12:02 plc-sample.sav1
> -rw-r--r-- 1 codac codac 392 Mar 16 10:53 plc-sample.sav_110316-105306
> -rw-r--r-- 1 codac codac 392 Mar 16 11:02 plc-sample.sav_110316-110228
> -rw-r--r-- 1 codac codac 392 Mar 16 11:57 plc-sample.sav_110316-115743
> -rw-r--r-- 1 codac codac 371 Mar 16 12:07 plc-sample.sav2
> -rw-r--r-- 1 codac codac 371 Mar 16 12:05 plc-sample.savB
> [root@current ~]#
> 
> Many thanks for your feedback and hope I'm clear
> 
> Lana

-- 
Tim Mooney (mooney@aps.anl.gov) (630)252-5417
Software Services Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab


Replies:
RE: Autosave config file Abadie Lana
References:
Autosave config file Abadie Lana

Navigate by Date:
Prev: Re: EPICS and large CAN systems Burkhard Kolb
Next: RE: Autosave config file Abadie Lana
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: Autosave config file Abadie Lana
Next: RE: Autosave config file Abadie Lana
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·