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: A way to ensure that a record chain completes processing before processing another record chain
From: "Wang, Andrew via Tech-talk" <tech-talk at aps.anl.gov>
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 12 Jul 2022 17:38:47 +0000

Hi all,

 

This is a bit of a complex question so if there is anything that doesn’t make sense, please let me know and I will do my best to clarify.

 

Basically, we have an IOC, which uses StreamDevice, to talk to an instrument. Within the database file, I have two record chains to perform two operations on the instrument. One is feeding a pattern file to the instrument and another is for getting some system parameters such as voltage settings, laser status, etc. at a constant scan rate of 1 Hz via a record called slow_scan that has its SCAN field set at 1 Hz.

 

So roughly these are what the two chains are.

 

Chain 1:

|slow_scan (1 Hz)| --- FLNK ---> |get_voltage (passive)| --- FLNK ---> |get_laser (passive)| --- FLNK ---> |get_error_flags (passive)|

 

Chain 2:

|set_pattern (passive)| --- FLNK --> |check_pattern_good (passive)|

 

Suppose the user wants to feed a pattern file to the instrument and they force-process Chain 2 by calling set_pattern.PROC field via caput, CSS GUI, etc. Ideally I would like Chain 1 to finish before letting Chain 2 start. For example, suppose the user force-processes Chain 2 while Chain 1 is still processing get_laser. I would like get_error_flags to complete processing first and then allow Chain 2 to process. Then, after Chain 2 processes, I resume slow_scan in Chain 1.

 

Let me know what your thoughts are on this.

 

Thanks,

Andy

 

Purple ribbon awareness

 


Navigate by Date:
Prev: RE: Lowest compatible version of asyn for base 3-15.9 Mark Rivers via Tech-talk
Next: issue while creating a device support using ASYN on windows Siddharth Vardhan Pratihast 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: RE: Lowest compatible version of asyn for base 3-15.9 Mark Rivers via Tech-talk
Next: issue while creating a device support using ASYN on windows Siddharth Vardhan Pratihast 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 ·