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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: query ioc/cas for list of channels |
From: | "Dohan, Donald" <[email protected]> |
To: | Andrew Johnson <[email protected]>, Jameson Graef Rollins <[email protected]>, "Zelazny, Michael Stanley" <[email protected]> |
Cc: | EPICS tech-talk <[email protected]> |
Date: | Wed, 21 Aug 2013 20:59:25 +0000 |
Hi Jamie:
The crawler that populates the IRMIS database examines the user's *.db files, and does not interact with the real-time IOC, as Andrew indicated. This was particularly important for the APS feedback IOCs where client access to the IOC was restricted while
the IOCs were operational.
When populating the IRMIS tables, only those fields of a particular record that are actually
modified by the user are stored in the database. This cuts down significantly on the database storage requirements. If the user modifies 1 field in a record with 50 fields, then only that field is stored in the RDB.
A query to the database will return *all* of the fields in the record. These are marked in the GUI as either
1) modified by the user (contains an entry in the .db file)
2) modified by the user but whose value is not different from the default value. (The user has put the field (unmodified) in the .db file).
3) the default value of the field. This is extracted from the record definition tables. This can change with time, in which case the new record definitions are stored in the RDB.
A huge convenience provided by the IRMIS PV database is that all of the process variables are fully instantiated (calls to msi), making it easier to visually examine EPICS logic. The IRMIS application allows the user to follow link fields to/from the
successive PVs.
The purpose of the ChannelFInder is to map a hardware device to a channel. Lacking a full list of Pvs, some implementations of the ChannelFinder simply use the list of records (the .dbl list) from the IOC. Issues come up with the Channel Finder in which
one field of the record accesses one device, and a different field in the record accesses a different device. At the record level, it is a many-to-many mapping. At the PV level, it is a one-to-many mapping.
The ChannelFInder is not a replacement for IRMIS. It needs a reliable list of Pvs, such as those provided by IRMIS.
SLAC is working on an alternative approach to the crawler, which examines the dbDumpRecord output to populate the RDB. The advantage here is that the crawler maintenance should be dramatically reduced. It will, however produce a verbose list of all the
(~50) Pvs per record (Andrews comment).
Don
From: Andrew Johnson <[email protected]>
Date: Wednesday, August 21, 2013 3:18 PM To: Jameson Graef Rollins <[email protected]> Cc: EPICS tech-talk <[email protected]> Subject: Re: query ioc/cas for list of channels
|