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

Subject: Motor record SYNC using URIP = 1
From: Márcio Paduan Donadio <[email protected]>
To: "[email protected]" <[email protected]>
Date: Wed, 21 Jan 2015 19:26:52 +0000
     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  <20152016  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·