g+
g+ Communities
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  <20122013  2014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
<== Date ==> <== Thread ==>

Subject: "@init handler failed" , "Record initialization failed" and "No reply from device within 1000 ms"
From: 洪春霞 <hongchunxia@sinap.ac.cn>
To: <tech-talk@aps.anl.gov>
Date: Thu, 24 May 2012 17:21:35 +0800
Title: "@init handler failed" ,"Record initialization failed" and "No reply from device within 1000 ms"

Hello,everyone.

Now I want to use StreamDevice and ASYN to create EPICS device support for a serial, and the serial device connected to Ethernet/Serial converters, the serial device is 9x Series Motor Controllers/Drivers(Net Controls, LLC).

My epics base is 3.14.8.2 and ASYN is 4-6 and StreamDevice-2-5 and CALC is 2-6-3. After I modify some files and the compile is ok, but when I run st.cmd in the host of linux-x86, there are some problems. The error message is as follows:

---------------------- error message -------------------------------------

[saxs@localhost iocserial]$ ./st.cmd
#!../../bin/linux-x86/serial
## You may have to change serial to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet(ARCH,"linux-x86")
epicsEnvSet(IOC,"iocserial")
epicsEnvSet(TOP,"/home/saxs/serial")
epicsEnvSet(SUPPORT,"/BLC/epics/synApps_5_2/support")
epicsEnvSet(ASYN,"/BLC/epics/synApps_5_2/support/asyn/4-6")
epicsEnvSet(CALC,"/BLC/epics/synApps_5_2/support/calc/2-6-3")
epicsEnvSet(STREAM,"/BLC/epics/synApps_5_2/support/stream-2-5")
epicsEnvSet(EPICS_BASE,"/BLC/epics/base")
cd /home/saxs/serial
## Register all support components
dbLoadDatabase("dbd/serial.dbd")
serial_registerRecordDeviceDriver(pdbbase)
epicsEnvSet("STREAM_PROTOCOL_PATH",".:../protocols")
drvAsynIPPortConfigure("MOXA1","192.168.127.254:4001",0,0,0)

asynSetTraceMask("MOXA1",0,255)
2012/05/24 16:14:12.091 MOXA1 -1 exceptionOccurred calling exceptionUser
But when asynSetTraceMask("MOXA1",0,1),there is no the error message.


## Load record instances
#dbLoadRecords("db/dbExample1.db","user=saxsHost")
#dbLoadRecords("db/dbExample2.db","user=saxsHost,no=1,scan=1 second")
#dbLoadRecords("db/dbExample2.db","user=saxsHost,no=2,scan=2 second")
#dbLoadRecords("db/dbExample2.db","user=saxsHost,no=3,scan=5 second")
#dbLoadRecords("db/dbSubExample.db","user=saxsHost")
dbLoadRecords("db/serial.db")
2012/05/24 16:14:12.092 asynManager connect queueCallback port:MOXA1
2012/05/24 16:14:12.092 Open connection to 192.168.127.254:4001
## Set this to see messages from mySub
#var mySubDebug 1
cd /home/saxs/serial/iocBoot/iocserial
iocInit()
Starting iocInit
############################################################################
###  EPICS IOC CORE built on Apr 24 2012
###  EPICS R3.14.8.2 $R3-14-8-2$ $2006/01/06 15:55:13$
############################################################################
2012/05/24 16:14:12.094 Opened connection to 192.168.127.254:4001
2012/05/24 16:14:12.094 MOXA1 -1 exceptionOccurred calling exceptionUser
2012/05/24 16:14:12.094 asynManager connect queueCallback port:MOXA1
2012/05/24 16:14:12.094 asynManager connect queueCallback port:MOXA1
2012/05/24 16:14:12.196 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:12.196 MOXA1 callback
2012/05/24 16:14:12.196 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:12.196 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:12.196 MOXA1 callback
2012/05/24 16:14:12.196 MOXA1 flush
2012/05/24 16:14:12.196 192.168.127.254:4001 flush
2012/05/24 16:14:12.196 MOXA1 get Eos 0
2012/05/24 16:14:12.196 MOXA1 set Eos 0
2012/05/24 16:14:12.196 192.168.127.254:4001 write.
2012/05/24 16:14:12.196 192.168.127.254:4001 write 11
2012/05/24 16:14:12.196 MOXA1 write
2012/05/24 16:14:12.197 MOXA1 set Eos 0
2012/05/24 16:14:12.197 MOXA1 addr -1 queueRequest priority 0 from lockHolder
2012/05/24 16:14:12.197 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:12.197 MOXA1 callback
2012/05/24 16:14:12.197 MOXA1 get Eos 0
2012/05/24 16:14:12.197 MOXA1 set Eos 2
2012/05/24 16:14:12.197 192.168.127.254:4001 read.


2012/05/24 16:14:13.196 MOXA1 MOXA1:setPosition: No reply from device within 1000 ms
2012/05/24 16:14:13.196 MOXA1 set Eos 0

2012/05/24 16:14:13.196 _main_ MOXA1:setPosition: @init handler failed
2012/05/24 16:14:13.196 _main_ MOXA1:setPosition: Record initialization failed
Bad init_rec return value  PV: MOXA1:setPosition ao: init_record
iocInit: All initialization complete
## Start any sequence programs
#seq sncExample,"user=saxsHost"


epics> 2012/05/24 16:14:15.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder


2012/05/24 16:14:15.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:15.200 MOXA1 callback
2012/05/24 16:14:15.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:15.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:15.200 MOXA1 callback
2012/05/24 16:14:15.200 MOXA1 flush
2012/05/24 16:14:15.200 192.168.127.254:4001 flush
2012/05/24 16:14:15.200 MOXA1 get Eos 0
2012/05/24 16:14:15.200 MOXA1 set Eos 0
2012/05/24 16:14:15.200 192.168.127.254:4001 write.
2012/05/24 16:14:15.200 192.168.127.254:4001 write 11
2012/05/24 16:14:15.200 MOXA1 write
2012/05/24 16:14:15.200 MOXA1 set Eos 0
2012/05/24 16:14:15.200 MOXA1 addr -1 queueRequest priority 0 from lockHolder
2012/05/24 16:14:15.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:15.200 MOXA1 callback
2012/05/24 16:14:15.201 MOXA1 get Eos 0
2012/05/24 16:14:15.201 MOXA1 set Eos 2
2012/05/24 16:14:15.201 192.168.127.254:4001 read.
2012/05/24 16:14:16.200 MOXA1 MOXA1:getPosition: No reply from device within 1000 ms
2012/05/24 16:14:16.200 MOXA1 set Eos 0
2012/05/24 16:14:17.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:17.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:17.200 MOXA1 callback
2012/05/24 16:14:17.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:17.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:17.200 MOXA1 callback
2012/05/24 16:14:17.200 MOXA1 flush
2012/05/24 16:14:17.200 192.168.127.254:4001 flush
2012/05/24 16:14:17.200 MOXA1 get Eos 0
2012/05/24 16:14:17.200 MOXA1 set Eos 0
2012/05/24 16:14:17.200 192.168.127.254:4001 write.
2012/05/24 16:14:17.200 192.168.127.254:4001 write 11
2012/05/24 16:14:17.200 MOXA1 write
2012/05/24 16:14:17.200 MOXA1 set Eos 0
2012/05/24 16:14:17.200 MOXA1 addr -1 queueRequest priority 0 from lockHolder
2012/05/24 16:14:17.201 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:17.201 MOXA1 callback
2012/05/24 16:14:17.201 MOXA1 get Eos 0
2012/05/24 16:14:17.201 MOXA1 set Eos 2
2012/05/24 16:14:17.201 192.168.127.254:4001 read.
2012/05/24 16:14:18.200 MOXA1 MOXA1:getPosition: No reply from device within 1000 ms
2012/05/24 16:14:18.200 MOXA1 set Eos 0
2012/05/24 16:14:19.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:19.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:19.200 MOXA1 callback
2012/05/24 16:14:19.200 MOXA1 addr -1 queueRequest priority 0 not lockHolder
2012/05/24 16:14:19.200 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:19.200 MOXA1 callback
2012/05/24 16:14:19.200 MOXA1 flush
2012/05/24 16:14:19.200 192.168.127.254:4001 flush
2012/05/24 16:14:19.200 MOXA1 get Eos 0
2012/05/24 16:14:19.200 MOXA1 set Eos 0
2012/05/24 16:14:19.200 192.168.127.254:4001 write.
2012/05/24 16:14:19.200 192.168.127.254:4001 write 11
2012/05/24 16:14:19.201 MOXA1 write
2012/05/24 16:14:19.201 MOXA1 set Eos 0
2012/05/24 16:14:19.201 MOXA1 addr -1 queueRequest priority 0 from lockHolder
2012/05/24 16:14:19.201 MOXA1 schedule queueRequest timeout
2012/05/24 16:14:19.201 MOXA1 callback
2012/05/24 16:14:19.201 MOXA1 get Eos 0
2012/05/24 16:14:19.201 MOXA1 set Eos 2
2012/05/24 16:14:19.201 192.168.127.254:4001 read.
2012/05/24 16:14:19.808 Close 192.168.127.254:4001 connection.
2012/05/24 16:14:19.808 MOXA1 -1 exceptionOccurred calling exceptionUser
2012/05/24 16:14:19.808 MOXA1 MOXA1:getPosition: connection closed in read
2012/05/24 16:14:19.808 MOXA1 MOXA1:getPosition: I/O error after reading 0 bytes: ""
2012/05/24 16:14:19.808 MOXA1 MOXA1:getPosition: Protocol aborted

Can anyone help with this problem please?

Thank you very much.

hongchunxia
===================================================
No.239 Zhangheng Road
PuDong District
Shanghai Institute of Applied Physics CAS
Shanghai, China



---------------------- serial.proto -------------------------------------
Terminator = CR LF;

getPosition{
             out "Position?";
             in "Position %f nm";
}

setPosition {
    out "Position %.2f";
    @init {
         out "Position?";
         in "Position %f nm";
    }
}


---------------------- serial.db -------------------------------------
record (ai, "MOXA1:getPosition")
{
    field (DESC, "get Position")
    field (DTYP, "stream")
    field (SCAN, "2 second")
    field (PREC, "3")
    field (INP,  "@serial.proto getPosition MOXA1")
    #field (DRVL, "-10000")
    #field (DRVH, "10000")
    field (EGU,  "nm")
}

record (ao, "MOXA1:setPosition")
{
    field (DESC, "set Position")
    field (DTYP, "stream")
    field (SCAN, "Passive")
    field (PREC, "3")
    field (OUT,  "@serial.proto setPosition MOXA1")
    #field (DRVL, "-10000")
    #field (DRVH, "10000")
    field (EGU,  "nm")
}


---------------------- serialApp/src/Makefile ---------------------------

TOP=../..

include $(TOP)/configure/CONFIG
#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================

#==================================================
# Build an IOC support library

LIBRARY_IOC += xxxSupport

# xxxRecord.h will be created from xxxRecord.dbd
DBDINC += xxxRecord
# install devXxxSoft.dbd into <top>/dbd
DBD += xxxSupport.dbd

# The following are compiled and added to the Support library
xxxSupport_SRCS += xxxRecord.c
xxxSupport_SRCS += devXxxSoft.c

xxxSupport_LIBS += $(EPICS_BASE_IOC_LIBS)

#=============================
# build an ioc application

PROD_IOC = serial
# serial.dbd will be created and installed
DBD += serial.dbd

# serial.dbd will be made up from these files:
serial_DBD += base.dbd
serial_DBD += xxxSupport.dbd
serial_DBD += dbSubExample.dbd
serial_DBD += serialHello.dbd

serial_DBD += stream.dbd
serial_DBD += asyn.dbd
serial_DBD += drvAsynIPPort.dbd

# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
serial_SRCS += serial_registerRecordDeviceDriver.cpp
serial_SRCS_DEFAULT += serialMain.cpp
serial_SRCS_vxWorks += -nil-

# Add locally compiled object code
serial_SRCS += dbSubExample.c
serial_SRCS += serialHello.c

# The following adds support from base/src/vxWorks
serial_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary

serial_LIBS += xxxSupport

serial_LIBS += stream
serial_LIBS += asyn

# NOTE: To build SNL programs, SNCSEQ must be defined
# in the <top>/configure/RELEASE file

ifneq ($(SNCSEQ),)
    # This builds sncExample as a component of serial
    serial_SNCFLAGS += +r
    serial_DBD += sncExample.dbd
    serial_SRCS += sncExample.stt
    serial_LIBS += seq pv

    # The following builds sncProgram as a standalone application
    PROD_HOST += sncProgram
    sncProgram_SNCFLAGS += +m
    sncProgram_SRCS += sncProgram.st
    sncProgram_LIBS += seq pv
    sncProgram_LIBS += $(EPICS_BASE_HOST_LIBS)
endif

serial_LIBS += $(EPICS_BASE_IOC_LIBS)

#===========================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE


Replies:
Re: "@init handler failed" , "Record initialization failed" and "No reply from device within 1000 ms" Dirk Zimoch
RE: "@init handler failed" , "Record initialization failed" and "No reply from device within 1000 ms" Mark Rivers

Navigate by Date:
Prev: Re: medm and Xming on Windows 7 64 bit Paul Sichta
Next: Announce: sequencer release 2.1.7 Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
Navigate by Thread:
Prev: Re: medm and Xming on Windows 7 64 bit Pavel Masloff
Next: Re: "@init handler failed" , "Record initialization failed" and "No reply from device within 1000 ms" Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·