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: Maren Purves via Tech-talk <tech-talk at aps.anl.gov>
To: Andrew Johnson <anj at anl.gov>
Cc: "Wang, Andrew" <wang126 at llnl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Mon, 25 Jul 2022 09:00:14 -1000
On Mon, Jul 25, 2022 at 7:29 AM Andrew Johnson via Tech-talk
<tech-talk at aps.anl.gov> wrote:
>
> 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

While I had never heard of the event record until now, we have always
just used hardware inputs linking to the record where the
value/trigger comes from.

Maren

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

Navigate by Date:
Prev: StreamDevice issues (Genesys power supply, Moxa) Le, An via Tech-talk
Next: Delta Tau issue Mark Rivers 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 Andrew Johnson via Tech-talk
Next: RE: Mimicking EVENT across IOCs Wang, Andrew 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 ·