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  <20202021  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  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CA output links not working with PINI=YES?
From: Benjamin Franksen via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Thu, 5 Mar 2020 19:16:08 +0100
Am 05.03.20 um 17:25 schrieb Ralph Lange via Tech-talk:
> When an IOC boots, it starts its components in a specific order.
> At the time when PINI=YES records are being processed, Channel Access is
> simply not fully up yet.
> 
> Note that for a while PINI has been a menu with different options. Maybe
> you can get your record processed in a later stage that way.

We looked into that and tried RUN and RUNNING but that didn't help.
Unfortunately there is no CA_READY state...

What we want to do here is write a string to an input link field once at
init time. Link fields can be written to only via CA, which is why we
have to use a CA link.

What would be required for a clean solution is some sort of notification
when the CA link is up and usable. I like Andrew's idea (mentioned in
the thread cited by Lewis): set the DTYP to "Async Soft Channel".
However, this doesn't work either. I think this is because trying to
write via an inoperational CA link does not trigger a callback; instead
the call to dbCaPutLinkCallback fails, so the device support returns the
status and does not set PACT.

A more reliable work-around than just waiting for some arbitrary amount
of time could be to monitor the severity + status of the record (with a
calcout) and trigger processing say every second until it is no longer
LINK/INVALID.

The "Async Soft Channel" support could do something like that
automatically if it sees dbCaPutLinkCallback failing. It could at least
do this once (or a fixed number of times) before ultimately failing.
That is, if dbCaPutLinkCallback fails, we set up a timed callback and
try again after a second or so, keeping the record in PACT state in the
meantime.

Cheers
Ben

Attachment: signature.asc
Description: OpenPGP digital signature


Replies:
Re: CA output links not working with PINI=YES? Johnson, Andrew N. via Tech-talk
References:
CA output links not working with PINI=YES? Christoph Schroeder via Tech-talk
Re: CA output links not working with PINI=YES? J. Lewis Muir via Tech-talk
Re: CA output links not working with PINI=YES? Christoph Schroeder via Tech-talk
Re: CA output links not working with PINI=YES? J. Lewis Muir via Tech-talk
Re: CA output links not working with PINI=YES? Ralph Lange via Tech-talk

Navigate by Date:
Prev: Re: CA output links not working with PINI=YES? Mark Rivers via Tech-talk
Next: Re: CA output links not working with PINI=YES? Johnson, Andrew N. 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CA output links not working with PINI=YES? Johnson, Andrew N. via Tech-talk
Next: Re: CA output links not working with PINI=YES? Johnson, Andrew N. 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  <20202021  2022  2023  2024 
ANJ, 05 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·