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

Subject: SSEQ record does not "appear" to be demanding callback completion from an asynchronous record forward-linked to another asynchronous record
From: "Wang, Andrew via Tech-talk" <tech-talk at aps.anl.gov>
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 28 Mar 2023 03:58:10 +0000

Hi all,

 

Today I encountered something kind of interesting and would like to get some outside opinions.

 

To begin with, I have an IOC for an instrument that I shall call DemoInstr. I have a “setter” and “getter” record for one of its properties. The two records are shown below.

 

record(ao, “SET_PROP”)

{

                field(SCAN, “Passive”)

                field(DTYP, “stream”)

field(PRIO, "HIGH")

                field(OUT,  "@DemoInstr.proto setProp $(PORT)")

                field(FLNK, “GET_PROP”)

}

 

record(ai, “GET_PROP”)

{

                field(SCAN, “Passive”)

                field(DTYP, “stream”)

                field(INP,  "@DemoInstr.proto getProp $(PORT)")

}

 

In a separate IOC that I shall call Setup, I declared a SEQ record called “WRITE_INST” that should write a value into “setProp” when it is processed. Then, “PROCESS_INST”, a SSEQ record, will process because it is forward-linked to “WRITE_INST”. “PROCESS_INST” should wait for a completion callback with the way it is written. However, when “PRINT_SET_AND_GET” processes, it reports that GET_PROP still contains the previous value. Shouldn’t GET_PROP have been updated because of the completion callback? I feel like I am missing something in my understanding of completion callbacks.

 

record(ao, “VAL”)

{

                field(SCAN, “Passive”)

}

 

record(seq, "WRITE_INST")

{

                field(SCAN, "Passive")

                field(SELM, "All")

                field(DOL1, “VAL")

                field(LNK1, "SET_PROP")

                field(FLNK, “PROCESS_INST ")

}

 

record(sseq, “PROCESS_INST")

{

                field(SCAN,  "Passive")

                field(SELM,  "All")

                field(LNK1,  "SET_PROP.PROC CA")

                field(WAIT1, "Wait")

                field(FLNK, “PRINT_SET_AND_GET”)

}

 

record(aSub, “PRINT_SET_AND_GET")

{

                field(SCAN,  "Passive")

                field(SNAM, “print_set_and_get”)

                field(INPA, “SET_PROP”)

                field(INPB, “GET_PROP”)

}

 

Thank you,

Andy

 

Purple ribbon awareness

 


Replies:
Re: SSEQ record does not "appear" to be demanding callback completion from an asynchronous record forward-linked to another asynchronous record Mark Rivers via Tech-talk

Navigate by Date:
Prev: 回覆: Encoder Stall happens when increasing direction of motor pulses is opposite of that of encoder count Chiang, Liang-Chih [江良志] via Tech-talk
Next: Links between bob files in different support modules Cobb, Tom (DLSLtd,RAL,LSCI) 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  <20232024 
Navigate by Thread:
Prev: Re: [EXTERNAL] Device support question Hartman, Steven via Tech-talk
Next: Re: SSEQ record does not "appear" to be demanding callback completion from an asynchronous record forward-linked to another asynchronous record Mark Rivers 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  <20232024 
ANJ, 30 Mar 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·