Subject: |
Calcout using CA output link sometimes gets INVALID severity |
From: |
"J. Lewis Muir" <[email protected]> |
To: |
EPICS Tech Talk <[email protected]> |
Date: |
Thu, 11 Oct 2012 20:06:22 -0500 |
I've got a problem with a calcout record where, if I do a dbpf
after iocInit on an ao record that has a forward link to the
calcout record which in turn reads the ao record VAL field and
writes a calculated value to an ai record using a Channel Access
output link, sometimes the calcout record's SEVR field will be
INVALID, and it does not write the calculated value to the ai
record. This doesn't happen every time, but I can usually get
it to happen within 5 tries. If I change the output link type
from CA to PP, the problem goes away. Does anyone know what's
wrong?
To reproduce this, load the attached calcout-test.db into a
soft IOC like this:
dbLoadRecords("calcout-test.db", "P=ioc23:")
And immediately after iocInit do a dbpf like this:
dbpf("ioc23:Preset", "300.0")
Check the SEVR field from a Terminal like this:
$ caget ioc23:PresetHistoryAdd.SEVR
Check the calculated value from a Terminal like this:
$ caget -a ioc23:PresetHistory
Repeatedly stop and start the IOC until you succeed in
reproducing the problem.
Environment:
* Processor: 2.3 GHz Intel Core i7
* Memory: 8 GB
* OS: Mac OS X 10.8.2
* EPICS Base 3.14.12.2 (+ Known Problems patches)
Architecture: darwin-x86
OS Class: x86_64
Thanks,
Lewis
#
# If load this database and on the IOC console do a dbpf to $(P)Preset
# immediately after iocInit, sometimes $(P)PresetHistoryAdd.SEVR will be
# INVALID and $(P)PresetHistory will not get set to the value of $(P)Preset.
#
# Parameters:
# $(P) PV name prefix (e.g. "ioc23:")
#
record(ao, "$(P)Preset") {
field(FLNK, "$(P)PresetHistoryAdd")
}
record(calcout, "$(P)PresetHistoryAdd") {
field(INPA, "$(P)Preset.VAL NPPNMS")
field(CALC, "A")
field(OUT, "$(P)PresetHistory.VAL CA")
}
record(ai, "$(P)PresetHistory") {
}
- Replies:
- Re: Calcout using CA output link sometimes gets INVALID severity Andrew Johnson
- Navigate by Date:
- Prev:
Re: API to get list of record names Andrew Johnson
- Next:
Re: API to get list of record names 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: API to get list of record names Benjamin Franksen
- Next:
Re: Calcout using CA output link sometimes gets INVALID severity 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
|