In case anyone is interested...
On Sat, 25 Aug 2001, john sinclair wrote:
> I noticed that my ca server does not respond properly when a
> ca_get_callback is called using DBR_GR_??? or DBR_CTRL_???, i.e. I don't
> send warning and alarm limits back properly. Instead, lower
> warning and alarm limits are populated by values for lopr.
> Upper limits get hopr. What do I do to fix this behavior?
In my caServer derived class, I had copied the following from
an example server:
(for a double PV)
.
.
.
serialServer::ft_anaRecPV.installReadFunc ("graphicHigh",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("graphicLow",
&anaRecPV::getLowLimit);
serialServer::ft_anaRecPV.installReadFunc ("controlHigh",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("controlLow",
&anaRecPV::getLowLimit);
serialServer::ft_anaRecPV.installReadFunc ("alarmHigh",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("alarmLow",
&anaRecPV::getLowLimit);
serialServer::ft_anaRecPV.installReadFunc ("alarmHighWarning",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("alarmLowWarning",
&anaRecPV::getLowLimit);
.
.
.
I needed to add functions to my myCasPV derived class to get
the high & low alarms and warnings and then relace the above
references appropriately.
So I added (for the double PV)
gddAppFuncTableStatus anaRecPV::getHighAlarm ( gdd &value );
gddAppFuncTableStatus anaRecPV::getLowAlarm ( gdd &value );
gddAppFuncTableStatus anaRecPV::getHighWarning ( gdd &value );
gddAppFuncTableStatus anaRecPV::getLowWarning ( gdd &value );
and the previous references became
.
.
.
serialServer::ft_anaRecPV.installReadFunc ("graphicHigh",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("graphicLow",
&anaRecPV::getLowLimit);
serialServer::ft_anaRecPV.installReadFunc ("controlHigh",
&anaRecPV::getHighLimit);
serialServer::ft_anaRecPV.installReadFunc ("controlLow",
&anaRecPV::getLowLimit);
serialServer::ft_anaRecPV.installReadFunc ("alarmHigh",
&anaRecPV::getHighAlarm);
serialServer::ft_anaRecPV.installReadFunc ("alarmLow",
&anaRecPV::getLowAlarm);
serialServer::ft_anaRecPV.installReadFunc ("alarmHighWarning",
&anaRecPV::getHighWarning);
serialServer::ft_anaRecPV.installReadFunc ("alarmLowWarning",
&anaRecPV::getLowWarning);
.
.
.
Everything now works nicely. Thanks to all who replied.
John Sinclair
[email protected]
Oak Ridge National Lab
865-576-6362 865-574-1268 (fax)
- References:
- portable ca server john sinclair
- Navigate by Date:
- Prev:
RE: Image capture Jeff Hill
- Next:
Alarm handler john sinclair
- 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
- Navigate by Thread:
- Prev:
RE: portable ca server Jeff Hill
- Next:
Re: portable ca server Kay-Uwe Kasemir
- 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
|