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  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Monitoring whether an IP device is connected or not
From: Dohn Arms <[email protected]>
To: <[email protected]>
Date: Tue, 25 Feb 2014 14:04:45 -0600
Hi David,

I've written an EPICS record for doing something similar.  Every ten seconds (or whatever the SCAN rate it), it sends a UDP packet to a specified address and port.  This packet contains a heartbeat counter, boot time (recorded at record initialization, used as unique incarnation identifier), current time, and IOC name.  The IP address is gotten from the packet itself.  On the remote server, the UDP packets are collected by a daemon into a database to monitor the IOCs.

The record is running on over 40 beamline IOCs here at the APS (about half of what is planned).  I plan on releasing this record and support code soon, but am still refining a few things (there are a few more features I didn't describe).

Dohn

On 02/25/2014 06:22 AM, David Michel wrote:
Hi All,

I have a device with an IP (i.e. a computer on the network which then talks to other devices, but we'd like to treat it as a black box) and I'd like to be able to do a "pulse check" from an IOC running on another machine to detect whether it's still running or not.

Just as a quick test, I wrote a quick C function that performs a 'ping' and hooked that up to an aSub record. That works fine but, as you can imagine, it's obviously very slow and keeps the device busy responding to ping calls all the time, so it's not very practical at all.... there must be a better way!

Now, EPICS itself does this pulsecheck somehow as can be observed when shutting down an IOC where others IOCs that depend on it will rather quickly notify of this connection loss on the iocshell, or with OPIs screens suddenly showing widgets as disconnected.

Wondering how this is done and how I can apply it to my case. Any ideas most welcome.

Thanks
David



References:
Monitoring whether an IP device is connected or not David Michel

Navigate by Date:
Prev: RE: Store long strings in EPICS record. Mark Rivers
Next: Re: Fwd: epics base with MinGW-w64 Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Monitoring whether an IP device is connected or not David Michel
Next: Re: Monitoring whether an IP device is connected or not David Michel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·