EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: Re: pC_->doCallbacksEnum() coming too early
From: "Johnson, Andrew N. via Core-talk" <core-talk at aps.anl.gov>
To: Torsten Bögershausen <tboegi at edom.se>, "core-talk at aps.anl.gov" <core-talk at aps.anl.gov>
Date: Tue, 27 Feb 2024 18:40:31 +0000

Hi Torsten,

 

I assume this an Asyn port driver; what is triggering the I/O that results in your code doing that callback? The callback shouldn't happen until after the EPICS global interruptAccept is non-zero, any earlier than that and the IOC and records won't be ready for device support to call it. The asynPortDriver code looks like it ignores all such calls before then. If the code needs something to trigger that processing it could register an initHook and wait for the value initHookAfterInterruptAccept, which is only sent once (i.e. it doesn't get repeated if the IOC is paused), or for initHookAfterDatabaseRunning which is repeated after an IOC pause is rescinded.

 

HTH,

 

- Andrew

 

-- 

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

 

 

On 2/27/24, 10:38 AM, "Core-talk" <core-talk-bounces at aps.anl.gov> wrote:

 

Hej experts, I have an IOC that talks to a PLC-ish system. The PLC gives us some names for enmums, resulting in a call to pC_->doCallbacksEnum() However, most often the response from the PLC comes back to the IOC before the record has registered

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

 

ZjQcmQRYFpfptBannerEnd

Hej experts,
 
I have an IOC that talks to a PLC-ish system.
The PLC gives us some names for enmums, resulting in a call to
pC_->doCallbacksEnum()
 
However,  most often the response from the PLC comes back
to the IOC before the record has registered for the callback.
And the enums in the mbbi record are not updated.
 
Delaying the polling does work around this problem -
but is there a better solution ?
 

Replies:
RE: pC_->doCallbacksEnum() coming too early Mark Rivers via Core-talk
References:
pC_->doCallbacksEnum() coming too early Torsten Bögershausen via Core-talk

Navigate by Date:
Prev: pC_->doCallbacksEnum() coming too early Torsten Bögershausen via Core-talk
Next: RE: pvAccess assert error Mark Rivers via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
Navigate by Thread:
Prev: pC_->doCallbacksEnum() coming too early Torsten Bögershausen via Core-talk
Next: RE: pC_->doCallbacksEnum() coming too early Mark Rivers via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
ANJ, 27 Feb 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·