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

Subject: Re: New to EPICS - v4 questions
From: Marty Kraimer via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Thu, 11 Mar 2021 12:21:49 -0500
On 3/11/21 5:37 AM, Stainer Tom via Tech-talk wrote:

Thanks Marty. That link is indeed useful, I wasn’t aware of that guide beforehand!


Have you also looked at:
https://epics.anl.gov/base/R3-16/2-docs/AppDevGuide/AppDevGuide.html

The history of this document goes back to the early 1990s.
I has gone through several different documentation platforms.
The early platforms are no longer supported.
It has not been updated for EPICS7, but its description of the V3 components is still mostly valid.


 

I guess this somewhat answers my question to Ralph regarding the state of the http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGuide_V4Release4_6.html document.

 

With regard to this approach (pvDatabase and defining records via the pvDatabase::PVRecord class) this seems to be a somewhat different approach to the PVXS library where there is no concept of a record (from what I can tell) i.e. just exposing PVs over the network instead.

How do the two play together and is there an advantage to using one over the other? Or is it merely a matter of preference?


For now it is probably a matter of preference.

Marty

 

Kind regards,

Tom

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Marty Kraimer via Tech-talk
Sent: Friday, March 5, 2021 7:33 PM
To: tech-talk at aps.anl.gov
Subject: Re: New to EPICS - v4 questions

 

You have already got some good advice.
I also suggest that you look at:

https://mrkraimer.github.io/website/developerGuide/index.html


Marty Kraimer

On 3/5/21 11:10 AM, Stainer Tom via Tech-talk wrote:

Hi,

 

I am new to EPICS and to the community and therefore I apologise in advance if my question is somewhat elementary, but I have been struggling to understand EPICS v4 fully from documentation alone.

 

It is quite clear that most documentation available online is focused on Channel Access and EPICS v3, however, since I am new to EPICS I would like to start learning from the latest (and greatest?) version and protocol i.e v4 & PVAccess. I understand that v7 supports both CA and PVA, that is clear, but what is not so clear is how to use PVAccess when compared to CA.

 

For example, I have come across the exampleCPP repository (https://github.com/epics-base/exampleCPP) focused on defining records, servers, and clients, using the pvDatabase and pvAccess interfaces. In addition, I have also come across the PVXS library (https://github.com/mdavidsaver/pvxs) which offers an alternative approach to this (and seems to avoid the concept of record and databases altogether?). While there are some nice examples and some short explanations of each it has still been a struggle to figure out how they work and to understand how it relates to the v3 approach. The same goes for the python packages: pyepics, pvapy and p4p (and others). As a newcomer it is quite confusing to see many different approaches and packages used but no clear entry point on which one should be used in different circumstances, and which libraries/packages support which functionality i.e. access control, etc.

 

My initial questions are:

1.       Is PVXS intended to replace pvDatabase, pvAccess et al?

2.       Of the C++ and Python packages & libraries which ones are most feature complete in terms of the v3 approach?

3.       What is the best way to get started and start building clients, servers, IOCs?

4.       How does PVA and the nested datastructures work with the process database (file based record definition)?

5.       Going forward which packages are likely to be maintained and supported on both the C++ and python sides?

6.       Can I altogether ignore v3 and Channel Access when starting from scratch and just use v4 for everything? Is this the recommended approach for newcomers? Are there any limitations to using v4 compared to v3?

 

Any help you can provide on this is much appreciated.

 

Kind regards,

Tom

 



References:
New to EPICS - v4 questions Stainer Tom via Tech-talk
Re: New to EPICS - v4 questions Marty Kraimer via Tech-talk
RE: New to EPICS - v4 questions Stainer Tom via Tech-talk

Navigate by Date:
Prev: Re: New to EPICS - v4 questions Mark Rivers via Tech-talk
Next: Re: EPICS Arduino Interfacing R Nussbaumer via Tech-talk
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  <20212022  2023  2024 
Navigate by Thread:
Prev: RE: New to EPICS - v4 questions Stainer Tom via Tech-talk
Next: EPICS 7.0.5 C++ Normative Type library version Ralph Lange via Tech-talk
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  <20212022  2023  2024 
ANJ, 11 Mar 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·