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: Re: More precise timing for record processing
From: "Sobhani, Alex via Tech-talk" <tech-talk at aps.anl.gov>
To: "Arnold, Ned D." <nda at anl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 30 May 2023 16:35:57 +0000
Thanks.

But I would have thought there is some kind of record type that is specific for periodic timing, because it seems to me like there are some problems that apply to a "clock" are not as important to a sequencer that is meant to be run on-command.

For example, with no central unification of the "pulses" I believe these records will probably just have as accurate of a relative time-delta as possible. But what about cases where the absolute time is more important? If a pulse takes too long to trigger, then will the subsequent pulse be shorter? Also how would the user start/stop these?

Alex



From: Arnold, Ned D. <nda at anl.gov>
Sent: Tuesday, May 30, 2023 9:45 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Sobhani, Alex <sobhaniba at ornl.gov>
Subject: [EXTERNAL] Re: More precise timing for record processing
 
Alex -

You can use the delay field in a sequence record to create specific scan frequencies ... like that shown below. Change TestRecord1.DLY1 to the period you want it to scan.  If multiple records need to be processed at this rate, TestRecord2 could become an event record that posts a soft event which causes other records to scan.

   Ned


record(seq,TestRecord1) {
    field(PINI,"1")
    field(DLY1,"3")
    field(LNK1,"TestRecord2.PROC CP NMS")
    field(LNK2,"TestRecord1 CP NMS")
}

record(calcout,"TestRecord2") {
        field(INPA,"TestRecord2.VAL NPP NMS")
        field(CALC,"A+1")
}



From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Sobhani, Alex via Tech-talk <tech-talk at aps.anl.gov>
Sent: Sunday, May 28, 2023 08:35 PM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: More precise timing for record processing
 

The SCAN field lets you choose from .1, .2, .5, 1, 2, 5, or 10 seconds. In cases where this is not enough, is there a simple way to make a record process at other intervals such as 2.7 seconds or 5.4 seconds, specified at runtime? I know you can add options for more periods of the SCAN field by editing dbd files, but you cannot change your mind at runtime.

 

I envision something like this:

 

record(timer, “BL0:mytimer”){

                field(PERI, 2.7)

                field(FLNK, “BL0:mytrigger”)

}

 

And then subfields to enable/disable it.  

 

Does anything like this exist? I would imagine that something like this would be very generally useful.

 

Alex


Replies:
Re: More precise timing for record processing Ralph Lange via Tech-talk
References:
More precise timing for record processing Sobhani, Alex via Tech-talk
Re: More precise timing for record processing Arnold, Ned D. via Tech-talk

Navigate by Date:
Prev: Re: Issues with epics module and ISEG HAL service libraries André Hartmann via Tech-talk
Next: Re: More precise timing for record processing 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  <20232024 
Navigate by Thread:
Prev: Re: More precise timing for record processing Arnold, Ned D. via Tech-talk
Next: Re: More precise timing for record processing 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  <20232024 
ANJ, 31 May 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·