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: list all process variables
From: Ralph Lange <[email protected]>
To: Patrick Thomas <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Sat, 12 Sep 2009 11:44:23 -0400
Hello Patrick,

there is no way to have the IOC return a complete list of its PVs through Channel Access.
Actually, that doesn't really sound reasonable, as:
  • For CA, every field of every record is a separate PV, so you are speaking of a *long* list of PVs even for a single IOC.
  • Some special CA servers (i.e. gateways to other networks) may serve millions of PVs - that would be a *very long* list.
  • Gateways usually don't know the PVs they are serving, as they find out by querying a channel on demand - so that would always be an *incomplete* list.
    (Compare this to asking your IP default gateway which IPs it would be able to connect to.)
The closest you can get is an off-line list of all records of the IOCs you have control over.
If you have all your IOCs st.cmd files at the end of startup dump the output of the "dbl" command to a file (preferably named after the IOC), you have a nice collection of record names that you can grep or list. The file dates will give you a hint when the IOC was rebooted. (That is the method the CA nameserver uses to preload its cache of records names and their IOCs.)

If you run an RDB based model of your installation (like IRMIS), that RDB would have the information - either because its crawler processes read and analyze the st.cmd scripts and db files the IOC loads (as Debby pointed out), or because all the information is already in the RDB as you use it to create your db files and st.cmd scripts.

Hope this helps,
Ralph


On 12.09.2009 04:15 Patrick Thomas wrote:
Hi,

I was wondering if there was anyway to get a list of all the process variables currently loaded in all the IOCs. I read that when a request for a particular process variable is made, each IOC gets the request and has to look in its databases to see if it contains it. Is it possible to instead have it return all the process variables it does have?

I was also wondering if anyone has had trouble getting the sound to work when compiling the alarm handler on Linux?

Thank you,
Patrick

References:
list all process variables, linux alarm handler Patrick Thomas

Navigate by Date:
Prev: Re: list all process variables, linux alarm handler quock
Next: Re: list all process variables, linux alarm handler Pierrick Hanlet
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: Re: list all process variables, linux alarm handler quock
Next: Re: list all process variables, linux alarm handler Pierrick Hanlet
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 ·