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

Subject: Re: Sequencer/SNL and PVA?
From: Davide Marcato via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov, benjamin.franksen at helmholtz-berlin.de, ralph.lange at gmx.de
Date: Tue, 6 Oct 2020 11:41:06 +0200
Hello,
we use a python library (pysmlib) based on pyepics to develop finite state machines for epics, similar to what the sequencer can do.
https://darcato.github.io/pysmlib/docs/html/overview.html

This library does not support pvAccess yet but it may be possible to add it using pvaPy, event though I am not expert enough of pvAccess to do it right now.

Davide

On 06/10/20 11:24 AM, Ben Franksen via Tech-talk wrote:
Am 06.10.20 um 10:25 schrieb Ralph Lange via Tech-talk:
Since we started developing a number of "pure" pvAccess servers,
users/developers have been asking how to do state machines that connect to
them.

Is there any experience or plan to add support for pvAccess to the
SNL/Sequencer?
I have no concrete plans. There are basically two reasons:

(1) I can't see how to reconcile the SNL data model with PVA. In CA you
have the basic primitive types which are mapped to the basic SNL types;
or arrays of those which are similarly mapped to SNL arrays; and then a
fixed set of meta data on top of that. PVA provides a richer set of data
types that does not map easily to a language that is, give or take, a
variant of C. Also, meta data is not as uniform in PVA as in CA. Even if
support is restricted to Normative Types, I am not sure we can map all
of them to SNL types in a reasonably useful way.

(2) The PVA API is C++ and (IIRC) quite heavily uses C++ features. It
may be possible to provide a wrapper that translates those parts of the
API we'd need for the sequencer into C. However, I wonder if this is
really a good idea. It may be more sensible to design something new that
is written entirely in C++ and provides the features we want from SNL as
an embedded language, that is, as a library, rather than a separate
programming language.

Besides, you may have noticed that development of the sequencer has
stalled in the last few years. This is mostly because the direction in
which I wanted to go with SNL (for version 2.3) made it very hard to
maintain compatibility. Also I got stuck on design issues I never
managed to find a satisfying solution for.

That said, if someone manages to hack PVA support into the sequencer,
however limited in scope, I am willing to review/accept contributions.
Any such efforts should probably be based on the 2.2 branch as I am not
sure 2.3 will be continued.

Cheers
Ben


--
Davide Marcato
INFN - Laboratori Nazionali di Legnaro
Viale dell'Universita', 2
35020 Legnaro (PD) - ITALY
Phone: +39 0498068439
Skype: live:davidemarcato_2


References:
Sequencer/SNL and PVA? Ralph Lange via Tech-talk
Re: Sequencer/SNL and PVA? Ben Franksen via Tech-talk

Navigate by Date:
Prev: Re: Sequencer/SNL and PVA? Ben Franksen via Tech-talk
Next: Re: ADPilatus John Dobbins 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Sequencer/SNL and PVA? Ben Franksen via Tech-talk
Next: Re: Sequencer/SNL and PVA? Johnson, Andrew N. 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  <20202021  2022  2023  2024 
ANJ, 06 Oct 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·