Not to clear on what your saying eigther, (like Hood), but.........
I am speaking only of ADC PLC's
IF you want the PLC to control the caracell rotary axis as a seperate entity from Mach, you have TWO options one cheap, slightly less accurate, and one more expensive, more accurate.
Starting cheap: You can put an encouder on the shaft of the rotary caracell, and bring in the pulses on the native pulse counter on X0/X1, you can turn on an electric (low speed at the caracel shaft motor), and count pulses, with each position = to so many pulses or a total (absolute pulse count), when the number of counts = what you need for that slot, you cut the power to the motor. slow moving system here, max pulses is 7k
Not cheap: CTRIO module (high speed counter module can run a step/dir drive, and run a higher speed counter on the encouder feed back, various Accel/Decel profile type avail and dynamic positioning, Also has a "Homing routine").
Eigther case above: Your count register will translate to a T# position on your rotary. when it has reached that place, then you just send that Tool Number to Mach, through the modbus, to update your 824 DRO, and you can have a system wait signal holding in Brains OR your M6 your choice, so the M6 tool change routine will then complete.
If your going to also Capture the Z index signal on the encouder of the rotary, then your probably going to have to get a HS module since the signal happens faster than Mach can see it.
Your sequence of Events, for the base mechanical movements of the ATC (and Error checking switches/position switches), are basic enough. You can run an Easy Ladder rung for that or if you want to run it in VB, and save a few bucks more, run it out to a M13 board on a serial modbus, it will also run the system, further you can use Brians to do your "ladder".
scott