Cartierusm,
I ran into this problem when I was setting up the tool change on our Hurco VMC. I don't think you can send an input from Mach to the Click; what I did was send an arbitrary output to the Click to start the tool change process.
Example:
From the M6 Macro, turn on Output# (Y###) for 500ms and turn off
In the Click, when it reads the Y### set a bit (C#) that will latch the tool change sequence on. When you are finished with the tool change sequence, reset this bit (C#).
The C# Bit will need to be in each rung of your tool change sequence. If the C# Bit is not on then it will not run your tool change.
This is just how I did it and it works for us, there are more ways to accomplish this goal, I am by no means an expert on ladder logic.
To answer your first question: "So first question, when Click receives a physical input, let's say X001, does Mach read that as an Input or Output?"
Mach will read X001 as an Input.
"So if all that makes sense then I don't need any outputs from Click because in my click program the inputs trigger the outputs. All Mach needs to do is send a signal to Click for that specific tool change and then wait for X006 input in Click."
Like I first mentioned, You will need to setup Modbus Output to get your Tool Change Sequence started in the Click. The Click will handle the I/O internally from that point on.
"So what Functions do I ned in Modbus in Mach Inputs and ?"
Use "Read Input Discreates" for Input and "Write Coil" and/or "Force Multiple Coils" for outputs.