I see, thanks.
I guess there's a subtlety in the sequencing variations, and I don't know which is 'better' or if it makes any difference:
- Scheme #1
- C-axis homes to encoder index on enable/home
- run some positioning moves
- Switch to velocity mode
- control method doesn't matter (analog or step/dir or pwm)
- run spindle in velocity mode
- Encoder is now out of sync with last axis position command
- Switch to axis mode
- reset encoder index
- home C-axis
- Scheme #2
- Same as above but instead of resetting the encoder index
- Orient spindle before switching to axis mode (using orient.comp)
- Switch to C-axis mode
I'm sure I'm missing something, but I wonder if orient will work well enough as the hand-off between a velocity mode and positioning mode? I'd be concerned that the orient tolerance wouldn't match the axis following error tolerance, and you'd have to set the joint ferror tolerance high enough that subsequence axis-spindle-axis mode changes would result in misalignment between the two axis mode changes.
There (probably) wouldn't be an error accumulation over multiple axis-spindle-axis mode changes, but I fear using orient wouldn't nail the position each time the axis mode is enabled.
I would think that the encoder reset plus a forced C-axis homing to index at each positioning-mode enable would be the most accurate method? That seems to be the scheme used in caxis.comp, and is also the method used on my Fanuc thing.