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: 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 |