EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: Local CA out links broken during PINI
From: Ralph Lange <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: EPICS Core Talk <[email protected]>
Date: Fri, 20 Feb 2009 10:51:43 +0100
Good points.

I didn't think about external CA links, though.
As nowadays using CA/CP links is the only way to link records without forcing them into the same lock set, it's a pity that this doesn't work for PINI processing.

Idea: Why not introduce an additional PINI sweep, and change the PINI field to be a three-option choice? "NO", "YES", "UP": NO and YES yield the classical behaviour, while "UP" puts the record into the second PINI phase, that runs *after* the CA client and server are started (I.e., when the IOC is UP). Should be compatible, shouldn't break existing stuff, allows CA/CP in PINI processing.

For the Redundant IOC , it has the interesting side effect that you can select if the record should be processed at boot time, or after the IOC has become active. (If the IOC switches back and forth between active and inactive, would UP records be processed whenever it gets active? Do we need to distinguish between "Once UP" and "Whenever UP"?)

Ralph


On 18.02.2009 16:59 Andrew Johnson wrote:
On Wednesday 18 February 2009 06:56:57 Ralph Lange wrote:
This sounds like a fix could be feasible and/or an issue on Andrew's
list, doesn't it?

Unfortunately I just realized that doing so would break the Redundant IOC interface. Those xxxRun() calls are in iocRun() whereas the initialProcess() call is in iocBuild(), so in a redundant IOC the PINI processing happens at start-up but the CA links don't get connected until the redundancy executive says "go" (which could be weeks or even months later). I'm not sure if the initialProcess() call could/should be moved, but doing so would change the meaning of some of our initHooks.

The other thing that worries me is that I think the act of connecting up the CA links probably also enables any CP or CPP input links to start processing, so it's possible that they could pre-empt the PINI processing (especially if they're pointing at an external IOC which is already running).

- Andrew


Replies:
Re: Local CA out links broken during PINI Schoeneburg, Bernd
Re: Local CA out links broken during PINI Andrew Johnson
Re: Local CA out links broken during PINI Tim Mooney
References:
Re: Local CA out links broken during PINI Ralph Lange
Re: Local CA out links broken during PINI Andrew Johnson

Navigate by Date:
Prev: Re: Ideas for Codeathon Marty Kraimer
Next: Re: Local CA out links broken during PINI Schoeneburg, Bernd
Index: 2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Local CA out links broken during PINI Andrew Johnson
Next: Re: Local CA out links broken during PINI Schoeneburg, Bernd
Index: 2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024