> I've got a situation where I need to cause a PV to process when a second
> PV makes a transition in one direction. In otherwords, I need to fire
> PV1 when PV2 changes state 1->0, but not on the 0->1 change. If it matters,
> PV1 is a BO to a GPIB device. A particularly ugly GPIB device, at that.
>
> I'm sure I've seen this done (short of writing a state machine in SNL),
> but it escapes me. Probably just another case of "Berkeley Brain Rot."
>
> Anyhow, suggestions, comments, flames, etc. appreciated.
>
>
> Disclaimer: Any opinions are my own and have | -bill
> nothing to do with the official policy or the | [email protected]
> management of L.B.L, who probably couldn't | Berkeley, CA
> care less about employees who play with trains. | aka [email protected]
I can think of two ways ...
Use a CALC record and utilize the LA, LB, LC, ... fields that tell you
the previous value of an input. An edge could be detected as (A&!B) where
A points to PV1 and B points to the CALC_RECORD.LA .
OR, you could use a WAIT record which is much like a CALC record but has
"conditional" processing of an output link. One of the conditions is when
the result of the calculation changes from 1->0. BE CAREFUL ! The input
links on a WAIT record are NOT PV LINKS (until 3.13, that is). They are
raw text strings that indicate the PV name, which can change during
run time.
Have fun ...
Ned
- Navigate by Date:
- Prev:
"Edge sensitive" record processsing. Bill Brown
- Next:
Re: "Edge sensitive" record processsing. S. Joshua Stein
- 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:
"Edge sensitive" record processsing. Bill Brown
- Next:
Re: "Edge sensitive" record processsing. S. Joshua Stein
- 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
|