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: edm meter |
From: | "Jeff Hill" <[email protected]> |
To: | "'Andrew Johnson'" <[email protected]>, <[email protected]> |
Date: | Mon, 23 Aug 2010 14:38:25 -0600 |
Sorry didn’t read entire
thread. Ø In R3.14.11 we added a new CA subscription event type called
DBE_PROPERTY The correct approach from my
perspective, but possibly this will prove to be a bit too general of an event category as this feature
starts to be extensively used. Jeff Message
content: TSPA From: [email protected]
[mailto:[email protected]] On Behalf Of Andrew Johnson On Monday 23 August 2010 12:20:37
Till Straumann wrote: The problem with trying to update
those attributes with a monitor is that the IOC never posts an event when the
attribute value changes (changing HOPR or LOPR as Wes is looking for doesn't
mean that VAL changed or the record was processed, so a regular monitor
subscription doesn't do what he wants). The EDM client code *could* explicitly
monitor the HOPR and LOPR fields itself, but that would be embedding
record-specific knowledge into a CA client which then wouldn't work properly
with a non-IOC CA server. In R3.14.11 we added a new CA
subscription event type called DBE_PROPERTY (the others are DBE_ALARM,
DBE_VALUE and DBE_ARCHIVE) which the IOC will eventually post whenever an
attribute value changes. A CA client can therefore subscribe for DBE_PROPERTY events
from a channel using one of the DBR_GR_xxx types to get informed of these kinds
of changes. However currently DBE_PROPERTY
events only get generated when the menu strings of a mbbi or mbbo record are
changed; no other record types post DBE_PROPERTY events, and it's not a trivial
matter to add them. We will need to extend the DBD file format and probably
modify the record interface to do this properly. The point of adding DBE_PROPERTY
events now was to allow CA client programs to be modified to make use of this,
i.e. replace the ca_get_callback() of the DBR_GR_xxx data that they currently
do at connection time with a CA monitor of that same DBR_GR_xxx type for
DBE_PROPERTY updates. They will get one update whenever the channel
(re)connects to current IOCs, and in the future hopefully they'll get sent more
updates once we've added the necessary functionality to the IOC database code. - Andrew |