EPICS motor drivers for controllers from ACS Motion Control supporting the ACSPL+ command set.
motorAcsMotion is a submodule of motor. When motorAcsMotion is built in the motor/modules
directory, no manual configuration is needed.
motorAcsMotion can also be built outside of motor by copying it's EXAMPLE_RELEASE.local
file to RELEASE.local
and defining the paths to MOTOR
and itself.
motorAcsMotion contains an example IOC that is built if CONFIG_SITE.local
sets BUILD_IOCS = YES
. The example IOC can be built outside of driver module.
Virtual axes are supported. An axis is considered to be virtual when its MFLAGS.#DEFCON
bit is 1. The encoder resolution of the virtual axis is defined by EFAC
. If a user-defined real array named VPOS
(virtual feedback position) exists on the controller, motorAcsMotion considers it to be the logical equivalent of FPOS
but for nonstandard CONNECT
function virtual axes. VPOS
is the virtual axis actual position (calculated from hardware axis FPOS
values). If VPOS
is not defined, motorAcsMotion falls back to using APOS
. The motorAcsMotion report generated by asynReport
shows whether virtual feedback positions are supported (i.e., whether motorAcsMotion is using VPOS
for virtual axes) and the virtual feedback position of each axis (i.e., the value of VPOS
for each axis, or 0 if VPOS
is not being used).
When setting up an EPICS motor
record for a virtual axis, it's typical to set the motor
record's RTRY
field to 0. If using VPOS
, it's typical to set the motor
record's ERES
field to the same value as EFAC
and the motor
record's UEIP
field to Yes
. If not using VPOS
, it's typical to set the motor
record's MRES
field (rather than its ERES
field) to the value of EFAC
and to set the motor
record's UEIP
field to No
.