EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Stream device
From: "Szalata, Zenon M." <[email protected]>
To: "Dirk Zimoch" <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Wed, 7 Nov 2007 07:58:33 -0800
Hi Dirk,
My test application now works after the new file you provided was installed.  Thanks a million, I am happy now.  I will now add all the @init calls to my full size application and hopefully all will work just as well.  Thanks again,
Zen 

-----Original Message-----
From: Dirk Zimoch [mailto:[email protected]] 
Sent: Wednesday, November 07, 2007 4:50 AM
To: Szalata, Zenon M.
Cc: Mark Rivers; EPICS tech-talk
Subject: Re: Stream device

Hello Zenon,

please try the attached version of AsynDriverInterface.cc with StreamDevice version 2.3.

I changed the location of the asynCommon->connect call. For me, that helped.

Dirk

Szalata, Zenon M. wrote:
> Hi Mark, Dirk,
> I built my test application (btest) against SLAC/LCLS EPICS R3.14.8.2, asyn 4.7, and streamdevice 2.2. Still get the following even with asynSetTraceMask( "L0",8,0):
> 
> -----------------------------
> #!../../bin/linux-x86/atest
> < envPaths
> epicsEnvSet(ARCH,"linux-x86")
> epicsEnvSet(IOC,"iocbtest")
> epicsEnvSet(TOP,"/afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/btest")
> epicsEnvSet(EPICS_SITE_TOP,"/nfs/slac/g/lcls/build/epics")
> epicsEnvSet(ASYN,"/nfs/slac/g/lcls/build/epics/modules/asyn/asyn-R4-7-
> 1-lcls2") 
> epicsEnvSet(STRM,"/nfs/slac/g/lcls/build/epics/modules/streamdevice/st
> reamdevice
> -R2-2-lcls2")
> epicsEnvSet(EPICS_BASE,"/nfs/slac/g/lcls/build/epics/base/base-R3-14-8
> -2-lcls2") epicsEnvSet( "STREAM_PROTOCOL_PATH","../../btestApp/Db:.")
> cd /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/btest
> dbLoadDatabase("dbd/btest.dbd",0,0)
> btest_registerRecordDeviceDriver(pdbbase)
> vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
> #asynSetTraceMask( "L0",0,255)
> asynSetTraceMask( "L0",8,0)
> dbLoadRecords("db/btest.db","P=AG:,L=0,A=8")
> cd 
> /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/btest/iocBoot/iocbtest
> iocInit()
> Starting iocInit
> ######################################################################
> ###### ###  EPICS IOC CORE built on Oct 30 2007 ###  EPICS 
> R3.14.8.2-LCLS_2 $R3-14-8-2$ $2006/01/06 15:55:13$ 
> ######################################################################
> ######
> 2007/11/06 20:06:48.372 AG:WFreq: asynError in write: L0 port is not 
> connected
> 
> 2007/11/06 20:06:48.372 AG:WFreq: @init handler failed
> 2007/11/06 20:06:48.372 AG:WFreq: Record initialization failed Bad 
> init_rec return value  PV: AG:WFreq ao: init_record
> iocInit: All initialization complete
> epics> exit
> zms@esaux1 $
> ---------------------------------
> So, it is not my installation of these three software packages.  What is it?  I also ran btest with the asynSetTraceMask commented out and got exactly the same errors.
> Any help is greatly appreciated.  Thanks, Zen
> 
> -----Original Message-----
> From: Mark Rivers [mailto:[email protected]]
> Sent: Monday, November 05, 2007 10:38 AM
> To: Szalata, Zenon M.; Dirk Zimoch
> Cc: EPICS tech-talk
> Subject: RE: Stream device
> 
> Dirk wrote:
> 
>> I tried to do some debugging with the asynTrace facility and found
> that the problem
>> disappears as soon as I call asynSetTraceMask, even with a 0 mask! 
> 
> That is because the asynSetTraceMask causes a call to
> asynCommon->connect.  I had suggested this earlier to Zen.  However, I
> see that you used an asyn "address" of 8, while I was suggesting 0.
> Zen, are you sure you tried adding the asynSetTraceMask with the subaddress that your @init device is actually using?  
> 
> Mark
> 
> 
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Szalata, Zenon M.
>> Sent: Monday, November 05, 2007 12:11 PM
>> To: Dirk Zimoch
>> Cc: EPICS tech-talk
>> Subject: RE: Stream device
>>
>> Hi Dirk,
>> Unfortunately this does not solve my problem.  I am using epics
>> R3.14.9 and asyn 4-9.  This is the output I get with my simple test 
>> soft IOC:
>>
>> -------------------------------------
>> zms@esaux1 $ ../../bin/linux-x86/atest st.cmd 
>> #!../../bin/linux-x86/atest < envPaths
>> epicsEnvSet(ARCH,"linux-x86")
>> epicsEnvSet(IOC,"iocagwfg")
>> epicsEnvSet(TOP,"/afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest"
>> )
>> epicsEnvSet(ASYN,"/afs/slac/g/esa/ilc/epics/modules/asyn/4-9")
>> epicsEnvSet(STRM,"/afs/slac/g/esa/ilc/epics/modules/streamdevice-2-3"
>> )
>> epicsEnvSet(EPICS_BASE,"/afs/slac/g/esa/ilc/epics/base/R3-14-9-ilc1")
>> epicsEnvSet( "STREAM_PROTOCOL_PATH","../../atestApp/Db:.")
>> cd /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest
>> dbLoadDatabase("dbd/atest.dbd",0,0)
>> atest_registerRecordDeviceDriver(pdbbase)
>> vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
>> #asynSetTraceMask( "L0",0,255)
>> asynSetTraceMask( "L0",8,0)
>> dbLoadRecords("db/atest.db","P=AG:")
>> cd
>> /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest/iocBoot/iocagwfg
>> iocInit()
>> Starting iocInit
>> ##############################################################
>> ##############
>> ## EPICS R3.14.9-lcls1 $R3-14-9$ $2007/02/05 16:31:45$ ## EPICS Base 
>> built Oct  2 2007 
>> ##############################################################
>> ##############
>> 2007/11/05 09:51:13.140 AG:WFreq: asynError in write: L0 port is not 
>> connected
>>
>> 2007/11/05 09:51:13.141 AG:WFreq: @init handler failed
>> 2007/11/05 09:51:13.141 AG:WFreq: Record initialization failed Bad 
>> init_rec return value  PV: AG:WFreq ao: init_record
>> iocInit: All initialization complete
>> epics> 2007/11/05 09:51:23.143 AG:RFreq: asynError in write: 
>> L0 port is not conn
>> ected
>>
>> exit
>> zms@esaux1 $
>> ---------------------------------------
>>
>> Here are my atest.db and atest.proto files:
>> ---------------------------------------
>> record( ai,"$(P)RFreq"){
>>   field( DESC, "read frequency")
>>   field( DTYP, "stream")
>>   field( SCAN, "10 second")
>>   field( PREC, "2")
>>   field( EGU,  "Hz")
>>   field( INP,  "@atest.proto rFreq L0 8") } record( ao,"$(P)WFreq"){
>>   field( DESC, "write frequency")
>>   field( DTYP, "stream")
>>   field( SCAN, "Passive")
>>   field( PREC, "2")
>>   field( EGU,  "Hz")
>>   field( OUT,  "@atest.proto wFreq L0 8") }
>>
>> # file: atest.proto
>>
>> Terminator=LF;
>>
>> rFreq{ out "FREQ?"; in "%f";}
>> wFreq{ out "FREQ %f"; @init{ rFreq;}}
>> ---------------------------------------------
>>
>> Here is the tail end of constructed atest.dbd file:
>> ---------------------------
>> device(waveform,INST_IO,asynFloat64ArrayWfOut,"asynFloat64ArrayOut")
>> device(asyn,INST_IO,asynRecordDevice,"asynRecordDevice")
>> driver(stream)
>> driver(drvAsyn)
>> registrar(asSub)
>> registrar(streamRegistrar)
>> registrar(asynRegister)
>> registrar(asynInterposeFlushRegister)
>> registrar(asynInterposeEosRegister)
>> registrar(vxi11RegisterCommands)
>> registrar(drvAsynIPPortRegisterCommands)
>> registrar(drvAsynSerialPortRegisterCommands)
>> variable(asCaDebug,int)
>> variable(dbRecordsOnceOnly,int)
>> variable(dbBptNotMonotonic,int)
>> variable(streamDebug,int)
>> ----------------------------------
>>
>> And finally, her is atestApp/src/Makefile:
>> -----------------------------------
>> TOP=../..
>>
>> include $(TOP)/configure/CONFIG
>>
>> PROD_IOC = atest
>>
>> DBD += atest.dbd
>> atest_DBD += base.dbd
>> atest_DBD += stream.dbd
>> atest_DBD += asyn.dbd
>> atest_DBD += drvVxi11.dbd
>> atest_DBD += atestSup.dbd
>>
>> # <name>_registerRecordDeviceDriver.cpp will be created from 
>> <name>.dbd atest_SRCS += atest_registerRecordDeviceDriver.cpp
>> atest_SRCS_DEFAULT += atestMain.cpp
>> atest_SRCS_vxWorks += -nil-
>>
>> #The following adds support from base/src/vxWorks atest_OBJS_vxWorks
>> += $(EPICS_BASE_BIN)/vxComLibrary
>>
>> #add a definition for each support application used by this 
>> application atest_LIBS += stream atest_LIBS += asyn
>>
>> atest_LIBS += $(EPICS_BASE_IOC_LIBS)
>>
>> include $(TOP)/configure/RULES
>> ---------------------------------
>>
>> Are you using earlier versions of Epics or asyn?  If you are using 
>> the same version of these two packages, am I missing something in my 
>> Makefile or some other files?
>> Thanks for helping,
>> Zen
>>
>> -----Original Message-----
>> From: Dirk Zimoch [mailto:[email protected]]
>> Sent: Monday, November 05, 2007 5:59 AM
>> To: Szalata, Zenon M.
>> Subject: Re: Stream device
>>
>> Hello Zen,
>>
>> I tested @init handlers with several devices today. I found that TCP 
>> ports as well as serial ports work as expected. The problem only 
>> occurs with vxi11 ports.
>>
>> However, I got different error messages:
>>
>> --------------------------------------------------------------
>> 2007/11/05 13:57:32.057 gpib0,8 vxiCreateDeviceLink RPC error
>> : RPC: Timed out
>>
>> 2007/11/05 13:57:32.058 L0 vxiCreateDevLink failed for addr 8
>> 2007/11/05 13:57:32.058 asynManager::asynConnectCallback, port L0 
>> error calling
>> asynCommon->connect
>> 2007/11/05 13:57:36.067 L0 vxi11 clientCall errno 0 clnt_stat
>> 5 L0 vxiBusStatus RPC error : RPC: Timed out
>>
>> 2007/11/05 13:57:36.067 L0 asynGpib:srqPoll srqStatus error timeout
>> 2007/11/05 13:57:40.077 L0 vxi11 clientIoCall errno 0 clnt_stat 5
>> 2007/11/05 13:57:40.077 DZ:cmd: asynError in write: L0 RPC failed
>>
>> 2007/11/05 13:57:40.078 DZ:cmd: @init handler failed
>> 2007/11/05 13:57:40.078 DZ:cmd: Record initialization failed
>> ----------------------------------------------------------------
>>
>> StreamDevice error messages start with "asynError in write: 
>> L0 RPC failed". All above is drvVxi11 or asynManager.
>>
>> I tried to do some debugging with the asynTrace facility and found 
>> that the problem disappears as soon as I call asynSetTraceMask, even 
>> with a 0 mask!
>>
>> Thus try this in your startup script:
>>
>> ...
>> vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
>> asynSetTraceMask ("L0",8,0)
>> ...
>>
>> However, I still have not the slightest idea what goes wrong in the
>> vxi11 driver.
>>
>>
>> I Hope this helps.
>>
>> Dirk
>>
>>
> 

--
Dr. Dirk Zimoch
Paul Scherrer Institut, WBGB/006
5232 Villigen PSI, Switzerland
Phone +41 56 310 5182


Replies:
Re: Stream device Dirk Zimoch
References:
RE: Stream device Szalata, Zenon M.
RE: Stream device Mark Rivers
RE: Stream device Szalata, Zenon M.
Re: Stream device Dirk Zimoch

Navigate by Date:
Prev: RE: synchronizing data to an event Jeff Hill
Next: Re: synchronizing data to an event Till Straumann
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Stream device Dirk Zimoch
Next: Re: Stream device Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·