EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Skip updating an output link in aSub ?
From: "Kasemir, Kay" <[email protected]>
To: Lingyun Yang <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Thu, 14 Jan 2016 14:00:33 +0000
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  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·