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  2012  2013  2014  2015  2016  <20172018  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  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Problems getting PI motors working
From: Mark Rivers <[email protected]>
To: 'Eric Norum' <[email protected]>, EPICS mailing list <[email protected]>
Date: Tue, 24 Oct 2017 17:52:36 +0000

That error about the int32 interface not being found is familiar.  It is usually a problem with the database file, where the wrong asyn port name is used in the motor record INP link.  It should be the port for the asynMotorController driver, i.e. PIE873_1 or PIE873_1 in your case.  But perhaps instead you have used the name of the underlying TCP port, i.e. pie873A or pie873B in your case?

 

Mark

 

 

From: Eric Norum [mailto:[email protected]]
Sent: Tuesday, October 24, 2017 12:48 PM
To: Mark Rivers; EPICS mailing list
Subject: Problems getting PI motors working

 

I have to admit that I find the EPICS motor record and associated drivers pretty much a black art.  I’m trying to get some PI motors running but I’m getting error messages and subsequent core dumps.  Below is the IOC startup and application Makefile.  The PI_GCS2_CreateController call seems to work fine, but then at record initialization time I get a report that the int32 interface can’t be found and then later on I get a core dump when some NULL pointers get dereferenced.   I suspect that I’m missing some ‘.dbd’ file in my application Makefile, but I don’t know how to figure out what.

Suggestions eagerly welcomed.

 

 

#!../../bin/linux-x86_64/piMotor

< envPaths

epicsEnvSet("ARCH","linux-x86_64")

epicsEnvSet("IOC","iocpiMotor")

epicsEnvSet("TOP","/home/als1/acct/enorum/tmp/piMotor")

epicsEnvSet("ASYN","/usr/local/epics/R3.14.12/modules/R3/soft/synApps_5_8/support/asyn4-28")

epicsEnvSet("MOTOR","/usr/local/epics/R3.14.12/modules/R3/soft/motor/motorR6-9")

epicsEnvSet("EPICS_BASE","/usr/local/epics/R3.14.12/base")

epicsEnvSet("IOC_INFO","/iocinfo")

## Register all support components

cd "/home/als1/acct/enorum/tmp/piMotor"

dbLoadDatabase "dbd/piMotor.dbd"

piMotor_registerRecordDeviceDriver pdbbase

#############################################################################

# PI piezzo motors

drvAsynIPPortConfigure("pie873A","131.243.201.111:50000", 0, 0, 0)

asynOctetSetInputEos("pie873A",0,"\n")

asynOctetSetOutputEos("pie873A",0,"\n")

asynSetTraceMask("pie873A", 0, 1)

asynSetTraceIOMask("pie873A", 0, 1)

# PI_GCS2_CreateController(

#  port name,

#  asyn port name,

#  num axes,

#  priority,

#  stackSize,

#  moving poll period (ms),

#  idle poll period (ms) )

PI_GCS2_CreateController("PIE873_1", "pie873A", 1, 0, 0, 200, 1000)

2017/10/24 10:41:44.931 read from pie873A: (c)2016 Physik Instrumente (PI) GmbH & Co. KG, E-873.1A1, 117011563, 02.012

PIasynAxis::PIasynAxis() 0: 1

drvAsynIPPortConfigure("pie873B","131.243.201.112:50000", 0, 0, 0)

asynOctetSetInputEos("pie873B",0,"\n")

asynOctetSetOutputEos("pie873B",0,"\n")

asynSetTraceMask("pie873B", 0, 1)

asynSetTraceIOMask("pie873B", 0, 1)

# PI_GCS2_CreateController(

#  port name,

#  asyn port name,

#  num axes,

#  priority,

#  stackSize,

#  moving poll period (ms),

#  idle poll period (ms) )

PI_GCS2_CreateController("PIE873_1", "pie873B", 1, 0, 0, 200, 1000)

2017/10/24 10:41:45.029 read from pie873B: (c)2016 Physik Instrumente (PI) GmbH & Co. KG, E-873.1A1, 117011567, 02.012

PIasynAxis::PIasynAxis() 0: 1

dbLoadRecords("db/PI_motor.db")

#############################################################################

# Start EPICS

cd /home/als1/acct/enorum/tmp/piMotor/iocBoot/iocpiMotor

iocInit

Starting iocInit

############################################################################

## EPICS R3.14.12.1 $Date: Tue 2011-04-26 15:36:19 -0500$

## EPICS Base built Sep  3 2013

############################################################################

2017/10/24 10:41:45.110 devMotorAsyn::init_record, PIE873:m1 find int32 interface failed

2017/10/24 10:41:45.110 devMotorAsyn::init_record, PIE873:m2 find int32 interface failed

Segmentation fault (core dumped)

 

 

 

And here’s my application Makefile:

TOP=../..

 

include $(TOP)/configure/CONFIG

#----------------------------------------

#  ADD MACRO DEFINITIONS AFTER THIS LINE

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

 

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

# Build the IOC application

 

PROD_IOC = piMotor

# piMotor.dbd will be created and installed

DBD += piMotor.dbd

 

# piMotor.dbd will be made up from these files:

piMotor_DBD += base.dbd

 

# Include dbd files from all support applications:

piMotor_DBD += asyn.dbd

piMotor_DBD += drvAsynIPPort.dbd

piMotor_DBD += motorSupport.dbd

piMotor_DBD += motorSimSupport.dbd

piMotor_DBD += PI_GCS2Support.dbd

 

# Add all the support libraries needed by this IOC

piMotor_LIBS += asyn

piMotor_LIBS += motor

piMotor_LIBS += motorSimSupport

piMotor_LIBS += PI_GCS2Support

 

# piMotor_registerRecordDeviceDriver.cpp derives from piMotor.dbd

piMotor_SRCS += piMotor_registerRecordDeviceDriver.cpp

 

# Build the main IOC entry point on workstation OSs.

piMotor_SRCS_DEFAULT += piMotorMain.cpp

piMotor_SRCS_vxWorks += -nil-

 

# Add support from base/src/vxWorks if needed

#piMotor_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary

 

# Finally link to the EPICS Base libraries

piMotor_LIBS += $(EPICS_BASE_IOC_LIBS)

 

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

 

include $(TOP)/configure/RULES

#----------------------------------------

#  ADD RULES AFTER THIS LINE

-- 
Eric Norum
[email protected]




 


Replies:
Re: Problems getting PI motors working Eric Norum
References:
Problems getting PI motors working Eric Norum

Navigate by Date:
Prev: Problems getting PI motors working Eric Norum
Next: Re: Problems getting PI motors working Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Problems getting PI motors working Eric Norum
Next: Re: Problems getting PI motors working Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·