I have some motors using URIP = 1 that, after IOC boot and caput on
STUP = 1, get the correct value in RBV field, according to the PV
configured in RDBL and RRES resolution. But I suppose that VAL field
took a value based on motor driver counter and MRES. I tried to do
caput on SYNC field to get RBV value to VAL but it happened to work at
the opposite way - VAL value went to RBV.
I checked the motorRecord.cc file and I think the URIP = 1 case was
not defined there. If I'm using it in the wrong way, please point me
what is it. Otherwise I'd like to propose a modification in function
syncTargetPosition(motorRecord *pmr) of motorRecord.cc file. See it
below, please:
*** motorApp/MotorSrc/motorRecord.cc 2015-01-21 16:55:51.000000000 -0200
--- motorApp/MotorSrc/motorRecord.last.cc 2015-01-21
17:07:54.000000000 -0200
*************** static void syncTargetPosition(motorReco
*** 4035,4041 ****
pmr->rrbv = pmr->rep;
pmr->drbv = pmr->rrbv * pmr->eres;
}
! else if (!pmr->urip)
{
pmr->rrbv = pmr->rmp;
pmr->drbv = pmr->rrbv * pmr->mres;
--- 4035,4041 ----
pmr->rrbv = pmr->rep;
pmr->drbv = pmr->rrbv * pmr->eres;
}
! else if
{
pmr->rrbv = pmr->rmp;
pmr->drbv = pmr->rrbv * pmr->mres;
I added "if (!pmr->urip)" on the else case.
I tested it and SYNC worked pretty fine in my case. I'm using motor
record 6-8 but I saw that 6-9 has the same code for the sync function.
Thank you for your attention,
Márcio Paduan Donadio
Computer Engineer - LNLS
- Navigate by Date:
- Prev:
RE: related to driver Mark Rivers
- Next:
EPICS driver for CAENels HV-Adaptos? nicoletta.de-maio
- 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:
RE: related to driver Mark Rivers
- Next:
EPICS driver for CAENels HV-Adaptos? nicoletta.de-maio
- 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
|