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  2025  2026  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  2025  2026 
<== Date ==> <== Thread ==>

Subject: RE: Optimal way to offer readback of PV from one IOC as a PV within another IOC
From: "Pearson, Matthew via Tech-talk" <[email protected]>
To: "Wlodek, Jakub" <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 18 May 2023 15:29:16 +0000

Hi Jakub,

 

The easiest way might be monitor the external PV using an ao record, then the same record can write it into the asynPortDriver (using a new float64 parameter reserved for that purpose). Something like:

 

record(ao, “$(P)$(R)_RemoteMonitor_1”) {

  field(OMSL, “closed_loop”)

  field(DOL, “$(REMOTE_PV_NAME_1) CP MS”)

  field(DTYP, "asynFloat64")

  field(OUT,  "@asyn($(PORT),$(ADDR))REMOTE_PARAM_1")

}

 

Where REMOTE_PARAM_1 is the driver name for the new float64 parameter.

 

Or, the same function could be done using a separate ai (for the monitor) and ao (for the driver write).

 

Then, in the driver the parameter can be read using the usual getDoubleParam function.

 

Cheers,

Matt

 

 

From: Tech-talk <[email protected]> On Behalf Of Wlodek, Jakub via Tech-talk
Sent: Thursday, May 18, 2023 11:10 AM
To: [email protected]
Subject: [EXTERNAL] Optimal way to offer readback of PV from one IOC as a PV within another IOC

 

Hi all,

 

Essentially the use case of this is that I have an IOC that aggregates some signals into a custom data structure and transmits the data live over a TCP/IP socket. Most of the signals are calculated within this IOC itself, but there are two additional ones that I'd like to include that are currently provided by another IOC. For context, the data aggregation IOC is an asynPortDriver, and both signals should be asynFloat64 ao readbacks. What would be the best way to do this? Camonitor/caget events within the readFloat64 method? Or some other solution?

 

Thanks,

Jakub

 

 


References:
Optimal way to offer readback of PV from one IOC as a PV within another IOC Wlodek, Jakub via Tech-talk

Navigate by Date:
Prev: RE: Optimal way to offer readback of PV from one IOC as a PV within another IOC Mark Rivers via Tech-talk
Next: Re: Shutting down channel access clients Andrew Johnson 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  2025  2026 
Navigate by Thread:
Prev: RE: Optimal way to offer readback of PV from one IOC as a PV within another IOC Mark Rivers via Tech-talk
Next: warning: multiple interrupt callbacks between processing when running testAsynPortDriverApp Wang, Lin 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  2025  2026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·