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

Subject: RE: Processing a record a in loop
From: Mark Rivers <[email protected]>
To: David Michel <[email protected]>, EPICS mailing list <[email protected]>
Date: Wed, 3 Sep 2014 12:08:19 +0000
What is the maximum/typical time between when you send a query and receive a response?

You should be able to set the timeout to a value just longer than the maximum and then you can process the record with any fixed rate (1 seconds, 10 seconds, etc.).  The record will be busy (PACT=1) if the next scan interval happens before the reply from the previous one.  So it will not keep sending query messages, it will wait for a reply before proceeding.

What does your protocol file look like?  Is it a single query per response, etc.?

Mark

________________________________
From: [email protected] [[email protected]] on behalf of David Michel [[email protected]]
Sent: Wednesday, September 03, 2014 6:02 AM
To: EPICS mailing list
Subject: Processing a record a in loop


Hi All,

I'm using StreamDevice to talk to a custom device that doesn't support I/O interrupt so one has to keep sending commands to it to get status information.

Problem is that after a while (~ couple of hours), the device's buffer fills up and doesn't reply anymore. Increasing the ReplyTimeOut improves things slightly, but the problem still eventually occurs.

One potential solution would be to send the next command only once the previous one has returned in a loop (instead of using a set frequency).

Making the record FWD link to itself doesn't seem to do it... I started something using purely database trickery with a FANOUT record set with a fixed SCAN field and disabling it depending on whether the streamdevice record has finished processing or not... but it's getting messy

Is there an elegant way of doing this?

David






Replies:
Re: Processing a record a in loop David Michel
RE: Processing a record a in loop Dalesio, Leo
References:
Processing a record a in loop David Michel

Navigate by Date:
Prev: Who uses WAGO or Beckhoff PLCs for Equipment Protection Systems? Rekow Jens
Next: RE: synApps_5_7 build error on Windows 8.1 x64 Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Processing a record a in loop David Michel
Next: Re: Processing a record a in loop David Michel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·