Hi:
> On Jan 13, 2016, at 5:53 PM, Lingyun Yang <[email protected]> wrote:
> Is there anyway skip updating any/some of the output PVs in the aSub routine ?
In general, EPICS records are for data-flow type of processing. They always process their outputs or forward links.
The one big exception is the calcout record where the OOPT field allows you to select if/when the output is written.
You can quite flexibly use the calcout record’s CALC field to compute _if_ you want to write an output, and then use the OCAL field to compute _what_ to write.
The scan-disable fields can also influence processing of records.
This is certainly a matter of preference, but personally I also prefer using the calcout record for such “process-if-..” type of logic because it’s more flexible.
Anything with DISA/DISV usually requires comments in the database to explain what you’re trying to do, while calcout record logic is more straight forward:
# If input A goes above 5, write 13 to Some record
record(calcout, …
field (CALC, “A>5”)
field(OOPT, "Transition to Non-zero”)
field(OCAL, “13”)
field(OUT, “SomeRecord PP”)
Try expressing that with a bunch of CALC, AO records and DISA/DISV logic..
Thanks,
Kay
- References:
- Skip updating an output link in aSub ? Lingyun Yang
- Navigate by Date:
- Prev:
Re: Device Support for I2C and GPIO Florian Feldbauer
- Next:
RE: Device Support for I2C and GPIO Mark Rivers
- 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: Skip updating an output link in aSub ? Michael Davidsaver
- Next:
Re: Skip updating an output link in aSub ? Priller, John
- 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
|