Ok I would suggest you have the drives RPM and the Velocity set in Mach to equal one another, that however does not mean the same numbers as one is RPM and the other axis Velocity.
The reason I suggest that is because you are using a +/-10 voltage to define the Velocity and if the drive thinks 10v = 3000rpm but the CSMIO thinks 10v is something else then you may be running into difficulty.
Ok so if 10v = 3000rpm in your drive then the velocity in Mach you want is -
3000 rpm of motor x 0.8 reduction = 2400 rpm on ballscrew
Velocity = 2400 rpm of ballscrew x 5mm pitch of the screw = 12,000mm/min
Another thing to note is you need the correct Steps per Unit set for each axis, I think you have a 2500 line encoder so that would mean your actual count as far as Mach is concerned is 2,500 x 4 = 10,000 counts per rev.
Now your reduction comes into play here so for 1 rev of the ballscrew that would be 10,000 x 0.8 = 8,000, this however is per ballscrew revolution, so your steps per unit (mm in your case) would be 8,000/5 = 1,600, so your steps per unit in Mach would be 1,600.
Regarding Sinking and Sourcing.
If an Input is Sinking it means you have voltage going into the input and the drive sinks it to Gnd/com-/0v
If and Input is Sourcing it means voltage is coming out of the Input and your connected device sinks it to Gnd/com-/0v
Same idea for outputs.
I will have a look at the manual later today to see if the Inputs can be configured sink or source as often they can be.
Note the Sink/Source I am talking about is for the digital I/O of your drive and not the analogue or encoder I/O, you have no problems with these.
I also forgot to respond to an earlier point where I said I also had the Gnd of CSMIO connected to the Encoder Gnd of my drives. My drives have that possibility but it looks like yours do not. It is not required but as mine have that I prefer to connect it.
Hood