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 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> 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: [asyn] link already open! |
From: | Mark Rivers <[email protected]> |
To: | "'Pavel Maslov'" <[email protected]>, EPICS Tech Talk <[email protected]> |
Date: | Fri, 9 Aug 2013 17:49:41 +0000 |
OK, I have no experience with dynamically loading the EPICS libraries. Since the asynRecord works to talk to the device, my first guess is that asyn is not the problem, so perhaps the problem lies with StreamDevice. StreamDevice is written
in C++, while asyn is written in C. Perhaps there is a problem with constructors/initialization in StreamDevice when it is loaded dynamically. Hopefully Dirk can help with that. Mark From: Pavel Maslov [mailto:[email protected]]
Mark, I cannot do anything to StreamDevice records - I mean I can caget and caput, but everytime they get processed - those error messages pop up. And the PVs are invalid all the time never change values. This said, I can talk to my Java
Simulator using asynrecord: dbpf lambda1-ps:asyn.AOUT "*idn?" , and I get the response. No problem. So it's StreamDevice that produces these errors (as you pointed out). Also, I don't think that my Java Simulator is slow. I tried your solution to lengthen the auto connect time but the problem still
remains. What I am confident in, though, (sorry for not telling this before) is that it has to do with the fact that I am loading asyn+streamdevice support module dynamically (from iocsh). When I use it the normal EPICS way - everything is fine as it should be.
-- On Fri, Aug 9, 2013 at 4:14 PM, Mark Rivers <[email protected]> wrote: You have created the port with autoconnect disabled. Thus, I expect the error message that says that queueRequest failed, because the port is not connected. But then asynReport says that the port is connected. This must be because StreamDevice
connected it? But once it is connected then your StreamDevice records should work correctly. Do they? If you force an input or output record to process does it work? Subject: Re: [asyn] link already open! Hi Mark! Port 127.0.0.1:7001<http://127.0.0.1:7001>: Connected fd: 9 On Fri, Aug 9, 2013 at 3:16 PM, Mark Rivers <[email protected]<mailto:[email protected]>> wrote: From: [email protected]<mailto:[email protected]> [[email protected]<mailto:[email protected]>]
on behalf of Pavel Maslov [[email protected]<mailto:[email protected]>] Sent: Friday, August 09, 2013 4:20 AM 2013/08/09 11:03:11.051131 lambda1 lambda-ps:CURR:MAX:RBV: pasynCommon->connect() failed:
127.0.0.1:7001<http://127.0.0.1:7001><http://127.0.0.1:7001>: Link already open! 2013/08/09 11:03:11.052968 lambda1 lambda-ps:CURR:MAX:RBV: Protocol aborted |