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: Stream device - general concept how to use
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: 'Ralph Lange' <ralph.lange at gmx.de>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 16 Jul 2020 17:07:38 +0000

 

Ø  Or just set all SCAN fields to the same value. Why do you need this to be linked?

 

In my experience the advantage of linking is that then you can expose the SCAN field of a single record in the OPI and the scan rate of all records is changed.

 

Ø  I am still wondering why there is nothing foreseen to get prompt execution of a record (and its protocol) once its read via caget (prior
to returning the result).

 

caget does not cause a record to process, it just reads the current value of the record.  That is by design.  If you want to process the record you can write to the .PROC field, and then do a caget.

 

Note that there are alternative ways of talking to devices besides StreamDevice.  If you write a driver (for example using the asynPortDriver class) then it can be polling very fast.  You can set your record to have SCAN=I/O Intr and it will process “immediately” when the readback changes, even if that readback change was not due to a “set” operation.

 

Mark

 

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Ralph Lange via Tech-talk
Sent: Thursday, July 16, 2020 11:31 AM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: Stream device - general concept how to use

 

On Thu, 16 Jul 2020 at 17:56, Christian Pauly via Tech-talk <tech-talk at aps.anl.gov> wrote:

[...]
Connecting all the get-records together via forward-links sounds a bit
unpractical for maintenance.
Maybe then its better to use a single (or nested if one is not enough)
Fanout records for regular scanning of all status-records ?

 

Soft event scanning is your friend for such cases. No fanouts needed.

Or just set all SCAN fields to the same value. Why do you need this to be linked?

 

I am still wondering why there is nothing foreseen to get prompt
execution of a record (and its protocol) once its read via caget (prior
to returning the result).
This would be similar to the PP ProcessPassive flag mechanism when using
input links.

 

Your record processes asynchronously. The PP mechanism on input links does the same thing as Channel Access: return the current value. Your input link causes the record to process, but always returns the old value.

Asynchronous processing can take any time between pretty fast and never to complete. Waiting that long is not acceptable in database processing (and not nice for a CA client).

 

Cheers,
~Ralph

 


References:
Stream device - general concept how to use Christian Pauly via Tech-talk
Re: Stream device - general concept how to use Mark Rivers via Tech-talk
Re: Stream device - general concept how to use Arnold, Ned D. via Tech-talk
Re: Stream device - general concept how to use Christian Pauly via Tech-talk
Re: Stream device - general concept how to use Ralph Lange via Tech-talk

Navigate by Date:
Prev: Re: Stream device - general concept how to use Ralph Lange via Tech-talk
Next: Re: Pure Python IOC (CAProcess issue) Michael Davidsaver 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: Stream device - general concept how to use Ralph Lange via Tech-talk
Next: Re: Stream device - general concept how to use Konrad, Martin 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, 16 Jul 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·