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

Subject: Re: Listing channels
From: Claude Saunders <[email protected]>
To: David Dudley <[email protected]>
Cc: "'EPICS Tech-Talk'" <[email protected]>
Date: Wed, 07 May 2008 13:48:39 -0500
Hi David,
I can throw another possibility into the mix for you. A few EPICS sites use a relational-database based system we (Don Dohan, et. al.) created here called IRMIS (Integrated Relational Model of Installed Systems). It's rather elaborate, encompassing component configuration, asset management, PV management, and more. See http://www.aps.anl.gov/epics/irmis


Regarding PVs, we have a pv_crawler (perl script) that scans all the IOC's boot files (st.cmd) and pulls in all the detail about what dbd and db files are used, every PV in the system, every field of every PV, and more. All this is maintained in a MySQL database, and there is a PV Viewer application (Java) which gives you a view of the full PV namespace.

This may be overkill for you - and also your geographic distribution would make crawling data into a central database more difficult.

regards, Claude


David Dudley wrote:
Seems this question has generated an excessive amount of "why?"s.  Let
me explain a little better.

I'm implementing EPICS for a Potable Water Production and Distribution
system.  Our area spans a region about 50 miles wide, and perhaps 200
miles long, and we service roughly 1,250,000 customers.  In the field,
we have around 40 remote sites, that are connected together through
various forms of communications - some very fast and reliable -
others... well, we have a number of sites where we're lucky if we get a
1200 baud radio communications channel.

Now- I want to install EPICS IOC's at all these sites.  Each IOC will
operate mostly independently, with the exception of the interconnection
PV's required to maintain control between sites.  They all act as
independent network nodes, but all interoperate together to maintain a
complete system.

So far, so good.  Because of the remote locations and number of sites,
I'm going to have a number of people each doing independent IOCs for
these sites.  Each person will be responsible for only 4 or 5 sites.

I've put together a document providing a naming convention for all
sites, but have no 'direct' way to enforce it, nor even to verify
compliance with it.

Say, I want the discharge pressure at a particular site.  I look at my
drawings, and discover that the target name is PIT1500 (in
instrumentation nomenclature, that's a "P"ressure "I"ndicating
"T"ransmitter - a field instrument).  If I know my site name is 'sdps',
and I have an IP address for that site, I want a way to insure that the
PV in the field is named 'sdps:PIT1500.VAL'.  An easy way, would be if I
could just tell a program "go out to the 'sdps' site, and give me a list
of the items I can acquire from there".

That's one purpose.  Another is this:  During commissioning and startup
on a site, we want to acquire and store EVERY piece of information
available from that site.  My choices are limited to logging into the
IOC, and dumping a list (using dbl), or loading the database and
acquiring all the record names either automatically or manually.  Now,
for a few of these sites, the developer would like to say their code is
"proprietary?", and limit access.  So, having a way to remotely generate
a list would give me the ability to generate a list of items to acquire,
without having to get access to the device, or without the author even
being aware that I'm doing such.

Also, just as an independent note, it seems like a useful debugging
tool, to make sure what I think I told the IOC is actually what the IOC
thought I told it.

David Dudley


"Jeff Hill" <[email protected]> 5/7/2008 10:46:16 AM >>>

1. Is there a method or application anywhere that can generate a list
of
the channels on a remote IOC? I mean, a program I can point at the
IOC's address and have it generate a list of all the channels on
that
unit?

>From my perspective...


Presumably, the IOC should when it boots contact a list of (possibly
redundant) servers who know about hierarchical names providing to each
a
complete list of the IOC's PV names. The protocol might have some
requests
like this.

O define an object name specifying its type
O undefined an object name
O define a type name, specifying the types of its members and or its
interfaces
O undefined a type

Presumably there are already some portable open source name resolution
systems that provide this type of functionality.

No matter how it gets implemented, a feature addressing the type of
things
that David is needing to implement _should_ be on the list for addition
to
EPICS base.

Jeff

-----Original Message-----
From: [email protected]
[mailto:[email protected]]
On Behalf Of David Dudley
Sent: Tuesday, May 06, 2008 8:27 PM
To: [email protected] Subject: Listing channels


Got 3 little questions:

1. Is there a method or application anywhere that can generate a list
of
the channels on a remote IOC? I mean, a program I can point at the
IOC's address and have it generate a list of all the channels on
that
unit?

2. Does SDDS require X in order to compile? It's a given that
SDDSPlot
is probably going to need X, but most of the apps don't have GUI's,
so
must X be available in order to compile them?  If not, how do you
generate the non-X programs?

3. Is there a program that will extract a portion of an SDDS file?
In
order to use SDDS for archiving (which it looks like it might be
very
useful for), it's going to have to run forever on the IOC unit. If
I
need to generate a dataset from a SDDS datafile, how do I pull out
just
the period (say... everything from yesterday, midnite to midnite)
from a
file that has much, much more information in it (days, weeks, or
months
...)? I can come up with stuff to cause it to restart, say once a
week,
but how do I pull out a subset of information?

David Dudley

------------------------------------------------------------------------


BEGIN:VCARD
VERSION:2.1
X-GWTYPE:USER
FN:David Dudley
TEL;WORK:880-3740
ORG:;MIS
TEL;PREF;FAX:880-3741
EMAIL;WORK;PREF;NGW:[email protected]
N:Dudley;David
END:VCARD



References:
Listing channels David Dudley
RE: Listing channels Jeff Hill
RE: Listing channels David Dudley

Navigate by Date:
Prev: RE: asyn problem Mark Rivers
Next: Re: Listing channels Maren Purves
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Listing channels David Dudley
Next: Re: Listing channels Maren Purves
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·