Forwarding because Reply All doesn't work and I forgot to add tech-talk. Grrrr.
________________________________
From: Mark Rivers
Sent: Thursday, November 29, 2018 6:09 AM
To: 孙天啸
Subject: Re: Problems with using PI E-712 controller
> 2018/11/29 16:06:48.453 PIasynController: unknown controller type e712: (C)2015 PHYSIK INSTRUMENTE (PI) GMBH & CO. KG, E-712, 117071883, 14.00.12.00
The error message you are seeing is misleading, due to an error in PIasynController.cpp. It contains these lines:
m_pGCSController = PIGCSController::CreateGCSController(pInterface, inputBuff);
if (NULL == m_pGCSController)
{
asynPrint(pAsynCom, ASYN_TRACE_ERROR|ASYN_TRACE_FLOW,
"PIasynController: unknown controller type %s: %s\n",
asynPort, inputBuff);
return;
}
So it is reporting the asynPort as the controller type, not the actual controller type. But this error means that PIGCSController::CreateGCSController failed and returned null. This is that code:
/**
* create instance of GCS controller depending on identification (\a szIDN)
*/
PIGCSController* PIGCSController::CreateGCSController(PIInterface* pInterface, const char* szIDN)
{
if ( strstr(szIDN, "C-663") != NULL
|| strstr(szIDN, "C-863") != NULL
|| strstr(szIDN, "C-867") != NULL
|| strstr(szIDN, "C-884") != NULL
|| strstr(szIDN, "E-861") != NULL
|| strstr(szIDN, "E-871") != NULL
|| strstr(szIDN, "E-873") != NULL
)
{
return new PIGCSMotorController(pInterface, szIDN);
}
else if ( strstr(szIDN, "E-517") != NULL)
{
return new PIE517Controller(pInterface, szIDN);
}
else if ( strstr(szIDN, "E-753") != NULL
|| strstr(szIDN, "E-709") != NULL
|| strstr(szIDN, "E-712") != NULL
|| strstr(szIDN, "E-725") != NULL
|| strstr(szIDN, "E-727") != NULL
)
{
return new PIGCSPiezoController(pInterface, szIDN);
}
else if ( strstr(szIDN, "E-755") != NULL)
{
return new PIE755Controller(pInterface, szIDN);
}
else if ( strstr(szIDN, "C-702") != NULL)
{
return new PIC702Controller(pInterface, szIDN);
}
else if ( strstr(szIDN, "HEXAPOD") != NULL
|| strstr(szIDN, "F-HEX") != NULL
|| strstr(szIDN, "F-206") != NULL
|| strstr(szIDN, "M-8") != NULL
|| strstr(szIDN, "C-887") != NULL
)
{
if (IsGCS2(pInterface))
{
return new PIGCS2_HexapodController(pInterface, szIDN);
}
else
{
return new PIHexapodController(pInterface, szIDN);
}
}
else
{
return NULL;
}
}
Note that the szIDN string error message you see does include the string E-712 so it should have returned:
return new PIGCSPiezoController(pInterface, szIDN);
For some reason that is failing. You will need to debug to figure out why, I can't spot the problem. The constructors for PIGCSPiezoController and its base class are very simple, and do not throw exceptions that I can see.
Mark
________________________________
From: [email protected] <[email protected]> on behalf of 孙天啸 via Tech-talk <[email protected]>
Sent: Thursday, November 29, 2018 2:41 AM
To: [email protected]
Subject: Problems with using PI E-712 controller
Hi,
I used the PIGCS2Src in motor-6-8 to drive the PI E712 piezomotor controller.
But there are two error messages as starting up
1.PIasynController: unknown controller type e712
2.writeFloat64() GCS controller not initialized!
And the detail of the startup message is following:
#!../../bin/linux-x86_64/e712
## You may have to change e712 to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","ioce712")
epicsEnvSet("TOP","/home/suntianxiao/PIE-712")
epicsEnvSet("SUPPORT","/BLC/epics/synApps_5_7/support")
epicsEnvSet("MOTOR","/BLC/epics/synApps_5_7/support/motor-6-8")
epicsEnvSet("ASYN","/BLC/epics/synApps_5_7/support/asyn-4-21")
epicsEnvSet("CALC","/BLC/epics/synApps_5_7/support/calc-3-2")
epicsEnvSet("EPICS_BASE","/BLC/epics/base")
cd "/home/suntianxiao/PIE-712"
## Register all support components
dbLoadDatabase "dbd/e712.dbd"
e712_registerRecordDeviceDriver pdbbase
## Load record instances
#dbLoadRecords("db/xxx.db","user=suntianxiaoHost")
dbLoadTemplate "/home/suntianxiao/PIE-712/iocBoot/ioce712/motor.substitutions"
drvAsynIPPortConfigure("e712","172.16.0.35:50000",0,0,0)
#asynOctetSetInputEos("e712",0,"\n")
#asynOctetSetOutputEos("e712",0,"\n")
#asynSetTraceMask("e712",0,1)
#asynSetTraceIOMask("e712",0,1)
PI_GCS2_CreateController("PIE712_1","e712",4,0,0,100,1000)
2018/11/29 16:06:48.453 read from e712: (c)2015 Physik Instrumente (PI) GmbH & Co. KG, E-712, 117071883, 14.00.12.00
2018/11/29 16:06:48.453 PIasynController: unknown controller type e712: (C)2015 PHYSIK INSTRUMENTE (PI) GMBH & CO. KG, E-712, 117071883, 14.00.12.00
cd "/home/suntianxiao/PIE-712/iocBoot/ioce712"
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.6
## EPICS Base built Nov 27 2018
############################################################################
2018/11/29 16:06:48.454 IOC:m1 devMotorAsyn.c::init_record: pasynGenericPointer->read returned 2018/11/29 16:06:48.454 IOC:m2 devMotorAsyn.c::init_record: pasynGenericPointer->read returned 2018/11/29 16:06:48.454 IOC:m3 devMotorAsyn.c::init_record: pasynGenericPointer->read returned 2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m1 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m1 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m2 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m2 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m3 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m3 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 IOC:m4 devMotorAsyn.c::init_record: pasynGenericPointer->read returned 2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m4 pasyn{Float64,Int32}->write returned
2018/11/29 16:06:48.454 PIasynController::writeFloat64() GCS controller not initialized!
2018/11/29 16:06:48.454 devMotorAsyn::asynCallback: IOC:m4 pasyn{Float64,Int32}->write returned
iocRun: All initialization complete
## Start any sequence programs
#seq sncxxx,"user=suntianxiaoHost"
epics> dbl
IOC:m1
IOC:m2
IOC:m3
IOC:m4
epics> ^C
Are there any mistakes in my st.cmd writing?
Tian-xiao Sun
SSRF
- Replies:
- Re: Problems with using PI E-712 controller Allan Serra Braga Bugyi via Tech-talk
- References:
- Problems with using PI E-712 controller 孙天啸 via Tech-talk
- Navigate by Date:
- Prev:
Re: streamdevice I/O Intr William Kirstaedter via Tech-talk
- Next:
Re: streamdevice I/O Intr Dirk Zimoch via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Problems with using PI E-712 controller 孙天啸 via Tech-talk
- Next:
Re: Problems with using PI E-712 controller Allan Serra Braga Bugyi via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
|