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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: is there an EPICS module to makePvToArchiveFromDbInfo() ? |
From: | Tynan Ford via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Pearson, Matthew" <pearsonmr at ornl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, NADOT Victor <VICTOR.NADOT at cea.fr> |
Date: | Thu, 14 Dec 2023 09:10:11 -0800 |
Hi Victor,
If you use a recent version of base, you can list tags on the IOC shell and write them to a file:
epics> dbli *archive*
ST99:Det:IOC_SADet3:Status info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SADet3:StatCtrl info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SIDet3:STATUS info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SIDet3:STATCTRL info(archive, "Monitor, 00:00:01, VAL")
epics>
epics> dbli *archive* > /tmp/archive_list.txt
cat /tmp/archive_list.txt
ST99:Det:IOC_SADet3:Status info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SADet3:StatCtrl info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SIDet3:STATUS info(archive, "Monitor, 00:00:01, VAL")
ST99:Det:IOC_SIDet3:STATCTRL info(archive, "Monitor, 00:00:01, VAL")
Then you can parse that list and generate an archive configuration. Or, modify an archiver to be able to read that format.
We use a Python script to parse the database files, but if we were starting today I'd probably use the above method as the first step in extracting the info tags.
Cheers,
Matt
-----Original Message-----
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Simon Rose via Tech-talk
Sent: Thursday, December 14, 2023 5:23 AM
To: NADOT Victor <VICTOR.NADOT at cea.fr>; tech-talk at aps.anl.gov
Subject: [EXTERNAL] Re: is there an EPICS module to makePvToArchiveFromDbInfo() ?
Hi Victor -
There is one that we have used at ESS that might serve your purpose:
https://urldefense.us/v2/url?u=https-3A__gitlab.esss.lu.se_icshwi_iocmetadata&d=DwIGaQ&c=v4IIwRuZAmwupIjowmMWUmLasxPEgYsgNI-O7C4ViYc&r=aEDRFW1J1RKf3L4Vy5iLgaY2FJpZ2TV1XDtc_tKxW00&m=vNISIrtmTSvaQHTNeWDl1p15L43in4-yA1-44ChtrvumzGayCjG4ekJITH08uJbN&s=CH3zpoO636P0uNZGzJnegnwLIRfFkNbkML82l2Cap0E&e=
Note that it uses EPICS 7 NT types. There is pretty good documentation in the README file in the repository.
Cheers,
Simon
On 2023-12-14, 10:29, "Tech-talk on behalf of NADOT Victor via Tech-talk" <tech-talk-bounces at aps.anl.gov <mailto:tech-talk-bounces at aps.anl.gov> on behalf of tech-talk at aps.anl.gov <mailto:tech-talk at aps.anl.gov>> wrote:
Hi all,
is there an EPICS module to, in the same way as `makeAutosaveFileFromDbInfo()` works, generate (at IOC boot, so macro are resolved) a file with a list of PV names to archive from the information provided in the record `info()` field ?
```epics
record(ai, "MyPv") {
info(archive, "YES")
}
```
This would be a nice tool to then copy/past all the pv list files to archive in the archiver.
Thanks for the answer,
Cheers,
--
Victor Nadot
Ingénieur Systèmes Electroniques Embarqués CEA Saclay - DRF / IRFU / DIS / LDISC Bâtiment 472 - pièce 120
+ 33 (0)1 69 08 41 88
+ 33 (0)6 45 03 12 54