I also worked with PI controllers E-727 and C-867 using motorPIGCS2. Indeed, there is no referencing during the initialization of a PIasynAxis. I used to do the referencing through the manufacturer IDE and then ran the IOC.
Hello all,
I'm trying to control PI E-712 with one axis(E-711.AM5A).
But the error message said that the motor driver can't turn on the servo state.
I use motor module(version 6.9) with the content of motorApp/PIGCS2Src
replaced by motorPIGCS2 (
https://github.com/epics-motor/motorPIGCS2).
I use MOXA NPort 5650-8-DT(serial-to-Ethernet converter) to turn the RS-232 interface of PI E-712 to Ethernet interface.
The st.cmd executes pie712.cmd, then iocInit.
pie712.cmd (stripped):
dbLoadTemplate("pie712_motors.substitutions")
asynSetTraceMask(PIE712,-1,0x3)
asynSetTraceIOMask(PIE712,-1,0x1)
$(PIE712-1P)drvAsynIPPortConfigure("PIE712", "192.168.2.52:4006", 0, 0, 0)
asynSetTraceMask(PIE712,-1,0x1)
asynSetTraceIOMask(PIE712,-1,0x0)
$(PIE712-1P)PI_GCS2_CreateController("PIE712-1P", "PIE712", 1, 0, 0, 100, 1000)
$(PIE712-1P)dbLoadRecords("$(MOTOR)/db/PI_Support.db","P=13a:,R=PIE712-1P:,PORT=PIE712-1P,ADDR=0,TIMEOUT=1")
$(PIE712-1P)dbLoadRecords("$(ASYN)/db/asynRecord.db", "P=13a:,R=PIE712-1P:Asyn,PORT=PIE712,ADDR=0,OMAX=256,IMAX=256")
pie712_motors.substitutions:
file "$(MOTOR)/Db/asyn_motor.db"
{
{ALIAS, P, M, DTYP, PORT, ADDR, DESC, EGU, DIR, VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
{13a:4BCC:X3, 13a:PIE712-1:, "A", "asynMotor", "PIE712-1P", 0, "Xtal 3 X", mm, Pos, .2, .1, .5, 0, 1, .2, .00001, 4, 20, -20, ""}
}
When executing pie712.cmd, there are error messages:
PI_GCS2_CreateController("PIE712-1P", "PIE712", 1, 0, 0, 100, 1000)
2019/07/31 10:41:58.938 read from PIE712: (c)2015 Physik Instrumente (PI) GmbH & Co. KG, E-712, 118031913, 14.05.12.03
PIasynAxis::PIasynAxis() 0: 1
2019/07/31 10:41:58.947 PIGCSController::getGCSError()
GCS error code = 5
2019/07/31 10:41:58.947 PIGCSController::getGCSError()
GCS error, Unallowable move attempted on unreferenced axis, or move attempted with servo off
2019/07/31 10:41:58.947 Could not set servo state!
# optional PI_Support.db
dbLoadRecords("/blsw/13a/software/epics/3.14.12.5/support/motor-6-9/db/PI_Support.db","P=13a:,R=PIE712-1P:,PORT=PIE712-1P,ADDR=0,TIMEOUT=1")
# asyn record
dbLoadRecords("/blsw/13a/software/epics/3.14.12.5/support/asyn-4-26/db/asynRecord.db", "P=13a:,R=PIE712-1P:Asyn,PORT=PIE712,ADDR=0,OMAX=256,IMAX=256")
After iocInit, there are extra error messages:
2019/07/31 10:41:59.478 PIGCSController::getGCSError()
GCS error code = 5
2019/07/31 10:41:59.478 PIGCSController::getGCSError()
GCS error, Unallowable move attempted on unreferenced axis, or move attempted with servo off
2019/07/31 10:41:59.478 Could not set servo state!
2019/07/31 10:41:59.479 PIasynDriver:writeInt32: error, status=3 function=19, value=1
2019/07/31 10:41:59.479 devMotorAsyn::asynCallback: 13a:PIE712-1:A pasyn{Float64,Int32}->write returned
Would you please provide some help?
Thanks
LiangChih Chiang
National Synchrotron Radiation Research Center (NSRRC)
email:[email protected]