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  <20152016  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICSv4 and pvAccess to an IOC
From: "Kasemir, Kay" <[email protected]>
To: Emmanuel Mayssat <[email protected]>
Cc: EPICS mailing list <[email protected]>
Date: Wed, 1 Apr 2015 12:46:09 +0000
Hi:

I've been trying to understand that myself, and here's my take on it..

For now, your EPICS V3 IOC stays as it was. Same records, same device drivers, same  channel access server and client.

V4 offers a server and client libraries to transfer custom data types. You are no longer limited to DBR_CRTL_DOUBLE, but could instead transfer your custom data.
To do that, you can add a v4 server, most conveniently based on the pvDatabaseCpp library, to your IOC.
At SNS, we just started to do that. Our detector IOCs are for the most part ordinary V3 IOCs, but they publish the neutron event data via the V4 protocol.
One of our clients is then again for the most part an ordinary IOC, but it includes a V4 client that reads the raw neutron data and acts as an area detector data source. The created histogram  images, region-of-interest handling etc. are then handled in the  area detector as usual, ending up as V4 byte waveforms for images etc.
See recent EPICS meeting in France for a report on that.

David Hickin at DLS uses V4 with area detector as well, but at a different level. He's serving the images as V4 data, with one area detector stack reading from a camera and serving V4 images, another area detector stack reading the V4 images and doing all the processing.

In these examples, V4 is added in parallel to Channel Access, but for the most part records are still accessed via Channel Access, and there's no change to existing clients.
The pvaSrv module for IOCs allow access to all records via V4. The idea is that you can then change your clients over to use Channel Access for basic record access, and eventually you could do 100% of your network traffic with V4. Right now, that's not practical because CS-Studio would be your only client, and there's no V4 pvAccess gateway to structure your network.

To get started, download the sources for pvDataCPP, pvAccessCPP, pvDatabaseCPP, pvaSrv, compile, and look at the examples.
For most of these, there are also *Java versions. As far as I understand, the development of pvAccess started in Java, which I think was great because it put a focus on the actual idea and protocol without need to first invent ways to handle strings, sockets, threads, .. Then the CPP version was implemented which is of course essential for inclusion in V3 IOCs. As a result of this history, the API documentation for the Java versions tends to be more elaborate and intuitive, so I found it helpful to check both the Java and CPP docs.
For pvAccess, there's also a python library, but I'm not sure you'd care about that ;-)

Thanks,
Kay

On Mar 31, 2015, at 6:17 PM, Emmanuel Mayssat <[email protected]<mailto:[email protected]>>
 wrote:
Hello all,

I am currently looking at EPICSv4.
I am interested in better understanding pvAccess which can transfer structured data (pvData).
I understand the pvAccess can use EPICSv3 CA to access database entries in the IOC.
But how to I implement and enforce the use of the pvAccess Client Layer?
How do I integrate a pvAccess Server in the IOC?

It is my understanding that IOC programming will not chance with EPICSv4, is this correct?

Regards,
--
Emmanuel Mayssat
http://www.epicsqt.org



References:
EPICSv4 and pvAccess to an IOC Emmanuel Mayssat

Navigate by Date:
Prev: Re: Stream device: how to send waveform of chars without null terminator? Dirk Zimoch
Next: STAT=SCAN recover Isabella Rey
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICSv4 and pvAccess to an IOC Emmanuel Mayssat
Next: Fwd: EPICSv4 and pvAccess to an IOC White, Greg
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·