Experimental Physics and Industrial Control System
|
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
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
--
- 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 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
·
Download
·
Search
·
IRMIS
·
Talk
·
Documents
·
Links
·
Licensing
·
|