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  <20222023  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  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Asynchronous record processing confusion
From: "Mooney, Tim M. via Tech-talk" <tech-talk at aps.anl.gov>
To: EPICS tech-talk <tech-talk at aps.anl.gov>, "Wang, Andrew" <wang126 at llnl.gov>
Date: Sun, 7 Aug 2022 20:49:22 +0000
Hi Andrew,

I see how this is confusing.  A record has completed its processing (including the second pass of asynchronous processing) when it executes its forward link, and this is the sense of "complete" intended by section 5.9.  But a forward link is just a function call, and a record cannot be entirely done until that call returns.  It won't return until the records downstream have executed their forward links.

Tim Mooney (mooney at anl.gov) (630)252-5417
Beamline Controls Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Wang, Andrew via Tech-talk <tech-talk at aps.anl.gov>
Sent: Sunday, August 7, 2022 2:12 PM
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: Asynchronous record processing confusion
 
Hi all,

I have another question, but this time it is about Chapter 5 in the Application Developer's Guide regarding asynchronous record processing. In Section 5.9, it states that the asynchronous completion routine performs the following algorithm.

1. Record processing continues 
2. Record specific alarm conditions are checked 
3. Monitors are raised 
4. Forward links are processed 
5. PACT is set FALSE.

For step 4, suppose the record is forward-linked to another asynchronous record. Section 5.9.1 and Section 5.9.3  seem to imply that the forward-linked record will be processed after the initial record has completed its processing, particularly from this statement (Forward and output links are triggered only when the asynchronous completion routine completes record processing). 

However, in the discussion from Section 5.7, record A doesn't complete processing until all the subsequent records that are forward-linked to A have completed their processing.

I feel like I am missing something, because the understanding I get from the two sections appear to run counter to each other, unless it is because synchronous and asynchronous processing are in fact different from each other and do not share a lot of similarities. However, if the forward-linked records in step 4 need to complete their processing before moving onto Step 5, then it makes more sense. 

Again, I really appreciate the time this community takes out of its day to help elucidate these questions I have.

Thanks,
Andy

Replies:
Re: Asynchronous record processing confusion Michael Davidsaver via Tech-talk
References:
Asynchronous record processing confusion Wang, Andrew via Tech-talk

Navigate by Date:
Prev: Asynchronous record processing confusion Wang, Andrew via Tech-talk
Next: Re: Asynchronous record processing confusion Michael Davidsaver 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  <20222023  2024 
Navigate by Thread:
Prev: Asynchronous record processing confusion Wang, Andrew via Tech-talk
Next: Re: Asynchronous record processing confusion Michael Davidsaver 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  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·