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: camonitor vs caput |
From: | Rolf Keitel via Tech-talk <tech-talk at aps.anl.gov> |
To: | tech-talk at aps.anl.gov |
Date: | Tue, 5 Dec 2023 11:00:33 -0800 |
I am not 100% sure if my answer applies to the the I/O Intr scan, but:
When you caput to a record (I am assuming you put to the VAL
field, for other fields you need to consult the record reference
documentation), this causes the record to *process*. The input
link(s) will be processed and the VAL field will be updated (i.e.
the value you just put with caput will be clobbered). If the VAL
field changes by more than the monitor delta, the record will
issue a monitor, otherwise not.
HTH - rolf -
Am Tue, 5 Dec 2023 15:26:16 +0000 schrieb Érico Nogueira Rolim <erico.rolim at lnls.br>:From [1]: Passive records are processed when they are referenced by other records through their link fields or when a channel access put is done to them.Um, yes, but the record in question isn't passive, it's I/O Intr. It does not say "*Only* passive records are processed...".A record must be Passive in order to be *processed* (therefore sending an event to your camonitor process) when it receives a value write.I do not understand this from what you quoted. The quote is only on passive records and says nothing about I/O Intr. Further below it even says on processing --- For output links, this option allows a request for remote processing (side-effects). none (default) - Make no special request. Uses a server specific default. false, “NPP” - Request to skip processing. true, “PP” - Request to force processing. “CP”, “CPP” - For output links, an alias for “PP”. --- I even tried that (writing values from a calcout record to the I/O Intr record using PP), but camonitor did not take notice on that case, either.I believe a possible workaround would be an auxiliary record(s), first writing the value and then writing to "$record.PROC CA". I know that works to force processing for records with periodic scanning, but don't remember testing with I/O Intr.Would that be considered a better/cleaner solution than what I already came up with (using an auxilary record for I/O Intr and having the actual data record passive)? cu Gerrit