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  <20092010  2011  2012  2013  2014  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Vdct and autosave's info field
From: Tim Mooney <[email protected]>
To: "Alarcon, Arturo" <[email protected]>
Cc: [email protected]
Date: Tue, 13 Jan 2009 09:01:03 -0600
Arturo,

Autosave (v 4.3 and later) does already permit info nodes to specify the
fields that are to be autosaved.  However, I have not found a way to
make vdct leave these fields in a database.

Anyway, here's the syntax for info nodes that I've used to direct autosave:

record(ao, "$(P)test1") {
  field(DTYP, "Soft Channel")
  info(autosaveFields, "PREC EGU DESC")
  info(autosaveFields_pass0, "VAL RVAL")
}

You can tell autosave to look for such fields, in all of the records that
have been loaded into an ioc, with commands such as the following, issued
after iocInit:

makeAutosaveFileFromDbInfo("info_positions.req", "autosaveFields_pass0")
create_monitor_set("info_positions.req",5,"P=as:")

makeAutosaveFileFromDbInfo("info_settings.req", "autosaveFields")
create_monitor_set("info_settings.req",30,"P=as:")

Tim Mooney

Alarcon, Arturo wrote:
Is there a way to use, or new version of, vdct that does not eliminate autosave's info field when resaving a database with vdct?

arturo alarcon

To: Kay-Uwe Kasemir <[email protected]> Subject: Re: Record info nodes? Re: PV save and restore tool sought From: Tim Mooney <[email protected]> Date: Wed, 01 Aug 2007 10:18:09 -0500 Cc: tech talk <[email protected]> In-reply-to: <[email protected]> References: <8CF98BE8D19EA84BA2271BE19BE8F83402976744@exch-mail2.win.slac.stanford.edu> <[email protected]> <1185908413.4109.242.camel@lewis> <[email protected]> <[email protected]>

Kay-Uwe Kasemir wrote: On Jul 31, 2007, at 18:08 , Carl Lionberger wrote:


We had a version of autosave at LBNL that looked at characters stuck in the end of the record description file at boot time, using the static library, to find out what records should be saved.

Yes, one can use the DESC field to add additional information,
like in this case instructions for autosave.
I've also used it to provide additional parameters
to an analog input device module.
But that's of course somewhat of a hack.
I think there is now a better way to do this,
because the Database files support adding non-field
meta information to record instances,
beyond just the values of record fields.
I don't remember the exact syntax, even though Andrew
has pointed it out several times.
I think it's called "info node",
and could be used to add parameters for
autosave, archiving, ... anything to record instances.
Of course you would then also have to write the
tool that reads those info node values
and creates the autosave, archive, ... config files.

I found this in the AppDevGuide (sec 6.12), but I'm not sure how best to use it. VDCT doesn't seem to know about this. I can't find a way to add an info node using VDCT. If I add an info node to a database using a text editor, VDCT doesn't show the node, and it strips the node out next time it writes that database.

For clarity...

On input to VDCT, test.db looks like this:

record(bo, "$(P)myBoRecord") {
  field(DTYP, "Soft Channel")
  info(autosave, "VAL")
}
After saving, the info node is gone:

record(bo, "$(P)myBoRecord") {
  field(DTYP, "Soft Channel")
}

Anyway, assuming VDCT does or will be made to honor this syntax in a database file, I'd like to use it with autosave. One possibility would be for autosave to provide a function that reads databases, looking for nodes that tell it what to do.

Autosave needs to know two things to handle a PV:
1) the name of the PV
2) when, during initialization, that PV should be restored. "When" can be one of "never", "during pass 0", "during pass 1", or "during both passes".

Currently, autosave can apply the "when" choice only to an entire save file, not to an individual PV. (But of course this could change.)



--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.


--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.

Replies:
Re: Vdct and autosave's info field Andrew Johnson
References:
Vdct and autosave's info field Alarcon, Arturo

Navigate by Date:
Prev: RE: MAXvSetup is an undefined symbol Mark Rivers
Next: Re: Newport ESP300 on Linux Tim Mooney
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Vdct and autosave's info field Alarcon, Arturo
Next: Re: Vdct and autosave's info field Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·