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  <20212022  2023  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  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Testing EPICS link status
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: Iain Marcuson <iain.marcuson at sydortechnologies.com>
Cc: EPICS Tech-Talk <tech-talk at aps.anl.gov>
Date: Fri, 14 May 2021 12:24:05 +0000
If I understand correctly you are sure that the SDEPICSLinkStatus parameter is being set to 0 when it should be, but the corresponding EPICS PV is not zero? If so then perhaps you are not calling callParamCallabacks()?

Mark

Sent from my iPhone

On May 13, 2021, at 12:58 PM, Iain Marcuson via Tech-talk <tech-talk at aps.anl.gov> wrote:


In my AreaDetector setup I have EPICS <-> Middle Layer <-> Camera.  I need to report on the link status between EPICS and the middle layer (EPICS link), and between the middle layer and the camera (camera link).  For the camera link, I have a polling EPICS PV to query the middle layer for the camera link status, and this works.  For the EPICS link, my thought was to use the polled query’s status as an indication of the EPICS link status e.g. through a return value of the asyn write of asynDisconnected, as shown in the code below:

if ((asynDisconnected == ret) || (asynTimeout == ret)) //Assume link down
    {
      setIntegerParam(SDEPICSLinkStatus, 0);
    }
  else if (ret != -1) //Assume link up, but don't change status if variable not found
    {
      setIntegerParam(SDEPICSLinkStatus, 1);
    }

I have verified that I get a return value of asynDisconnected, but the EPICS link status is never set to zero.  The else clause does execute and set the PV to 1, so the PV and asyn seem to be programmed right.  Is there a connection issue I am missing, org should I just use dbNameToAddr() or similar to set the value to zero, as opposed to going through asyn?

Thank you,

Iain Marcuson
Software Engineer, Sydor Technologies
585.278.1168 | www.SydorTechnologies.com<http://www.SydorTechnologies.com>
Skype: iain.marcuson at sydorinstruments.com




This message has been scanned for malware by Forcepoint. www.forcepoint.com<http://www.forcepoint.com/>

Replies:
Re: Testing EPICS link status Mark Rivers via Tech-talk
References:
Testing EPICS link status Iain Marcuson via Tech-talk

Navigate by Date:
Prev: Re: Is there any "Getting started" or HOWTO for EPICS 7? Marty Kraimer via Tech-talk
Next: Re: Testing EPICS link status 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  <20212022  2023  2024 
Navigate by Thread:
Prev: Testing EPICS link status Iain Marcuson via Tech-talk
Next: Re: Testing EPICS link status 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  <20212022  2023  2024 
ANJ, 14 May 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·