Hi Jamie,
Just to be clear, you never connect to a record through channel access. When you do not include a field name, it appends the ".VAL" field tot he request. The Channel Access interface did not have a DBR type to support this data structure. It has been a problem with the flat name space from the start. People have used the dbl command to populate relational databases or other directory services with the earliest one I am aware of completed at Jefferson Lab. The strength of V3 was that it is robust, high performance, and has a narrow interface to all of those channels, allowing the development of general client applications that are common to SCADA systems. Version 4 continues this strategy, but expands the protocol with several new communication mechanisms and an expanded (but limited) set of Normative Types.
We now have a ChannelFinder service. This is supported over the EPICS V4 protocol or from its http: interface. It is populated by a small application that redirects a command local to the IOC boot ("dbl") and sends it to the ChannelFinder service. Once it is populated, the user can add tags, and properties to the record names. The properties can be used to add field names to the record name. So all interesting Channels can be referenced through the channel finder service. Requests can then be made that do not require any knowledge of the name of the records. Control System Studio has several widgets that are directly integrated with this service for creating plots or tables that are populated from the ChannelFinder Service.
Bob
________________________________________
From: [email protected] [[email protected]] on behalf of Jameson Graef Rollins [[email protected]]
Sent: Wednesday, August 21, 2013 1:42 PM
To: J. Lewis Muir
Cc: EPICS tech-talk
Subject: Re: query ioc/cas for list of channels
On Wed, Aug 21 2013, "J. Lewis Muir" <[email protected]> wrote:
> On 8/21/13 11:13 AM, Jameson Graef Rollins wrote:
>> Hi, folks. Is there a way to query a channel access server (IOC,
>> portable CAS, etc.) for a list of all records it is serving? I feel
>> like there should be a way, but I haven't been able to find any way to
>> do this yet.
>
> Hi, Jamie.
>
> Have you searched the mailing list archive? I think the following
> thread would help you:
>
> http://www.aps.anl.gov/epics/tech-talk/2012/msg02486.php
Hi, Lewis. Thanks for the link. I did a quick scan back through the
list, but it was clearly not sufficient! This thread wasn't even from
that long ago :(
But it is indeed the same thing I was looking for. And unfortunately it
sounds like there's good way to query a channel server for a list of its
records.
I must say I'm quite surprised to find out there's no method for doing
this. It seems like a pretty obviously useful feature.
> Also note the difference between records and PVs. Your subject field
> refers to channels (i.e. PVs), but your message body is asking for a
> list of records. The two are different. For each record, there are
> many possible PV names corresponding to the fields of the record.
Yes, sorry, that was maybe a little sloppy. But I would settle for
either, actually, since there's obviously a lot of overlap. The set of
records is just a subset of the set of PVs, and the additional fields in
the full set of PVs is predictable from the set of records.
jamie.
- References:
- query ioc/cas for list of channels Jameson Graef Rollins
- Re: query ioc/cas for list of channels J. Lewis Muir
- Re: query ioc/cas for list of channels Jameson Graef Rollins
- Navigate by Date:
- Prev:
Re: EPICS and MEDM with eclipse Pete Jemian
- Next:
Re: EPICS and MEDM with eclipse Kasemir, Kay
- 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: query ioc/cas for list of channels Zelazny, Michael Stanley
- Next:
autosave per-db req files Stubbs, Scott A.
- 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
|