I am setting up a lathe with a Galil DMC-2123 controller coupled to an AMP-20520 servo amplifier. I am using electrocraft BLDC motors with HP HEDS encoders (500 cpr with index). I have verified the encoder wiring is on the primary encoder channel for each axis and have tuned the motors on the bench and saved the values to the controller.
The problem that I am encountering is when I set up the motors for X and Z axis in the Mach3 turn profile. Using the plugin configuration, I set Mach axis X to Galil axis X(A), Mach Axis Y to nothing and Mach Z axis to galil axis Y(B). Ports and pins settings in Mach have X and Z motors enabled and 0 for pins and port. When set up this way, the X axis DRO reads out any position change. The Z axis DRO never changes from 0.0000, although the motor moves with the jog keys. I can change which motor is assigned to which axis (Mach X -> Galil Y(B) and Mach Z -> Galil X(A)) and I have the same result. X DRO reads fine, Z DRO never changes. Motors move with Jog keys. I have the motor options set to use the encoders for position feedback and actual speed. Changing this value has no impact on the problem.
If I exit the turn screen and setup another profile that shows the Y axis DRO and configure the motors to operate on X and Y axis, the DRO for both X and Y operate as normal. If I then configure the setup to utilize the servos on X and Z, I encounter the same issue as when in the "turn" profile. X DRO changes, Z DRO does not. Both motors will jog using the jog keys.
It acts like the active channels must be adjacent to one another in Mach for the DRO to work properly.
I tried setting up a bogus axis on the Y axis, but got errors from the controller that prevented any motion.
Any clues where to look to resolve this issue? I could always just set up the motors as X and Y, but all the G-Code in the wizards and such use the Z axis. I'd have to use the wizard in one profile, save the G-Code, edit to replace Z axis moves with Y axis moves, save, open a new profile, load the edited G-code, then run the program...tedious, but a functional workaround.