Experimental Physics and Industrial Control System
|
On 04/01/2018 03:28 PM, renato sanhueza
wrote:
1. Does EPICS support some kind of metadata for building
a generic monitor? For example, I want to create a
client that is able to monitor any component of the
system. The only information that this generic client
has are the channel names of the components while the
pvRequest object is left null so the entire top level
structure of the PVRecord is sent back to the client.
Finally the generic client, using metadata or another
mechanism like reflection, might be able to understand
the message and act accordingly (e.g. if the monitored
component was a thermometer then the client can update a
certain item in the GUI).
For most PVRecords a field named value provides the most important
data.
pvData (both pvDataCPP and pvDataJava) define the following special
fields:
enum, alarm, timeStamp, display, control, and alarmLimit.
enum is just a special type of value field.
The other special fields can be considered metadata, i.e. they
provide additional information about the value field.
A particular PVRecord can optionally support an arbitrary subset for
the special fields.
Most will support timeStamp and alarm.
If you create a request like:
PVStructure
pvRequest(CreateRequest::createRequest("value,alarm,timeStamp,display,control,valueAlarm"));
Then you are asking for the value data and all supported
"metadata".
Note that normative types support the special fields.
I encourage You to read
http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGuide.html
Especially
http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGuide.html#special_fields
2. What are the advantages and disadvantages of using
smart records (pvDatabase) instead of pvAcccess servers?
How should I choose between them?
From
http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGuide.html#overview:_pvdatabase
It says:
A framework for implementing a network
accessible database of smart memory resident records. Network
access is via pvAccess. The data in each record is a top level
PVStructure as defined by pvData. A complete implementation of
ChannelProvider is provided for accessing the records. The
framework can be extended in order to create record instances that
implement services. The minimum that an extension must provide is
a top level PVStructure, a record name, and a process method.
The important words are that it provides a compete implementation of
ChannelProvider.
This is not easy to do correctly.
Mark Rivers referenced components of areaDetector that use both
PVRecord and also client code.
I also encourage You to download and look at
https://github.com/epics-base/exampleCPP
It has many examples of both client and server code.
Look first at exampleCPP/database for server code that implements
PVRecords.
Look first at exampleCPP/exampleClient for client code examples.
The other examples provide both client and server examples.
Hope this helps.
Marty Kramer
I greatly appreciate your help
Best regards,
Renato
|
- Replies:
- Re: question about pvAccess monitor renato sanhueza
- References:
- question about pvAccess monitor renato sanhueza
- Re: question about pvAccess monitor Johnson, Andrew N.
- Re: question about pvAccess monitor Mark Rivers
- Re: question about pvAccess monitor Johnson, Andrew N.
- Re: question about pvAccess monitor renato sanhueza
- Navigate by Date:
- Prev:
Re: question about pvAccess monitor renato sanhueza
- Next:
Re: question about pvAccess monitor renato sanhueza
- 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: question about pvAccess monitor renato sanhueza
- Next:
Re: question about pvAccess monitor renato sanhueza
- 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, 02 Apr 2018 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|