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: "Jeff Hill" <[email protected]>
To: "john sinclair" <[email protected]>, "tech talk" <[email protected]>
Date: Mon, 27 Aug 2001 09:21:41 -0600
John,

These mappings occur in your plug in for the CA server library
(in your CA server side tool). For example, the example server 
has the following ( see attached ). Your server may be based on the 
example server and therefore might have the same simplified mappings.

It would be nice to package some aspects of EPICS alarm management 
into a standalone module for use in concert with simple CA servers,
but this has not yet been done.

Jeff


//
// exPV::initFT()
//
void exPV::initFT()
{
    if ( exPV::hasBeenInitialized ) {
            return;
    }

    //
    // time stamp, status, and severity are extracted from the
    // GDD associated with the "value" application type.
    //
    exPV::ft.installReadFunc ("value", &exPV::getValue);
    exPV::ft.installReadFunc ("precision", &exPV::getPrecision);
    exPV::ft.installReadFunc ("graphicHigh", &exPV::getHighLimit);
    exPV::ft.installReadFunc ("graphicLow", &exPV::getLowLimit);
    exPV::ft.installReadFunc ("controlHigh", &exPV::getHighLimit);
    exPV::ft.installReadFunc ("controlLow", &exPV::getLowLimit);
    exPV::ft.installReadFunc ("alarmHigh", &exPV::getHighLimit);
    exPV::ft.installReadFunc ("alarmLow", &exPV::getLowLimit);
    exPV::ft.installReadFunc ("alarmHighWarning", &exPV::getHighLimit);
    exPV::ft.installReadFunc ("alarmLowWarning", &exPV::getLowLimit);
    exPV::ft.installReadFunc ("units", &exPV::getUnits);
    exPV::ft.installReadFunc ("enums", &exPV::getEnums);

    exPV::hasBeenInitialized = 1;
}

//
// exPV::getLowLimit()
//
caStatus exPV::getLowLimit(gdd &value)
{
    value.put(info.getLopr());
    return S_cas_success;
}

> -----Original Message-----
> From: john sinclair [mailto:[email protected]]
> Sent: Saturday, August 25, 2001 7:21 PM
> To: tech talk
> Subject: portable ca server
> 
> 
> 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?
> 
> 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: portable ca server john sinclair
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 
Navigate by Thread:
Prev: portable ca server john sinclair
Next: Re: portable ca server 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 
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 ·