EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  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  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Units request for stringin records
From: "Jeff Hill" <[email protected]>
To: "'Andrew Johnson'" <[email protected]>, <[email protected]>
Date: Fri, 19 Dec 2008 18:17:13 -0700
> ctx="read failed"
>
> I will admit that the error
> message leaves a lot to be desired though

As I recall the issues there were twofold.

1) The need to map from dbr_xxxx function error code space to ECA_XXX error code space, or an option in the protocol to pass back an error context string when there is a failure.

2) I also seem to recall, vaguely, that this particular db_get_field function didnât return a range of error codes worth mapping to ECA_XXX error code space, but perhaps this has changed or my memory isnât sufficiently clear.

I am in the midst of other tasks at the moment, but I should create a mantis entry so that this can be addressed in the future.

Jeff

> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Andrew Johnson
> Sent: Friday, December 19, 2008 4:23 PM
> To: [email protected]
> Subject: Re: Units request for stringin records
> 
> Hi John,
> 
> On Friday 19 December 2008 John Faucett wrote:
> > The stringin record for EPICS 3.13.7 does not respond to a request
> > for units (DBR_GR_SHORT).
> 
> > and then realized that 3.13.7 is the version of the client
> > application.   The IOC is running 3.13.4.
> 
> > After 3 seconds the request times out with
> >
> > CA.Client.Exception...............................................
> >      Warning: "Channel read request failed"
> >      Context: "op=0, channel=ABCDE, type=DBR_GR_SHORT, count=1,
> > ctx="read failed""
> >      Source File: ../getCopy.cpp line 82
> >      Current Time: Mon Dec 19 2008 14:22:41.375447000
> > ..................................................................
> 
> Your version number for the CA client still doesn't make sense, I think you
> mean 3.14.7.
> 
> I just tried the following with 3.14.10 versions of the IOC and caget
> program,
> which works just fine as long as the VAL field contains something that can
> be
> converted into a short:
> 
> tux% caget -d DBR_GR_SHORT mrk:stringinsyn
> mrk:stringinsyn
>     Data type:      DBR_GR_SHORT (native: DBF_STRING)
>     Element count:  1
>     Value:           3
>     Status:         NO_ALARM
>     Severity:       NO_ALARM
>     Units:
>     Lo disp limit:         0
>     Hi disp limit:         0
>     Lo alarm limit:        0
>     Lo warn limit:         0
>     Hi warn limit:         0
>     Hi alarm limit:        0
> 
> However it I make the VAL field something non-numeric, I get your error
> message:
> 
> tux% caput mrk:stringinsyn abcd
> Old : mrk:stringinsyn                3
> New : mrk:stringinsyn                abcd
> tux% caget -d DBR_GR_SHORT mrk:stringinsyn
> CA.Client.Exception...............................................
>     Warning: "Channel read request failed"
>     Context: "op=0, channel=mrk:stringinsyn, type=DBR_GR_SHORT, count=1,
> ctx="read failed""
>     Source File: ../getCopy.cpp line 86
>     Current Time: Fri Dec 19 2008 17:10:15.490387940
> ..................................................................
> Read operation timed out: some PV data was not read.
> mrk:stringinsyn
>     Data type:      DBR_GR_SHORT (native: DBF_STRING)
>     Element count:  1
>     Value:           0
>     Status:         NO_ALARM
>     Severity:       NO_ALARM
>     Units:
>     Lo disp limit:         0
>     Hi disp limit:         0
>     Lo alarm limit:        0
>     Lo warn limit:         0
>     Hi warn limit:         0
>     Hi alarm limit:        0
> 
> That this fails is quite reasonable since I'm asking the IOC to convert the
> string "abcd" into an integer; the issue is nothing to do with the fact
> that
> the stringin record doesn't support units.  I will admit that the error
> message leaves a lot to be desired though; please complain to Jeff Hill
> about
> that, it's his code generating the string.
> 
> Merry Christmas,
> 
> - Andrew
> --
> The best FOSS code is written to be read by other humans -- Harold Welte



References:
Units request for stringin records John Faucett
Re: Units request for stringin records Andrew Johnson

Navigate by Date:
Prev: Re: Units request for stringin records Andrew Johnson
Next: epics support for srs dg645. David Kline
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Units request for stringin records Andrew Johnson
Next: epics support for srs dg645. David Kline
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·