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 | 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: [EXTERNAL] Timestamp behaviour in pvmonitor vs camonitor |
From: | Timo Korhonen via Core-talk <core-talk at aps.anl.gov> |
To: | EPICS Core Talk <core-talk at aps.anl.gov> |
Date: | Thu, 29 Jun 2023 13:14:26 +0000 |
Hi, Some new thoughts about this issue. This new corner case, and the earlier one that we discussed in this thread both happen in the same IOC and we cannot reproduce the behavior anywhere else. The IOC contains a lot of custom code and I now tend to think that the reason for these oddities is to be found in how this particular IOC is implemented. I still would be happy to hear if there are any ideas where to start looking, but this does not look like an issue in the EPICS core, as I suspected for a while. Timo From: Core-talk <core-talk-bounces at aps.anl.gov> on behalf of EPICS Core Talk <core-talk at aps.anl.gov> Hi, Getting back to this old thread from May. I mentioned a “corner case” in our meeting yesterday. We have stumbled on that again, I think.
We saw a case where pvmonitor and camonitor show different values for the same record – unless we explicitly point pvmonitor to the VAL field. This matches with Andrew’s explanation below. I assume that waveform is one more of the “unusual” types? Timo From: Andrew Johnson <anj at anl.gov> Hi Timo, On 5/8/23 10:24 AM, Timo Korhonen via Core-talk wrote:
Ahh, yes puts to a record's VAL field will not (normally) result in a monitor being posted. The original assumption there was that when the record's process() routine is called it will update and post a monitor
on the VAL field anyway, and we wouldn't want there to be 2 monitor events resulting from that put. Thus the code in dbAccess that normally posts a monitor after updating a field value will skip that for the VAL field (as long as it is marked pp(TRUE) and
thus will trigger record processing). -- Complexity is free, it's Simplicity that takes work. |