Torsten Bögershausen 0ea2d9ec87 Add field SPDB, "Set Point Dead Band"
This is from Matthew Pearson, pearsonmr@ornl.gov

A number of users and staff have requested that the motor record have a
setpoint deadband field (eg. SPDB), which prevents any motion from
happening if the readback position is within SPDB.
Without a SPDB we have issues with motors moving unnecessarily.

For example, if the RBV is 0.001 and we set VAL to 0.0, if we have a
non-zero backlash correction then the motor will move unnecessarily
to take out backlash.
Even without backlash correction we often enable and disable the
drive amplifier for no good reason.

Currently the effective setpoint deadband is equal to MRES,
but this is often too small to be an effective setpoint deadband.

The new SPDB field would default to 0.0

The new code hooks into do_work():
When the new setpoint is within DPDB, set too_small and don't move.

The new code does not use snipptes like "abs(npos - rpos)", these
already produce warnings on 64 bit sytems.
abs() is declared to work on int, but we feed long values.
Simply compare the coordinates in engineering units.
2018-11-20 08:51:49 +01:00
2016-10-20 17:42:12 +02:00
2017-08-24 12:08:16 -07:00
2018-05-01 15:08:00 -05:00
2002-09-13 19:26:38 +00:00

motor

APS BCDA synApps module: motor

Build Status

Note: Current discussion on future of the motor module repository: https://github.com/epics-modules/motor/issues/55

For more information, see:

Report an issue with Motor
Request a feature

converted from APS SVN repository: Fri Oct 16 12:31:41 CDT 2015

S
Description
This is motor record version 7. The older (incompatible) motor record version 6 is here: https://git.psi.ch/epics_driver_modules/motor. The "upstream" branch is a fork of https://github.com/epics-modules/motor. Do not modify that one. All used submodules have their own repo. Don't modify them here.
Readme 7.7 MiB
Languages
C++ 62.3%
C 34.6%
Makefile 1.7%
Python 1.3%
Shell 0.1%