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: Mimicking EVENT across IOCs
From: "Wang, Andrew via Tech-talk" <tech-talk at aps.anl.gov>
To: Maren Purves <m.purves at eaobservatory.org>, Andrew Johnson <anj at anl.gov>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 26 Jul 2022 23:10:50 +0000
Thank you guys!

-----Original Message-----
From: Maren Purves <m.purves at eaobservatory.org> 
Sent: Monday, July 25, 2022 12:00 PM
To: Andrew Johnson <anj at anl.gov>
Cc: Wang, Andrew <wang126 at llnl.gov>; EPICS tech-talk <tech-talk at aps.anl.gov>
Subject: Re: [EXTERNAL] Mimicking EVENT across IOCs

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

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
Re: [EXTERNAL] Mimicking EVENT across IOCs Maren Purves via Tech-talk

Navigate by Date:
Prev: RE: PINI field not working with modbus Mark Rivers via Tech-talk
Next: Retrieving record name from aSub input/output fields 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 
Navigate by Thread:
Prev: Re: [EXTERNAL] Mimicking EVENT across IOCs Maren Purves 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 
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 ·