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  2019  2020  2021  2022  2023  2024  2025  <2026 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  2025  <2026
<== Date ==> <== Thread ==>

Subject: Re: How to use the RVEL field of the motor record
From: Torsten Bögershausen via Tech-talk <tech-talk at aps.anl.gov>
To: "Mathis, Stefan" <stefan.mathis at psi.ch>, Mark Rivers <rivers at cars.uchicago.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, "Peterson, Kevin M." <kmpeters at anl.gov>
Date: Thu, 12 Feb 2026 09:47:39 +0100
Hej again,

to my understanding we use pC_->motorVelocity_
as the setpoint, how fast should the motor move.
Derived from VELO, JVEL and others, using MRES.
The actual measured velocity from the motor is not handled
at all, to my understanding, reading the code.
We could add another asyn paramater to let the driver
(Yes, drivers based on asynMotor are model 3) report that value.
Mark, Kevin, what do you think ?
/Torsten



On 2026-02-12 08:16, Mathis, Stefan via Tech-talk wrote:
Dear Mark,

That is exactly what I did -> setDoubleParam(pC_->motorVelocity_, actualVelocity);

However, this doesn't do anything. Torsten Bögershausen from the ESS mentioned in another channel to me that this feature doesn't work for "model 3 drivers" (I have no idea, what a "model 3" driver is, I guess one based on asynMotor?). So this seems buggy.

Since apparently there aren't any drivers in the wild using this feature, I guess this bug is maybe undetected until now? If you want to check it, you could just add  setDoubleParam(pC_->motorVelocity_, 42.0); to any asynMotor driver and see if the field gets actually populated.

For reference: We're using asynMotor R7-2-1 at SINQ (PSI).

Best regards
Stefan

__________________________________________
Paul Scherrer Institut
Dr. Stefan Mathis
WHGA/022
Forschungsstrasse 111
5232 Villigen PSI
Schweiz

Telefon: +41563102926
E-Mail: stefan.mathis at psi.ch

------------------------------------------------------------------------
*From:* Mark Rivers <rivers at cars.uchicago.edu>
*Sent:* Wednesday, February 11, 2026 9:18 PM
*To:* tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Mathis, Stefan <stefan.mathis at psi.ch>
*Subject:* Re: How to use the RVEL field of the motor record
Hi Mathis,

I have not found any drivers that set the actual velocity.  However, I believe the infrastructure to do so is implemented in asynMotorController.  In you axis poll() method you just need to add this line:

setDoubleParam(pC_->motorVelocity_, actualVelocity);

Please let me know if there are problems with this.

Mark

------------------------------------------------------------------------
*From:* Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Mathis, Stefan via Tech-talk <tech-talk at aps.anl.gov>
*Sent:* Wednesday, February 11, 2026 1:27 AM
*To:* tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
*Subject:* How to use the RVEL field of the motor record
Dear all,

I have a asynMotor-based driver (controller inherits from asynMotorController and axis inherits from asynMotorAxis). I would like to populate the RVEL field with the actual velocity read from the hardware, but can't get it to work.

From looking through the source code of the motor record, it seems that the param-lib entry with the index motorVelocity_  is involved into populating RVEL. However, just writing to this param-lib entry and then running callParamCallbacks() does not seem to be sufficient. Are there any other param-lib entries which influence this?

Is there any asynMotor-based example where the RVEL field is actually used?

Thank you very much
Stefan

__________________________________________
Paul Scherrer Institut
Dr. Stefan Mathis
WHGA/022
Forschungsstrasse 111
5232 Villigen PSI
Schweiz

Telefon: +41563102926
E-Mail: stefan.mathis at psi.ch



References:
How to use the RVEL field of the motor record Mathis, Stefan via Tech-talk
Re: How to use the RVEL field of the motor record Mark Rivers via Tech-talk
Re: How to use the RVEL field of the motor record Mathis, Stefan via Tech-talk

Navigate by Date:
Prev: Re: How to use the RVEL field of the motor record Mathis, Stefan via Tech-talk
Next: RE: eiger2 vacuum sequencing power status Keith Surrena 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  2025  <2026
Navigate by Thread:
Prev: Re: How to use the RVEL field of the motor record Mathis, Stefan via Tech-talk
Next: Re: How to use the RVEL field of the motor record Mathis, Stefan 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  2025  <2026
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·