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  <20152016  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  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Making EPICS IOC admin tasks easier for end-users?
From: Ralph Lange <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Sun, 15 Mar 2015 21:11:03 +0100
Hi Andrew,

Yup - if you want to allow restarting through Channel Access, that's the way to do it. With the appropriate command line option, procServ will restart any child process that exits. On regular IOCs, devIocStats is a portable way to have CA execute a reset/exit. On your python IOCs, you will have to add one PV that calls exit() when it is written to. The minimum common PV that you can use to show the IOC is alive would be the PV you use to issue the reset. If you add the functionality to the python IOCs, that PV can be made common across all your IOCs.

Another option would be to use procServ's kill/restart command to restart the IOC. That does not need devIocStats or any addition to the python IOCs, but needs a bit more thought on the client side: The button will have to connect to the procServ session (using telnet or netcat) and send the restart control character. You would have to find a reliable way to to that (start with echoing the control character to netcat). Advantage: works with*any* child of procServ, not just IOCs. Disadvantages: you would still need a common PV to show the IOC is up, and the mechanism needs to be configured (IP and port for each IOC), while in the other case the reset PV name can be nice and generic, and you don't need to know the procServ ports.

Cheers,
~Ralph


On 15/03/2015 20:46, Andrew Gomella wrote:
Hi everyone,

For some context, we are constantly switching hardware in and out so we are constantly stopping/starting soft IOC's. Some of our users only use EPICS rarely, and I would like to be able to tell them (over the phone for instance) to "restart ______ IOC" without walking through a multi-step procedure.

Right now we can make it very easy for end users to start IOC's by using the "execute shell script" button on caqtdm (or MEDM). However, what I would like is a way for the end user to see which IOC's are running, and have a few simple buttons like start/stop to control them.

I was thinking of installing both procserv and devIocStats and using these together. (Though deviocstats won't work with several of our python channel access servers)

I was thinking a simple, not very elegant way, would be to choose some arbitrary PV from each given IOC and monitor that to determine whether to indicate to the end user whether the IOC is online.

Look forward to hearing any suggestions!

Thanks,
Andrew




Replies:
RE: Making EPICS IOC admin tasks easier for end-users? ulrik.pedersen
References:
Making EPICS IOC admin tasks easier for end-users? Andrew Gomella

Navigate by Date:
Prev: Making EPICS IOC admin tasks easier for end-users? Andrew Gomella
Next: Asyn record proccessing( read functions) during PINI=YES Patel Jignesh
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Making EPICS IOC admin tasks easier for end-users? Andrew Gomella
Next: RE: Making EPICS IOC admin tasks easier for end-users? ulrik.pedersen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·