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: Does camonitor update when the record processes? |
From: | "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Wang, Andrew" <wang126 at llnl.gov> |
Cc: | EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Fri, 29 Oct 2021 16:25:35 +0000 |
Hi Andy,
On Oct 29, 2021, at 2:19 AM, Wang, Andrew via Tech-talk <tech-talk at aps.anl.gov> wrote:
EPICS was designed to minimize the bandwidth needed by the control system, so whether you get sent a monitor or not depends on the record type and the record’s settings. Most standard record types use a dead-band filter on their VAL field which lets the
database designer determine when to send out monitors, based on the contents of the record’s MDEL field. MDEL defaults to 0, which means that the VAL field must have changed after record processing for it to send out a monitor update, and for clients like
display managers that’s what you want, there’s no point updating a widget on the screen if its value hasn’t changed.
If the record represents a reading from a fast ADC which was noisy though you might set MDEL to a positive number, in which case the value would have to change by at least that amount before it would send another update. In your case above you could set
MDEL to any negative value (most people use -1) which will cause it to send out monitors on VAL every time the record processes, even if the value hasn’t changed at all.
Setting TPRO results in a message on the IOC’s console when the record (or any record processed by it that is connected to it using a DB link) gets processed, so the fact that it has processed can’t be seen remotely. If you’re only interested in that for
debugging purposes and you’re watching the console TPRO is a good solution as it doesn’t send out extra monitor events.
Using MDEL affects all clients monitoring the record, which you may or may not want if the record appears on many different display screens. TPRO has limited visibility (console connections only). Thus these are different solutions for different situations.
The timestamp that comes with the monitor is the time that the record was processed, as read by the IOC (so if the IOC is running on an embedded system its OS clock needs to be accurate enough for your purposes).
HTH,
- Andrew
--
Complexity comes for free, simplicity you have to work for.
|