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

Subject: Re: enable pvAccess by default
From: Timo Korhonen via Tech-talk <tech-talk at aps.anl.gov>
To: William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>, "Johnson, Andrew N." <anj at anl.gov>, "tech-talk at aps.anl.gov" <Tech-talk at aps.anl.gov>
Date: Wed, 3 Apr 2024 06:49:06 +0000

Hi William,

 

Your post perfectly illustrates why we at ESS put the effort to create our “e3” environment 😉

I have not done plain builds for a while…it has started to annoy me that I have to scramble together all the drivers whereas with e3 I have all I need, already figured out.

 

However, to check, I just downloaded the latest release and compiled, and then created a base app, more or less following the steps as defined here.

Pretty much the same steps you have followed, as far as I can tell. (I think the same procedure has worked since EPICS 7 was released…not sure though.)

 

With makeBaseApp, I got an IOC with PVA server, without doing anything extra. Also, the IOC directory is ready to start integrating your drivers.

 

If you run the IOC you created, try the command “pvasr” in the shell (after iocInit). If the command is recognized, you have PVA server enabled.

 

I am not sure what exactly Andrew meant with softIocPVA executable, but I assume that if you just run an IOC without connecting to any particular hardware (thus “soft”), you can use the ready-made softIocPVA without doing anything extra.

 

Best regards,


Timo

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of William Kirstaedter via Tech-talk <tech-talk at aps.anl.gov>
Reply to: William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>
Date: Tuesday, 2 April 2024 at 21:50
To: "Johnson, Andrew N." <anj at anl.gov>, "tech-talk at aps.anl.gov" <Tech-talk at aps.anl.gov>
Subject: Re: enable pvAccess by default

 

Hi Andrew,

I'm not too deep into the EPICS (core) "game".

so please elaborate what you mean with "softIOCPVA" executable...

let me explain what I do:

Up until now, I create new IOCs via the "makeBaseApp.pl" script.
mkdir myIOC
cd myIOC
makeBaseApp.pl -t ioc myIOC
makeBaseApp.pl -i -t ioc myIOC

after that, I have a "barebone" IOC which can be compiled but does nothing.

then, I can start integrating my devices.

Im doing this by, for example,
loading the async and streamdevice modules via the *App/src/Makefile and a $(TOP)/../RELEASE.local file,
then creating streamdevice proto files and a *db file for the records.
"make" the IOC.
Finally, I setup and load everything via the st.cmd and have a running system that can control my device.

this is where my idea came from:

right now, the *App/src/Makefile lacks statements to load the PVAserver (whatever it is called now, I always thought theres only one that got developed in EPICS4 and is now mostly done and always included in EPICS 7)

So, if I'd like to switch over from CA to PVA, or at least also enable PVA for all my IOCs, I'd have to add the QSRV library loading to every Makefile of every IOC that I maintain, and, more importantly, recall to add them everytime I create a new IOC for a new Lab or Device or whatever constellation...

Idk, my assumption as a user would have been that PVAserver is always available since I use EPICS 7 which combines "old-world" EPICS 3 and "new-world" EPICS 4 ?

also I wonder how big the ressources impact might be to run an additional PVAserver by default...
I'd assume modern low end hardware can handle that easily.

anyways, thanks for your reply :)

PS: also @Erico, thanks for your answer aswell, I see there might be quite a rabbithole regarding PVA stuff inside of EPICS 7 that I totally wasnt aware of...

William Kirstaedter
PP&B Computer Support Group
Fritz-Haber-Institut Berlin

Am 01.04.24 um 18:17 schrieb Johnson, Andrew N.:

Hi William,

 

On 3/31/24, 3:53 PM, "Tech-talk" tech-talk-bounces at aps.anl.gov wrote:

I would like to know if you have already considered activating pvAccess

for softIOCs by default.

 

How is what you're asking for different than the softiocPVA executable that we already build in the pva2pva module?

 

I would probably adapt the Makefile template and simply copy the section

from the example IOC:

 

# Link QSRV (pvAccess Server) if available

ifdef EPICS_QSRV_MAJOR_VERSION

    _APPNAME__LIBS += qsrv

    _APPNAME__LIBS += $(EPICS_BASE_PVA_CORE_LIBS)

    _APPNAME__DBD += PVAServerRegister.dbd

    _APPNAME__DBD += qsrv.dbd

endif

 

Ultimately, this should not affect any old system, as pvAccess is only

loaded if it is also present in base?

 

PV Access has been part of Base since the first EPICS 7.0.1 release, but many sites aren't building it into all their IOCs — at the APS we use it in AreaDetector camera IOCs and our DAQ systems, but don't build it into our regular EPICS 7 IOCs yet. The extra libraries and threads that it starts would take up resources on our systems.

 

HTH,

 

- Andrew

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

thanks in advance,

 

--

William Kirstaedter

PP&B Computer Support Group

Fritz-Haber-Institut Berlin

 

 


Replies:
Re: enable pvAccess by default Florian Feldbauer via Tech-talk
Re: enable pvAccess by default Ralph Lange via Tech-talk
References:
enable pvAccess by default William Kirstaedter via Tech-talk
Re: enable pvAccess by default Johnson, Andrew N. via Tech-talk
Re: enable pvAccess by default William Kirstaedter via Tech-talk

Navigate by Date:
Prev: Re: "Hard" IOC on commodity hardware Chris Johns via Tech-talk
Next: Re: enable pvAccess by default Florian Feldbauer 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  2023  <2024
Navigate by Thread:
Prev: Re: enable pvAccess by default William Kirstaedter via Tech-talk
Next: Re: enable pvAccess by default Florian Feldbauer 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  2023  <2024
ANJ, 11 Sep 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·