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  2021  2022  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] PvaPy pvaccess
From: "Kasemir, Kay via Tech-talk" <tech-talk at aps.anl.gov>
To: S Banerian <banerian at uw.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 10 May 2023 13:17:14 +0000

Hi:

 

> As part of that, we are trying out pvaccess PvaPy as an update to the pyepics that is currently used.

PvaPy is not necessarily an update to pyepics. See https://epics.anl.gov/extensions/index.php for all the python libraries.

 

pyepics was, is and will remain a channel access library for python.

But there’s also caproto, cothread, .. depending on your preferences. Yes, a bit confusing which one to choose. If you were happy with pyepics, nothing wrong with continuing to use that for channel access.

 

With EPICS 7, your IOCs can not only use channel access but also pvaccess.

For using pvaccess from python, you currently have two options: PvaPy or p4p.

PvaPy is based on the original C++ implementation consisting of pvAccessCPP, pvDataCPP and some more.

P4p is based on the new C++ implementation, PVXS.

Which one to pick there? PVXS was created to overcome limitations of the original implementation. One of them being that it tries to have the same API for C++ and Java, which is troublesome because those languages have fundamentally different approaches. The other is that pvAccessCPP, pvDataCPP etc. also try to support channel access, which really is a different protocol, and that’s where you run into the specific providerType=CA issue. Finally, PVXS sees active development like support for IPv6, while pvAccessCPP, pvDataCPP, .. are just barely maintained.

 

So one suggestion for python would be to keep using pyepics for channel access, and if you want to start accessing some of the data via pvaccess, use p4p.

 

-Kay

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of S Banerian via Tech-talk <tech-talk at aps.anl.gov>
Date: Wednesday, May 10, 2023 at 4:48 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: [EXTERNAL] PvaPy pvaccess


I've set to work on upgrading some of our local EPICS infrastructure, and have (finally) installed Epics 7 on a couple of machines.

As part of that, we are trying out pvaccess PvaPy as an update to the pyepics that is currently used.

On a test system, i've been following the documentation [1,2] for PvaPy to monitor some pv's we track.

alas, we do not get the desired behaviour for monitoring CA   PVs.


pvaChannel = Channel('enum01')
pvaChanne.isConnected()
pvaChannel.subscribe('echo', lambda x: print(f'{x}'))
pvaChannel.startMonitor()

(no errors encountered)

but when  non-default is tried:

ourPVchannel = pvaccess.Channel('int01',CA)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'CA' is not defined

pvaccess.Channel('int01',providerType=CA)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'CA' is not defined


suggestions as to what I can try next?

[1] https://urldefense.us/v2/url?u=https-3A__github.com_epics-2Dbase_pvaPy&d=DwIBAg&c=v4IIwRuZAmwupIjowmMWUmLasxPEgYsgNI-O7C4ViYc&r=8RMagXS5oBauLyLs1HfVUTdnjjuRYthZ97c5pPc4pBQ&m=Hrm7LtzAEx4URk57OzhuRthN6XhHIA3dZ_Z2ypVCLNcC9tyVbMcMcM0goY0QZSjs&s=DOiea-iMuYz_PCSXY6elXvUlkzULO1TwenA8fU52zYI&e=
[2] https://urldefense.us/v2/url?u=https-3A__epics.anl.gov_extensions_pvaPy_production_pvaccess.html-23channel&d=DwIBAg&c=v4IIwRuZAmwupIjowmMWUmLasxPEgYsgNI-O7C4ViYc&r=8RMagXS5oBauLyLs1HfVUTdnjjuRYthZ97c5pPc4pBQ&m=Hrm7LtzAEx4URk57OzhuRthN6XhHIA3dZ_Z2ypVCLNcC9tyVbMcMcM0goY0QZSjs&s=DzeqDe8r0h0FWh4yQxYo8ymW7nnJE5SWRvMICVQiEs4&e=


s banerian
UW Clinical Cyclotron


Replies:
Re: [EXTERNAL] PvaPy pvaccess Veseli, Sinisa via Tech-talk
References:
PvaPy pvaccess S Banerian via Tech-talk

Navigate by Date:
Prev: Re: PvaPy pvaccess Simon Rose via Tech-talk
Next: Re: [EXTERNAL] PvaPy pvaccess Veseli, Sinisa 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  2021  2022  <20232024 
Navigate by Thread:
Prev: Re: PvaPy pvaccess Simon Rose via Tech-talk
Next: Re: [EXTERNAL] PvaPy pvaccess Veseli, Sinisa 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  2021  2022  <20232024 
ANJ, 10 May 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·