Experimental Physics and Industrial Control System
|
Hi
When I was at the SNS, John Sinclair wrote a nice tool
Please refer to the following tech-talk entry:
====================
Subject: RE: Listing channels
From: "Thompson, David H." <[email protected]<mailto:thompsondh_at_ornl.gov>>
To: [email protected]<mailto:tech-talk_at_aps.anl.gov>
Date: Thu, 08 May 2008 14:49:36 -0400
Sent from my iPhone
On Dec 17, 2012, at 7:43 AM, "Carlos Pascual" <[email protected]<mailto:[email protected]>> wrote:
Thank you all for your replies,
So far I conclude that it is possible to make use of thebeacons to build a
list of the IPs and ports of the existing IOCs.
But then I can only go from IOCs to Records and/or PVs by modifying the code
of all the IOCs (or of the launcher scripts of those IOCs).
This last part is kind of problematic to me since I cannot assume that it will
be done in all facilities. Note that I am not looking for a solution for my
facility (we use Tango) but instead we want to provide a library that can be
used on top of any existing installations elsewhere...
In other words: I don't think I would convince anyone to try out Taurus on
epics if a requirement was to have to modify all the IOCs... ;)
Are there any chances that something like this may end up being part of a base
API in epics?
Cheers,
Carlos
On Mon 17 December 2012 15:35:05 Ralph Lange wrote:
On 17.12.2012 14:52, [email protected]<mailto:[email protected]> wrote:
[...]
One or the other, I've not looked to see what would be involved (well, I
have now...). I'd start by thinking of providing a simple socket
interface which walks the database, or maybe just returns the results of
dbgrep.
Actually, a glance at the implementation of dbgrep (src/db/dbTest.c)
suggests that the existing code is close to what you need, but needs a
tweak (rather than calling puts you'll want more control over where the
strings go), but it looks to me as if all the functions called by dbgrep
are exported by epics, so writing what you need should be exceptionally
easy: just grab a copy of dbgrep, give it a file handle output, replace
puts, wrap a socket interface around it, launch it as part of your IOC
startup scripts.
If it were me, I'd dedicate a socket, read one line from the input, treat
it as input to the modified dbgrep, send the results in response, close
the socket. Then `echo \* | nc $IOC $PORT` would give you a list of all
PVs exported by the IOC.
Of course, you'll need to add this code to every IOC...
You could also create a device support for the waveform record, that (at
boot time) creates an array (of char) containing all records' names.
Then a client can simply use CA to get the complete list from an IOC,
and there is no runtime overhead on the IOC. (Usually the client will be
faster at doing wildcard matches anyway.)
~Ralph
--
+----------------------------------------------------+
Carlos Pascual Izarra
Scientific Software Coordinator
Computing Division
Cells / Alba Synchrotron [http:/www.cells.es<http://www.cells.es>]
Carretera BP 1413 de Cerdanyola-Sant Cugat, Km. 3.3
E-08290 Cerdanyola del Valles (Barcelona), Spain
E-mail: [email protected]<mailto:[email protected]>
Phone: +34 93 592 4428
+----------------------------------------------------+
|
- References:
- How to get a list of all available PVs Carlos Pascual
- RE: How to get a list of all available PVs michael.abbott
- Re: How to get a list of all available PVs Ralph Lange
- Re: How to get a list of all available PVs Carlos Pascual
- Re: How to get a list of all available PVs Williams Jr., Ernest L.
- Navigate by Date:
- Prev:
Re: How to get a list of all available PVs Williams Jr., Ernest L.
- Next:
Re: How to get a list of all available PVs Andrew Johnson
- 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
- Navigate by Thread:
- Prev:
Re: How to get a list of all available PVs Williams Jr., Ernest L.
- Next:
Re: How to get a list of all available PVs Andrew Johnson
- 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
|
ANJ, 18 Nov 2013 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|