EPICS Controls 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  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: "@init handler failed" , "Record initialization failed" and "No reply from device within 1000 ms"
From: 洪春霞 <[email protected]>
To: <[email protected]>
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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·