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: Need to migrate from 3.14 to 4.4
From: Ralph Lange <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Mon, 05 Jan 2015 11:22:19 +0100
Hi Deeptarka,

EPICS V4 basically is a library around user-defined hierarchical data structures (pvData) and a network protocol to transport those structures (pvAccess). There are Java and C++ implementations of server and client, examples, lots of documentation, etc. [1]

There are no changes in the IOC.
Except for a pvAccess server for the IOC (pvaSrv) that can be loaded and started on an existing 3.14 IOC, and allows accessing the PVs on that IOC using the pvAccess network protocol.

If you are looking for ways to insert your own C/C++ code into the IOC's record processing, you should look at the subroutine record [2] and array subroutine record [3]. These record types are made to allow exactly that. Writing device support is another option that would run your code as part of the record processing. Writing ASYN interpose modules or port drivers would run your code as part of the low-level driver, "underneath" the database records, possibly in the context of a driver thread.
Using the sequencer is the most loosely coupled approach - as there is Channel Access between the database and your code in the state machine that runs in a separate sequencer thread.

Cheers,
~Ralph

ps. EPICS 3.15 has some new features (e.g. long string record types) that might be interesting for you.

[1] http://epics-pvdata.sourceforge.net/
[2] https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Subroutine
[3] https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Array_Subroutine


On 02/01/2015 12:02, Deeptarka Das/TVM/TCS wrote:

Hi all,

 

I have some applications created with EPICS 3.14. These applications have mainly waveform records(I needed to store lon strings), subroutine records, Sequencer for state handling(I had also "mis-used" it for some data processing work) and Asyn. I am trying to evaluate EPICS 4.4 (CPP). Till now I have understood that even with version 4.4, I will be using the same IOCs created with 3.14. So my question is what additional benefits will I get from migrating to 4.4? I need to perform some heavy data processing(the reason why I was misusing Sequencer). With 4.4 will I be able to directly include C++ codes into the application to do the data processing?

 

---
Thanks and Regards,
Deeptarka Das
Mailto: [email protected]




Replies:
RE: Need to migrate from 3.14 to 4.4 Mark Rivers
References:
Need to migrate from 3.14 to 4.4 Deeptarka Das/TVM/TCS

Navigate by Date:
Prev: Re: Stream device error when processing unsolicited commands Eric Norum
Next: Re: Stream device error when processing unsolicited commands Dirk Zimoch
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: Need to migrate from 3.14 to 4.4 Deeptarka Das/TVM/TCS
Next: RE: Need to migrate from 3.14 to 4.4 Mark Rivers
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 ·