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  <2025 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  <2025
<== Date ==> <== Thread ==>

Subject: Re: SNL question to the community
From: Peter Milne via Tech-talk <tech-talk at aps.anl.gov>
To: Pierrick M Hanlet <hanlet at fnal.gov>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 10 Mar 2025 08:29:01 +0000
Hello Pierrick

Thank you very much for raising this question, and thanks to Ralph and Klemen for their follow up.

As a long time user of SNL for just exactly this: " implementing small state machines, close to the device, running on an IOC".  
Didn't know / didn't care (in the positive logic sense) that CA was in use, given that the SNL routines are linked into the IOC binary, it seemed that under the hood it would be API calls (in the same way that the epics console is able to manipulate values). So kudos to the original designers for hiding this aspect completely. Short term, given that with QSRV it seems that every record has both a PVA and a CA interface, this doesn't matter - one could constrain the CA part to localhost and use PVA exclusively externally.  

Are you looking to a longer term where records do _not_ have a CA-compatible interface?.

In API terms, I'm guessing that while put()/get() is easy, it's the monitors that are the problem. ASUB is a convenient way to embed custom complied code in the IOC, but the problem is arranging for that code to be called when required. ?

Cheers

Peter

On Sat, 8 Mar 2025 at 16:29, Pierrick M Hanlet via Tech-talk <tech-talk at aps.anl.gov> wrote:
Thanks Ralph,
I essentially have the same model as you see it; I'm glad to know that
I'm not out on a limb in my thinking.

I like Michael's idea, analogous to aSub, which made its way into base.
Cheers,
Pierrick

On 3/8/25 04:23, Ralph Lange via Tech-talk wrote:
>
> [EXTERNAL] – This message is from an external sender
>
> Hi Pierrick,
>
> This has been discussed in the past... on Tech-Talk and at meetings.
> Ben, the current author/maintainer of SNL/SNC, has stated on tech-talk
> that he doesn't see an easy straightforward way to integrate SNL with
> PVA without fundamentally changing the concepts of SNL.
>
> But. SNL/SNC is the best-tested and best-documented EPICS module.
> (Most of that is Ben's work. Kudos!) It is in use at almost every
> installation and nothing could replace it any time soon. It will not
> go away.
>
> I see the sequencer's strength in implementing small state machines,
> close to the device, running on an IOC. Ramps, switch-on/switch-off
> procedures, slow feedback-type applications, that genre.
> Complicated procedure sequencers, driving whole sub-systems using
> 1000s of PVs across many IOCs - that's the scope for high-level
> operations sequencers like oac-tree. For these applications, SNL/SNC
> doesn't scale well enough and has conceptual limitations.
>
> With Channel Access slowly being sunset, the current SNL/SNC as a pure
> CA client will not be maintainable forever.
> The more I think about it, the more I like Michael Davidsaver's idea:
> Make SNC/SNL directly work with the EPICS process database, with no
> Channel Access involved. That would cut down the code base,
> significantly reduce complexity, and put the sequencer exactly where
> it belongs - inside the IOC, complementing the process database as a
> local tool to implement finite state machines. If state machines need
> access to resources outside the IOC, local proxy records can do the
> remote connection - using standard PVA or CA provided by Base for
> cross-IOC links.
>
> Cheers,
> ~Ralph
>


--
-- Pierrick Hanlet
+1-630-840-5555 office
+1-312-687-4980 mobile

=== "Whether you think you can or think you can't, either way, you're correct" -- Henry Ford



--
Peter Milne, Director of Sales
www.d-tacq.com

References:
SNL question to the community Pierrick M Hanlet via Tech-talk
Re: SNL question to the community Ralph Lange via Tech-talk
Re: SNL question to the community Pierrick M Hanlet via Tech-talk

Navigate by Date:
Prev: Monitoring events over CA doesn't work when using nameserver and old IOCs Vodopivec, Klemen via Tech-talk
Next: Re: SNL question to the community Ralph Lange 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  <2025
Navigate by Thread:
Prev: Re: SNL question to the community Ralph Lange via Tech-talk
Next: Re: SNL question to the community Érico Nogueira Rolim 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  <2025
ANJ, 10 Mar 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·