![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||
|
Hi Mark, On my test system, using a motor with incremental encoder, I can set the position and RRBV updates to the new value. So I am unable to reproduce the error at this time. Setting a new motor position involves setting the position on the controller and then reading the position back in the poll cycle. I recommend checking if the value is written to the hardware correctly by using Galil commands DEx=?, DPx=? (where x is the motor in range A-H). I'd need to know the motor type to determine which of the above 2 commands to use, so I recommend trying both of the above commands. At the bottom of the DMC controller screen, is a console where folks can type Galil commands whilst the driver is running. If the value is not written to hardware I recommend checking GalilAxis::setPosition and GalilAxis::setEncoderPosition methods to find where the write to hardware is failing. Generally speaking with stepper motors, ERES and MRES are different values and both must be set if an encoder is used. With servo motors ERES, and MRES are normally the same. The GalilAxis::poller method reads the motor readback position from hardware, it's a good place to look if the driver isn't reading the value from the hardware correctly. Ensure dual feedback mode is off with DFx=0. If DFx=1 then the main and auxiliary encoder registers are swapped. If no solution is found, could you please report the value of the following records on your system: $(P)$(M)_MTRTYPE_CMD $(P)$(M)_MTRTYPE_STATUS $(P)$(M)_MENCTYPE_CMD $(P)$(M)_MENCTYPE_STATUS $(P)$(M)_AENCTYPE_CMD $(P)$(M)_AENCTYPE_STATUS $(P)$(M).ERES $(P)$(M).MRES And I will try again to reproduce the problem. Kind regards, Mark Clift
| ||||||||||||||
ANJ, 21 Mar 2024 |
![]() · Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |