Marty Kraimer wrote:
>
> Benjamin Franksen wrote:
> >
> > the Record Reference Manual states that UDF field may be modified and
> > even is PP. However, whenever I put some value (1) to UDF field of a
> > passive soft ao record (in order to indicate that the record's value is
> > undefined now), the record's status / severity do not become UDF_ALARM,
> > INVALID_ALARM but remain whatever they are. Subsequent queries of the
> > UDF field give the value 0 insted of 1, although no writes to the VAL
> > field happen in between.
> >
> > Using a dbLink with PP property gives the same results.
> >
> > Looking at aoRecord.c and even dbAccess.c, I found no reason for this.
>
> This should work. I tried it on soft records and it works just fine.
>
> The test database is
>
> record(ao,"mrkjunk")
> {
> }
> record(ao,"mrkjunk1")
> {
> field(OUT,"mrkjunk.UDF PP")
> }
>
> The test is
> epics> dbpr "mrkjunk"
> ASG: DESC: DISA: 0 DISP: 0
> DISV: 1 NAME: mrkjunk OMOD: 0 OVAL: 1
> RBV: 0 RVAL: 1 SEVR: NO_ALARM STAT: NO_ALARM
> TPRO: 0 VAL: 1
> epics> dbpf "mrkjunk1","1"
> DBR_DOUBLE: 1
> epics> dbpr "mrkjunk"
> ASG: DESC: DISA: 0 DISP: 0
> DISV: 1 NAME: mrkjunk OMOD: 0 OVAL: 1
> RBV: 0 RVAL: 1 SEVR: INVALID STAT: UDF
> TPRO: 0 VAL: 1
>
> Question. What device support is attached to your ao record?
> Note that record support only checks the ufd field after it calls device
> support.
> Does your device support set ufd 0?
I use Soft Channel (the default), just like you did. Adding exactly the
same database and test calls to my test IOC I get this:
iocTESTIOC1C> dbgf "mrkjunk1.OUT"
DBR_STRING: mrkjunk.UDF PP NMS
iocTESTIOC1C> dbpf "mrkjunk","0"
DBR_DOUBLE: 0
iocTESTIOC1C> dbpr "mrkjunk"
ASG: DESC: DISA: 0 DISP:
0
DISV: 1 NAME: mrkjunk OMOD: 0 OVAL:
0
RBV: 0 RVAL: 0 SEVR: NO_ALARM STAT:
NO_ALARM
TPRO: 0 VAL: 0
iocTESTIOC1C> dbpf "mrkjunk1","1"
DBR_DOUBLE: 1
iocTESTIOC1C> dbpr "mrkjunk"
ASG: DESC: DISA: 0 DISP:
0
DISV: 1 NAME: mrkjunk OMOD: 0 OVAL:
0
RBV: 0 RVAL: 0 SEVR: NO_ALARM STAT:
NO_ALARM
TPRO: 0 VAL: 0
iocTESTIOC1C> dbgf "mrkjunk.UDF"
DBR_UCHAR: 0 0x0
My record does *not* become UDF/INVALID and UDF field is not set to 1.
Rest of the IOC works just fine. Strange. BTW, EPICS Release is 3.13.2.
No error messages during dbLoadXYZ or iocInit.
Ben
- References:
- put to UDF Benjamin Franksen
- Re: put to UDF Marty Kraimer
- Navigate by Date:
- Prev:
Re: put to UDF Marty Kraimer
- Next:
Re: put to UDF / summary Benjamin Franksen
- 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: put to UDF Marty Kraimer
- Next:
Re: put to UDF / summary Benjamin Franksen
- 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
|