Experimental Physics and Industrial Control System
Hi:
While debugging some `seq` record setup I failed to get any updates on its VAL.
This is with R3.14.12.2
I use either 'caput' via the network or a 'dbpf' in the IOC shell to write to the record's VAL field.
The `seq` record would process as expected, going through its DLY1, DLY2 delays, writing to the LNK1, LNK2, … records.
A `camonitor` would only show the initial value, then never print any updates. When re-starting 'camonitor', it would show the then-current VAL, but again never show updates.
The reason seems to be inside src/rec/seqRecord.c :
static long asyncFinish(seqRecord *prec)
{
unsigned short MonitorMask;
if (seqRecDebug > 5)
printf("asyncFinish(%s) completing processing\n", prec->name);
prec->udf = FALSE;
MonitorMask = recGblResetAlarms(prec);
if (MonitorMask)
db_post_events(prec, &prec->val, MonitorMask);
--> The MonitorMask tends to be 0x0, except maybe when the alarm state of the record changes as from the initial UDF/UNDEFINED to the OK when processed the very first time.
Later, when VAL merely changes value, MonitorMask is 0x0 and thus no events are posted.
This probably hardly matters in the real world because the seq record is used for put-callback, nobody reads VAL from it.
In fact the record totally ignores VAL, you can write anything to VAL just to cause the record to process.
Still, that number in VAL may be useful for debugging your setup, in case you have different sources write to the VAL field, each with a unique number, but note that camonitor won't receive any updates.
The latest 3.15 code in bazar seems to also check
if (prec->seln != prec->oldn) {
db_post_events(prec, &prec->seln, events | DBE_VALUE | DBE_LOG);
so it should post monitors on SELL/SELN, but probably has the same behavior for VAL.
Thanks,
Kay
- Navigate by Date:
- Prev:
Comms issue with New Focus 8752 motor driver tim.hayton
- Next:
Re: Comms issue with New Focus 8752 motor driver Kevin Peterson
- 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: Comms issue with New Focus 8752 motor driver Mark Rivers
- Next:
EPICS Qt Framework Ricardo Fernandes
- 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