EPICS Home

Experimental Physics and Industrial Control System


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

Subject: SIML type CA and PINI=YES issue
From: Ralph Lange <[email protected]>
To: EPICS Core Talk <[email protected]>
Date: Wed, 29 Nov 2017 15:55:04 +0100
Hi,

I found the reason for records with SIML of type CA and PINI=YES being LINK/INVALID after a reboot:

PINI=YES processing happens before the CA server is initialized. The SIML link does not get resolved during PINI phase process() and the record gets into LINK/INVALID.

Using SIML links of type CA is generally useful, as using DB links pulls all records pointing to the same sim switch record into the same lockset, and - depending on your application - that may be many. (Thousands in our case.)

A legal way out is setting PINI=RUNNING which processes the record after the CA server is up.
In our case this does not work, as we need the PINI processing (records write into the driver's buffer) to be done before interruptAccept (driver starts writing to the device).

What we plan to do is processing all records from the driver after the driver has written to the device, to reset the LINK/INVALID state. Seems like an ugly workaround, though.

Any better ideas? Check for CA being up (or interruptAccept?) when reading a CA type SIML as part of process()?

Thanks,
~Ralph


Replies:
Re: SIML type CA and PINI=YES issue Ralph Lange

Navigate by Date:
Prev: Re: git problem Mark Rivers
Next: Re: git problem Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: git problem J. Lewis Muir
Next: Re: SIML type CA and PINI=YES issue Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024