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: Question about "indirect processing" mentioned in documentation for the SSEQ |
From: | "Wang, Andrew via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Mooney, Tim M." <mooney at anl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Sun, 7 Aug 2022 05:38:49 +0000 |
Hi Tim,
Thank you for the prompt response! Greatly appreciate your clarification about what indirect processing entails. Trying to understand the behind-the-scenes of linking so that my drivers
have as minimal issues as possible, so I apologize for my abundance of questions.
I guess my remaining question pertains to asynchronous chaining. If I have a SSEQ record, whose LNKn contains an asynchronous record "rec_1" that is forward-linked to another asynchronous record "rec_2". I could be wrong but does SSEQ only wait for "rec_1"
to complete processing without waiting for "rec_2" before moving onto the other LNKn/DLYn/DOLn groups? Section 5.9.3 of 5.
Database Locking, Scanning, And Processing (anl.gov) seems to imply that "rec_2" won't process until after "rec_1" has finished processing. Based upon the idea that "rec_1" has finished its processing, would SSEQ move on without waiting for "rec_2" to
finish its processing since "rec_1" is the target record?
Thanks,
Andy
From: Mooney, Tim M. <mooney at anl.gov>
Sent: Saturday, August 6, 2022 7:49 AM To: EPICS tech-talk <tech-talk at aps.anl.gov>; Wang, Andrew <wang126 at llnl.gov> Subject: Re: Question about "indirect processing" mentioned in documentation for the SSEQ
Hi Andrew,
By "indirect" I mean, for example, a record with a CPP link on a PV whose value changes as the result of the SSEQ record's processing. EPICS doesn't include that record's processing in its execution trace of SSEQ-record-driven processing.
It doesn't matter whether records that are included in an EPICS execution trace are synchronous or asynchronous, because EPICS uses a record's forward link to determine when that record is done, and asynchronous record processing doesn't execute the forward
link until the end of the second pass of asynchronous processing.
See slides 31 and following ("completion reporting") of this powerpoint presentation for an illustrated guide to the possibilities that can be involved in an execution trace:
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: Saturday, August 6, 2022 12:59 AM To: EPICS tech-talk <tech-talk at aps.anl.gov> Subject: Question about "indirect processing" mentioned in documentation for the SSEQ
Hi all,
I have a quick question regarding this one sentence about WAIT in the SSEQ documentation. It states:
"Finally, if the sseq record
successfully waits for
targetRecord to finish processing, it is still possible for other records to process as an indirect result
of LNKn, and the sseq record
cannot wait for this indirectly caused processing to finish unless the database developer has arranged for the indirectly caused processing to be traceable by EPICS."
Two questions I have.
Thank you very much,
Andy
|