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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: calcout record processing |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "'Arnold, Ned D.'" <nda at anl.gov>, Randall Cayford <rcayford at lbl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 6 May 2021 17:52:21 +0000 |
Ø
So you have two choices ... Ø
FLNK from fsControl to fsCalc. Ø
or Ø
Change fsCalc.INPA to. "$(P):fsControl CP" He did FLNK from fsControl to fsCalc. If that FLNK is not actually processing fsCalc than I think it may be because of the DTYP/INP mismatch. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Arnold, Ned D. via Tech-talk > I thought calc records were supposed to be processed whenever their inputs were processed. Only of the CP flag is set for that input link.
So you have two choices ...
FLNK from fsControl to fsCalc. or Change fsCalc.INPA to. "$(P):fsControl CP" Ned From: Tech-talk <tech-talk-bounces at aps.anl.gov>
on behalf of Randall Cayford via Tech-talk <tech-talk at aps.anl.gov> I’m trying to do a simple chain of an input record, a calc record and an output record. I can’t get the calc record to process unless I force it.
I have: record(ai, “$(P):fsControl") { field(DTYP, "asynInt32") field(PREC, "5") field(SCAN, "Passive") field(FLNK, "$(P):fsCalc PP") } record(calcout, "$(P):fsCalc") { field(DESC, "Convert 1,0 shutter to 3,1") field(INPA, "$(P):fsControl") field(CALC, "A * 2 + 1") field(OUT, "$(P):fsSet PP") field(OOPT, "Every Time") field(SCAN, "Passive") } record(ao, "$(P):fsSet") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT,recursive),0,1)PMAC_WI_M8192") field(SCAN, "Passive") }
If I put to fsControl, it sets but nothing happens. If I put to fsCalc.PROC, everything works correctly - it reads fsControl, calculates the VAL and triggers fsSet with the calculated value. If I make fsCalc SCAN periodic it also works.
I thought calc records were supposed to be processed whenever their inputs were processed. I’ve tried with and without the FLNK in fsControl. So I’m missing something about how calc record processing is triggered. Randall Cayford BCSB - LBNL |