After upgrading to Base 3.15.5, we are seeing what looks like
double-processing of a certain custom record type. It is from our
device support for Bira Ethernet Power Supply Controllers. The problem
is with this record:
record(longin, "ESB:BEND:2110:GainADCRaw")
{
field(DESC, "ADC Gain Raw Data")
field(ASG, "Internal")
field(DTYP, "EtherPSC")
field(INP, "#L0 N0 P0 S50 @172.27.248.43")
field(FLNK, "ESB:BEND:2110:GainADC.PROC")
}
When the IOC boots, the record has STAT: SCAN and SEVR: INVALID. If
we camonitor this record, it seems to be processed twice:
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:15.648796 529
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:15.648796 529 SCAN INVALID
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:16.549097 534
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:16.549097 534 SCAN INVALID
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:17.449359 543
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:17.449359 543 SCAN INVALID
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:18.349763 549
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:18.349763 549 SCAN INVALID
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:19.250071 551
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:19.250071 551 SCAN INVALID
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:20.150256 549
ESB:BEND:2110:GainADCRaw 2017-09-10 20:12:20.150256 549 SCAN INVALID
The double-processing explains the SCAN and INVALID states.
Here is the record processing routine from device support:
static void process_record_li( ETHERPSCNODE *node, int signal, long i )
{
PSCRECORD *PSCRecord;
struct longinRecord *pli;
struct rset *prset;
PSCRecord = &node->record[signal];
if ( ! (pli = (struct longinRecord*) PSCRecord->precord) ) return;
if ( pli->val != i || pli->udf || PSCRecord->nsta )
{
PSCRecord->nsta = NO_ALARM;
PSCRecord->val.li = i;
prset = (struct rset *) pli->rset;
dbScanLock( (struct dbCommon*) pli );
pli->pact = TRUE;
(*prset->process)( pli );
dbScanUnlock( (struct dbCommon*) pli );
}
}
I confirmed that this problem doesn't occur with Base 3.14.12.4. Does
anyone have any idea why this record would be processed twice with
Base-3.15?
Michael Dunning
SLAC National Accelerator Laboratory
2575 Sand Hill Road
Menlo Park, CA 94025
(650) 926-5200
- Replies:
- Re: Record processing twice after upgrading to Base 3.15.5 Andrew Johnson
- Navigate by Date:
- Prev:
Re: registerRecordDeviceDriver.pl takes a long time to finish Johnson, Andrew N.
- Next:
Re: Record processing twice after upgrading to Base 3.15.5 Andrew Johnson
- 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: registerRecordDeviceDriver.pl takes a long time to finish Andrew Johnson
- Next:
Re: Record processing twice after upgrading to Base 3.15.5 Andrew Johnson
- 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
|