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  2017  2018  <20192020  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  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: [motorPIGCS2] can't turn on servo state of PI E-712
From: Chiang, Liang-Chih [江良志] via Tech-talk <[email protected]>
To: "[email protected]" <[email protected]>
Date: Mon, 5 Aug 2019 03:14:27 +0000

Hi, Allan,


I used motor module(version 6.9) with the content of motorApp/PIGCS2Src replaced by motorPIGCS2 (https://github.com/epics-motor/motorPIGCS2).


After changed to motor module version 6.11, the error message "GCS error, Controller was stopped by command" disappeared. However, I still can't control PI E-712.


If I use motor module version 6.11, there will be error message about GCS error code 5:


2019/08/05 10:52:37.836 PIGCSController::getGCSError() GCS error code = 5
2019/08/05 10:52:37.836 PIGCSController::getGCSError() GCS error, Unallowable move attempted on unreferenced axis, or move attempted with servo off
2019/08/05 10:52:37.836 Could not set servo state!

If I use motor module version 6.11 with patch from Allan, there will be error mesaage about GCS error code 5 and 17:

2019/08/05 10:39:47.253 PIGCSController::getGCSError() GCS error code = 5
2019/08/05 10:39:47.253 PIGCSController::getGCSError() GCS error, Unallowable move attempted on unreferenced axis, or move attempted with servo off
2019/08/05 10:39:47.253 Could not set servo state!
2019/08/05 10:39:47.261 PIGCSController::setAxisPosition() sent "RON 1 0"
2019/08/05 10:39:47.261 PIGCSController::setAxisPosition() sent "POS 1 1937869.000000"
2019/08/05 10:39:47.261 PIGCSController::setAxisPosition() sent "RON 1 1"
2019/08/05 10:39:47.267 PIGCSController::getGCSError() GCS error code = 17
2019/08/05 10:39:47.267 PIGCSController::getGCSError() GCS error, Parameter out of range
2019/08/05 10:39:47.267 PIGCSController::setAxisPosition() failed, GCS error 17


If I issue GCS commands "FRF" and "SVO 1 1" before starting IOC, the CSS(Control-System Studio) interface of motor record will show:


https://www.dropbox.com/s/yrx7sikta3cqwzy/controller_error_PIE712.png?dl=0




Still fighting againt PI E-712, any suggestions are welcome.



Best regards.

 

LiangChih Chiang

National Synchrotron Radiation Research Center (NSRRC)
email:
[email protected]

 


寄件者: Allan Serra Braga Bugyi <[email protected]>
寄件日期: 2019年8月2日 下午 08:44
收件者: [email protected]; Chiang, Liang-Chih [江良志]
主旨: RE: [motorPIGCS2] can't turn on servo state of PI E-712
 
Which motor record version are you using? I also had this problem, because the motor record was sending repeatedly HALT commands to the controller. Using  motor record version 6-11 this behavior disappears.

Best regards,
Allan S. B. Bugyi
Technology Development Analyst
[email protected]
(+55 19) 3512-3520

SOL/Beamline Software Group
Brazilian Synchrotron Ligh
t Laboratory (LNLS)
Center of Research in Energy and Materials (CNPEM
)
http://lnls.cnpem.br



De: [email protected] <[email protected]> em nome de Chiang, Liang-Chih [江良志] via Tech-talk <[email protected]>
Enviado: quinta-feira, 1 de agosto de 2019 22:12
Para: [email protected] <[email protected]>
Assunto: RE: [motorPIGCS2] can't turn on servo state of PI E-712
 

Hi, Allan,

 

I tried, but the IOC will issue the following error messages repeatedly.

 

2019/08/01 10:21:19.114 PIGCSController::getGCSError() GCS error code = 10
2019/08/01 10:21:19.114 PIGCSController::getGCSError() GCS error, Controller was stopped by command

 

 

I'm still tracing the source code in motorPIGCS2.

 

 

Best regards.

 

LiangChih Chiang

National Synchrotron Radiation Research Center (NSRRC)
email:
[email protected]

 


寄件者: Allan Serra Braga Bugyi <[email protected]>
寄件日期: 2019年8月1日 下午 08:43
收件者: [email protected]; Chiang, Liang-Chih [江良志]
主旨: RE: [motorPIGCS2] can't turn on servo state of PI E-712
 
Hi LiangChih,


So it calls the 'setAxisPosition' method from 'PIGCSController' class, passing the parameter 'm_positionCts' (the current position), which holds the result of POS? command. The 'PIGCSController::setAxisPosition' sends RON command with parameter 0 (to set closed loop off), then POS command with the current position, then RON command with parameter 1 (to set closed loop on).

There are some controllers that doesn't recognize RON command, which is not a problem.

Best regards,
Allan S. B. Bugyi
Technology Development Analyst
[email protected]
(+55 19) 3512-3520

SOL/Beamline Software Group
Brazilian Synchrotron Ligh
t Laboratory (LNLS)
Center of Research in Energy and Materials (CNPEM
)
http://lnls.cnpem.br




De: [email protected] <[email protected]> em nome de Chiang, Liang-Chih [江良志] via Tech-talk <[email protected]>
Enviado: quarta-feira, 31 de julho de 2019 23:36
Para: [email protected] <[email protected]>
Assunto: RE: [motorPIGCS2] can't turn on servo state of PI E-712
 

Hi Allan,


> I used to do the referencing through the manufacturer IDE and then ran the IOC.

After performing a reference move (command FRF) and turning servo on (command SVO), I can move the axis successfully (via direct commands). However, if I run the EPICS IOC after that, the following error messages will occur repeatedly:


2019/08/01 10:21:19.114 PIGCSController::getGCSError() GCS error code = 10
2019/08/01 10:21:19.114 PIGCSController::getGCSError() GCS error, Controller was stopped by command


> suggests (among other things) referencing the axis right in the initialization method of the PIasynAxis


I checked the files committed by you, but couldn't figure out what part is for doing reference move in PIasynAxis initialization. Would you please point it out?



Best regards.

 

LiangChih Chiang

National Synchrotron Radiation Research Center (NSRRC)
email:
[email protected]

 


寄件者: Allan Serra Braga Bugyi <[email protected]>
寄件日期: 2019年7月31日 下午 10:53
收件者: [email protected]; Chiang, Liang-Chih [江良志]
主旨: RE: [motorPIGCS2] can't turn on servo state of PI E-712
 
Hi LiangChih,

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.

I opened a pull request to the module's project, which suggests (among other things) referencing the axis right in the initialization method of the PIasynAxis. You can find the specific commit here: https://github.com/epics-motor/motorPIGCS2/pull/1/commits/3aaf5ed20938181420edbf296a4044f57d3811b7

Best regards,
Allan S. B. Bugyi
Technology Development Analyst
[email protected]
(+55 19) 3512-3520

SOL/Beamline Software Group
Brazilian Synchrotron Ligh
t Laboratory (LNLS)
Center of Research in Energy and Materials (CNPEM
)
http://lnls.cnpem.br



De: [email protected] <[email protected]> em nome de Chiang, Liang-Chih [江良志] via Tech-talk <[email protected]>
Enviado: quarta-feira, 31 de julho de 2019 00:16
Para: [email protected] <[email protected]>
Assunto: [motorPIGCS2] can't turn on servo state of PI E-712
 

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]

 

Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.

Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.


Replies:
Re: [motorPIGCS2] can't turn on servo state of PI E-712 Peterson, Kevin M. via Tech-talk
References:
[motorPIGCS2] can't turn on servo state of PI E-712 Chiang, Liang-Chih [江良志] via Tech-talk
RE: [motorPIGCS2] can't turn on servo state of PI E-712 Allan Serra Braga Bugyi via Tech-talk
RE: [motorPIGCS2] can't turn on servo state of PI E-712 Chiang, Liang-Chih [江良志] via Tech-talk
RE: [motorPIGCS2] can't turn on servo state of PI E-712 Allan Serra Braga Bugyi via Tech-talk
RE: [motorPIGCS2] can't turn on servo state of PI E-712 Chiang, Liang-Chih [江良志] via Tech-talk
RE: [motorPIGCS2] can't turn on servo state of PI E-712 Allan Serra Braga Bugyi via Tech-talk

Navigate by Date:
Prev: spec epics_caget not working Miceli, Antonino via Tech-talk
Next: Re: spec epics_caget not working Mark Rivers 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  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: [motorPIGCS2] can't turn on servo state of PI E-712 Allan Serra Braga Bugyi via Tech-talk
Next: Re: [motorPIGCS2] can't turn on servo state of PI E-712 Peterson, Kevin M. 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  <20192020  2021  2022  2023  2024 
ANJ, 05 Aug 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·