I think you would need at least 1 input and 1 output from Mach3 to control a tool changer. If you were to design your tool changer around a PLC then that would be the minimun. The output would tell the Tool changer(PLC) to change tools, and the plc would communicate back saying I'm done changing tools by turning on the input saying "OK to continue running the program".
The PLC then would have the required amount of I/O for the tool changer for relays, solenoids, encoders, etc. The only problem that way is Mach would not know what tool is in position it would only know that the plc says that everything is alright with the tool change process. So for that system to work, i think you would have to load your tools in sequence. like drill chuck, roughing mill, finishing mill, you get the idea. And mach would increment the tool change one position at a time.
Its easy to get the Tool changer/PLC to identify what tool is in each location the hard part is getting that information back into Mach with the limited amount of I/O available.
I a very capable plc programmer. AB, Mitsubishi, keyence, Automation direct. so if someone need help i can easly write the program providing they have the correct software or use a AB, Mitsubishi, Keyence or Automation direct PLC.
JOHN