EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: gateway enum writes
From: "Leicester, PJ \(Pete\)" <[email protected]>
To: "Tim Mooney" <[email protected]>
Cc: <[email protected]>
Date: Wed, 29 Mar 2006 10:20:07 +0100
I can confirm that the problem appears isolated to the scaler record CNT
field and not enums in general. 

It looks like Tim's ca_put_callback theory may be correct. Is there a
Gateway expert out there who can confirm this? How are writes done from
the Gateway. Does it always use ca_put_callback regardless of how the
put reached the gateway?

Thanks for everyones responses on this.

Pete Leicester
Diamond

-----Original Message-----
From: Tim Mooney [mailto:[email protected]] 
Sent: 28 March 2006 21:07
To: Leicester, PJ (Pete)
Cc: [email protected]
Subject: Re: gateway enum writes


Leicester, PJ (Pete) wrote:
> I am getting some strange behaviour when writing enumerations through
> the Gateway (version 2.0.0.0 on 3.14.8.2 and RedHat Enterprise 4).
>  
> The problem first showed itself in edm when pressing a button on a edm
> screen to send the value resulted in the following error:
>  
>     CA.Client.Exception...............................................
>         Warning: "Virtual circuit unresponsive"
>         Context: "diamrs0005l.diamond.ac.uk:6064"
>         Source File: ../tcpiiu.cpp line 896
>         Current Time: Tue Mar 28 2006 16:19:01.334736000
>     ..................................................................
>  
> I did some further tests using caput with similar results:
>  
>     [pjl45@pc0005 pjl45]$ caput  -w15 GDA:scaler2.CNT Count
>     Old : GDA:scaler2.CNT                Done
>     Read operation timed out: PV data was not read.
>     New : GDA:scaler2.CNT
>     CA.Client.Exception...............................................
>         Warning: "Virtual circuit disconnect"
>         Context: "op=0, channel=GDA:scaler2.CNT, type=DBR_TIME_STRING,
> count=1, ctx="diamrs0005l.diamond.ac.uk:6064""
>         Source File: ../getCopy.cpp line 82
>         Current Time: Tue Mar 28 2006 17:04:24.488496000
> .
> Despite the above error message the write does actually reach the IOC.
> However if I now try the change the value back as follows:
>  
>     [pjl45@pc0005 pjl45]$ caput  -w15 GDA:scaler2.CNT Done
>     Old : GDA:scaler2.CNT                Count
>     Read operation timed out: PV data was not read.
>     New : GDA:scaler2.CNT
>     CA.Client.Exception...............................................
>         Warning: "Virtual circuit disconnect"
>         Context: "op=0, channel=GDA:scaler2.CNT, type=DBR_TIME_STRING,
> count=1, ctx="diamrs0005l.diamond.ac.uk:6064""
>         Source File: ../getCopy.cpp line 82
>         Current Time: Tue Mar 28 2006 17:22:36.167980000
>     ..................................................................
>  
> I get an error again however this time the 'Done' value gets written 
> to
> the IOC exactly ONE MINUTE after I entered the caput command. This is 
> long after the caput command has timed out so it appears the gateway
is 
> responsible for the delay?
>  
> Has anyone any idea what may be happening? Is there a 60 second 
> timeout
> in CA or the gateway which may give a clue as to what I am seeing?
>  
> (For the record this test was done with a very lightly loaded test
> gateway serving only 20 or so PV's. Also using caput -w70 results in
the 
> same timeouts)

Do you get this kind of result with *all* enum fields that you write to
through the gateway, or only this one?  The scaler record's CNT field is
different from other enum's in that it starts an operation that may take
a long time to complete.  I don't know what the gateway is using to do
put's, but if it should happen to be ca_put_callback(), the gateway may
be waiting for a callback that will come only after the scaler has
finished counting.

-- 
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab



Replies:
Re: gateway enum writes Dirk Zimoch

Navigate by Date:
Prev: Re: gateway enum writes Tim Mooney
Next: Re: gateway enum writes Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: gateway enum writes Tim Mooney
Next: Re: gateway enum writes Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·