Skip to content

epics-motor/motorAcsMotion

Repository files navigation

motorAcsMotion

EPICS motor drivers for controllers from ACS Motion Control supporting the ACSPL+ command set.

Build Status

Building

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

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.