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  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Listen to multiple events
From: Korhonen Timo <[email protected]>
To: Dehong Zhang <[email protected]>
Cc: [email protected]
Date: Tue, 18 Mar 2008 13:09:46 +0100
Allison, Stephanie wrote:
Hi Dehong,

Can one EPICS record listen to more than one event? If yes, how could set it up?

An alternative method to the forward links is to use the "soft" event scan.
For that, Stephanie's example would need the following modification:

the VAL field of the event records define the soft event number that is dispatched. They should be
set to the same number. The ai record could then look like this:


record(ai, "Test:RecordToProcessOnEvent1or2") {
field(SCAN, "Event")
field(EVNT, "1") #EVNT is the soft event number


...other ai fields here...
}

This way you do not have to FLNK to each record, and there are also other possibilities
to dispatch the events, like from a calcout record (using OEVT and OOPT). Usually this is
much more flexible method for the applications.


(One point to note: if you need deterministic (real-time) behaviour, the PRIO field
of the records should be set to HIGH.)



best regards,


Timo
Do you mean can one record be processed on different events? If that is what you mean, then you could FLNK to the record from both event records. For instance, if I have 2 EVR event records (for EVR card 0), I could FLNK to the same record from both of them like this:

record(event, "Test:Event1") {
  field(DTYP, "MRF Event Receiver")
  field(INP, "#C0 S1 @")
  field(SCAN, "I/O Intr")
  field(VAL, "1")
  field(FLNK, "Test:RecordToProcessOnEvent1or2")
}
record(event, "Test:Event2") {
  field(DTYP, "MRF Event Receiver")
  field(INP, "#C0 S2 @")
  field(SCAN, "I/O Intr")
  field(VAL, "2")
  field(FLNK, "Test:RecordToProcessOnEvent1or2")
}
record(ai, "Test:RecordToProcessOnEvent1or2") {
  field(SCAN, "Passive")
...other ai fields here...
}

Stephanie Allison





--
Timo Korhonen PSI (Paul Scherrer Institut, http://www.psi.ch) CH-5232 Villigen PSI tel + 41- 56 3103262 fax + 41 - 56 310 3383 e-mail: [email protected]



Replies:
Re: Listen to multiple events Emmanuel Mayssat
References:
Listen to multiple events Dehong Zhang
RE: Listen to multiple events Allison, Stephanie

Navigate by Date:
Prev: Re: Memory Problem related to CA? Schoeneburg, Bernd
Next: RE: Memory Problem related to CA? Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Listen to multiple events Allison, Stephanie
Next: Re: Listen to multiple events Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·