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  2022  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: Process aSub record on arrival of data
From: Andrew Johnson via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Thu, 27 Jul 2023 14:23:35 -0500
Hi Matt,

On 7/27/23 1:33 PM, Matt Rippa via Tech-talk wrote:
I have 2 aSub records: Tx on IOC  A and Rx on IOC B.
IOC A and B are on different machines on my network.

I want Tx to send an array to Rx over CA (or PVA). Once the data arrives is there a stock method to trigger Rx to process? IIUC, using the CPP attribute in Tx.OUTA will not cause the Rx to process since these records are on different IOC's. I'm using another OUT link in Tx to write to Rx.PROC.

Is that the most efficient way to do this?
The standard and most efficient way would be to have RX.INPA be a CA link to the TX.VALA field with the CPP link flag set, then every time TX updates its VALA field the CA monitor event will update the RX.A array and process that record immediately. If you want to make that processing conditional there are a couple of different ways to do that, but that's a different question for a different email.

HTH,

- Andrew


I know there's history to this and the genSub record at Gemini has been customized to process on the arrival of data to certain input fields. I'm trying to accomplish that in an aSub.

Example below
EPICS 7 latest build from github.
Linux Rocky 8

Thanks!
-Matt

===========IOC A==============
 record(aSub,"test:TX") {
       field(SNAM,"transmitter")
       field(NOVA, "5")
       field(OUTA, "test:RX.A NPP NMS")
       field(OUTB, "test:RX.PROC NPP NMS")
   }

===========IOC B==============
record(aSub,"test:RX") {
      field(NOA, "5")
}




-- 
Complexity is free, it's Simplicity that takes work.

Replies:
Re: Process aSub record on arrival of data Ralph Lange via Tech-talk
References:
Process aSub record on arrival of data Matt Rippa via Tech-talk

Navigate by Date:
Prev: Re: [EXTERNAL] Re: Best Site to Download Latest Version of Phoebus Charles Merrill Jenkins via Tech-talk
Next: Re: [EXTERNAL] Re: Best Site to Download Latest Version of Phoebus Charles Merrill Jenkins 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  2022  <20232024 
Navigate by Thread:
Prev: Process aSub record on arrival of data Matt Rippa via Tech-talk
Next: Re: Process aSub record on arrival of data Ralph Lange 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  2022  <20232024 
ANJ, 27 Jul 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·