XYZ axes running slower than expected

XYZ axes running slower than expected

One of our customers faced a problem with Slow Speed on all Axes.  They just changed the Y axis Drives with a different type and changed the UNITS (higher) which seems good becasue they can move the Axis more precisely.  But now when running XYZ interpolated moves it runs slow.  They didn't have this problem before.  The axes are running from a MC403 and using Pulse+Direction.
What can be the reason?

================================================================================================================

If the new Y axis has different UNITS to the X and Z, then that may be the problem.  For interpolated moves like MOVEABS(x, y, z) the 3 axes must have the same UNITS or else the actual speeds will not be correct.  The moves are actually done in counts on the axes. So the UNITS of the BASE axis is applied to all 3 in a XYZ move.

To make the UNITS match, use STEP_RATIO when the axes are driven by pulse+direction.  Use ENCODER_RATIO for analogue Servo axes.  Use both for EtherCAT CSP axes.

For example the X has 32000 counts per mm, the Y has 384000 per mm and the Z has 16000 per mm.  Set up the STEP_RATIO so that all 3 axes have the highest value of UNITS.  In this case UNITS should be 384000.

BASE(x_axis)
STEP_RATIO(32, 384)
UNITS = 384000
BASE(y)
STEP_RATIO(1, 1)
UNITS = 384000
BASE(z)
STEP_RATIO(16, 384)
UNITS = 384000