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  2016  2017  2018  2019  2020  2021  <20222023  2024  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] Mimicking EVENT across IOCs
From: Andrew Johnson via Tech-talk <tech-talk at aps.anl.gov>
To: "Wang, Andrew" <wang126 at llnl.gov>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Mon, 25 Jul 2022 12:28:46 -0500
Hi Andy,

On 7/25/22 9:49 AM, Hartman, Steven via Tech-talk wrote:
On Jul 24, 2022, at 6:42 PM, Wang, Andrew via Tech-talk <tech-talk at aps.anl.gov> wrote:

I am curious to know if anybody has found a good way to "replicate" event posting across IOCs. I am thinking about utilizing CPP flags, but not sure if that is a good solution.


If you can tolerate latency, each IOC can have its own event record. One IOC hosts a trigger record which can then use CA links to trigger processing of each of these event records (e.g. fanout, CP/CPP links, etc.). If you cannot tolerate the latency or need real-time performance, a hardware-based timing system is typical.

Assuming you're looking for the slower network-based path you can avoid having to create extra records for forward-linking to each replica IOC by having the replica records process automatically using a CPP link as you originally asked. Something as simple as this may work, although I haven't actually tested it:

record(event, "$(IOC)-local:event-$(EVENT)") {
  field(INP, "event-$(EVENT) CPP")
}


Note that the value of the EVENT macro doesn't have to match the actual event name/number, just the name of the record that it's replicating. It will get the event name/number from the VAL field of the originating record through the INP link. Using a CPP link like this would also be more efficient than forward-linking or fanouts if you have multiple IOCs that you're replicating the event to, since all the replicas get notified by the same CA monitor being posted, and the originating IOC doesn't need to know what other IOCs need to be notified either.

- Andrew
-- 
Complexity comes for free, Simplicity you have to work for.

Replies:
Re: [EXTERNAL] Mimicking EVENT across IOCs Maren Purves via Tech-talk
References:
Mimicking EVENT across IOCs Wang, Andrew via Tech-talk
Re: [EXTERNAL] Mimicking EVENT across IOCs Hartman, Steven via Tech-talk

Navigate by Date:
Prev: Re: [EXTERNAL] Mimicking EVENT across IOCs Hartman, Steven via Tech-talk
Next: Accelerator Controls Software Position At Fermilab Dennis J. Nicklaus via Tech-talk
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  <20222023  2024 
Navigate by Thread:
Prev: Re: [EXTERNAL] Mimicking EVENT across IOCs Hartman, Steven via Tech-talk
Next: Re: [EXTERNAL] Mimicking EVENT across IOCs Maren Purves via Tech-talk
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  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·