EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  <20012002  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  <20012002  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: portable ca server
From: john sinclair <[email protected]>
To: tech talk <[email protected]>
Date: Tue, 28 Aug 2001 16:22:06 -0400 (EDT)
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  <20012002  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  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·