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: "Mark Rivers" <[email protected]>, "Dirk Zimoch" <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Thu, 25 Oct 2007 09:16:47 -0700
No, this did not fix the problem.  Here is what I get first with 1, then with 255 in the third argument...

-------------------------
#!../../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
## Register all support components
dbLoadDatabase("dbd/atest.dbd",0,0)
atest_registerRecordDeviceDriver(pdbbase)
vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
asynSetTraceMask( "L0",0,1)
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/10/25 09:08:49.526 L0 port not connected
2007/10/25 09:08:50.062 asynManager::asynConnectCallback, port L0 error calling
asynCommon->connect L0 addr 0 vxiConnect request but already connected

2007/10/25 09:08:50.083 AG:RFreq: asynError in write: L0 port is not connected

2007/10/25 09:08:50.083 AG:RFreq: @init handler failed
2007/10/25 09:08:50.083 AG:RFreq: Record initialization failed
2007/10/25 09:08:50.083 AG:WFreq: asynError in write: L0 port is not connected

2007/10/25 09:08:50.084 AG:WFreq: @init handler failed
2007/10/25 09:08:50.084 AG:WFreq: Record initialization failed
Bad init_rec return value  PV: AG:WFreq ao: init_record
iocInit: All initialization complete
epics> exit
zms@esaux1 $
zms@esaux1 $
zms@esaux1 $
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
## Register all support components
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)
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/10/25 09:09:52.303 L0 port not connected
2007/10/25 09:09:52.845 asynManager connect queueCallback port:L0
2007/10/25 09:09:52.845 L0 addr 0 vxiConnect
2007/10/25 09:09:52.845 asynManager::asynConnectCallback, port L0 error calling
asynCommon->connect L0 addr 0 vxiConnect request but already connected

2007/10/25 09:09:52.865 AG:RFreq: asynError in write: L0 port is not connected

2007/10/25 09:09:52.865 AG:RFreq: @init handler failed
2007/10/25 09:09:52.865 AG:RFreq: Record initialization failed
2007/10/25 09:09:52.865 AG:WFreq: asynError in write: L0 port is not connected

2007/10/25 09:09:52.865 AG:WFreq: @init handler failed
2007/10/25 09:09:52.865 AG:WFreq: Record initialization failed
Bad init_rec return value  PV: AG:WFreq ao: init_record
iocInit: All initialization complete
epics> 2007/10/25 09:10:02.868 AG:RFreq: asynError in write: L0 port is not conn
ected

exit 
----------------------------------------------
Thanks,
Zen




-----Original Message-----
From: Mark Rivers [mailto:[email protected]] 
Sent: Thursday, October 25, 2007 7:49 AM
To: Dirk Zimoch; Szalata, Zenon M.
Cc: EPICS tech-talk
Subject: RE: Stream device

Hi Zen,

Please try adding the asynSetTraceMask command to your st.cmd right after the vxi11Configure command.  

vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
asynSetTraceMask("LO",0,1)

That will force a connection to the controller before iocInit.  See if it helps.  If it does not help then change the line to:
asynSetTraceMask("LO",0,255)

so we can get a complete printout of what is happening.

Mark


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Dirk Zimoch
> Sent: Thursday, October 25, 2007 6:46 AM
> To: Szalata, Zenon M.
> Cc: EPICS tech-talk
> Subject: Re: Stream device
> 
> Hi Zen,
> 
> the @init handler runs during iocInit, to be exact during init_record. 
> Maybe the
> vxi11 has not yet connected by that time (when interruptAccept is 
> still 0). I have to check that. I only tested it with serial and TCP 
> ports so far.
> Unfortunately, not all asyn ports behave the same.
> 
> I have not time this week any more. I hope I can help you by the end 
> of next week.
> 
> Dirk
> 
> Szalata, Zenon M. wrote:
> > I am learning to use stream device to implement a soft IOC
> to control an Agilent 33220A waveform generator, which is attached to 
> an ICS 8065 Ethernet-GPIB controller.  I have a very simple program at 
> this point.  It consists of two
> records: ai and ao and a very simple protocol file.  I am unable to 
> use the @init{} command/handler.  Without the @init{} commented out 
> the program works as it should.  But when I uncomment either of the 
> two @init{} statements an error results. Here is the output:
> > ------------------------------
> > 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
> > ## Register all support components
> > dbLoadDatabase("dbd/atest.dbd",0,0)
> > atest_registerRecordDeviceDriver(pdbbase)
> > vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,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/10/24 18:21:44.742 L0 port not connected
> > 2007/10/24 18:21:45.307 AG:RFreq: asynError in write: L0
> port is not connected
> > 
> > 2007/10/24 18:21:45.308 AG:RFreq: @init handler failed
> > 2007/10/24 18:21:45.308 AG:RFreq: Record initialization failed
> > 2007/10/24 18:21:45.308 AG:WFreq: asynError in write: L0
> port is not connected
> > 
> > 2007/10/24 18:21:45.308 AG:WFreq: @init handler failed
> > 2007/10/24 18:21:45.308 AG:WFreq: Record initialization failed Bad 
> > init_rec return value  PV: AG:WFreq ao: init_record
> > iocInit: All initialization complete
> > epics> exit
> > ---------------------------------
> > Here is my atest.db:
> > 
> > ---------------------------------
> > 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") }
> > ---------------------------------
> > 
> > And atest.proto, shown here with both @init statements
> commented out:
> > 
> > ---------------------------------
> > # file: atest.proto
> > 
> > Terminator=LF;
> > 
> > #@init{ out " ";}
> > 
> > rFreq{
> >  out "FREQ?"; in "%f";
> > }
> > wFreq{
> >  out "FREQ %f";
> > # @init{ rFreq;}
> > }
> > -----------------------------------
> > 
> > Also here is atestApp/src/Makefile
> > 
> > -----------------------------------
> > TOP=../..
> > 
> > include $(TOP)/configure/CONFIG
> > #----------------------------------------
> > #  ADD MACRO DEFINITIONS AFTER THIS LINE 
> > #=============================
> > 
> > #=============================
> > # build an ioc application
> > 
> > PROD_IOC = atest
> > 
> > DBD += atest.dbd
> > # atest.dbd will be made up from these files:
> > atest_DBD += base.dbd
> > atest_DBD += atestSup.dbd
> > atest_DBD += stream.dbd
> > atest_DBD += asyn.dbd
> > atest_DBD += drvVxi11.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 += asyn
> > atest_LIBS += stream
> > #atest_LIBS += genSub
> > #atest_LIBS += calc
> > 
> > atest_LIBS += $(EPICS_BASE_IOC_LIBS)
> > 
> > #----------------------------------------
> > include $(TOP)/configure/RULES
> > #----------------------------------------
> > #  ADD RULES AFTER THIS LINE
> > ------------------------------------------
> > 
> > And contents of my atestSup.dbd:
> > 
> > ------------------------------------------
> > registrar( drvAsynIPPortRegisterCommands)
> > ------------------------------------------
> > 
> > When the @init statements are commented out, this is what I get:
> > 
> > -------------------------------------------
> > #!../../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
> > ## Register all support components
> > dbLoadDatabase("dbd/atest.dbd",0,0)
> > atest_registerRecordDeviceDriver(pdbbase)
> > vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,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
> > 
> ##############################################################
> ##############
> > iocInit: All initialization complete
> > epics> dbl
> > AG:RFreq
> > AG:WFreq
> > epics>
> > -------------------------------------------
> > And I can examine the value read in a very simple edm screen.
> > 
> > Sorry for such a lengthy note.  Thanks for helping, Zen
> > 
> > 
> 
> --
> Dr. Dirk Zimoch
> Paul Scherrer Institut, WBGB/006
> 5232 Villigen PSI, Switzerland
> Phone +41 56 310 5182
> 


Replies:
RE: Stream device Mark Rivers
RE: Stream device Mark Rivers
References:
Re: Stream device Dirk Zimoch
RE: Stream device Mark Rivers

Navigate by Date:
Prev: Re: building synApps on Win32-x86 Eric Norum
Next: RE: building synApps on Win32-x86 Mark Rivers
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 Mark Rivers
Next: RE: Stream device Mark Rivers
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 ·