Hi,
I don't think MODBUS will retain accurate timing and therefore the motors will stutter and/or stall.
The step output pulses from a parallel port in default configuration could be up to 25kHz.
Thus in every 10ms period you might have to signal 250 pulses, that's way WAY faster than Mach can generate and
send signals.
There are PLCs which can generate pulse streams if they are provided with P(osition)V(elocity)over T(ime) data. So basically Mach
tells the PLC via MODBUS what the motor is to do and the PLC generates the pulse streams to do it. You might say that the PLC
is a motion controller. To my knowledge such PLCs can handle only one motor at a time, so you would require two PLCs for X and Y.
The downside is that the two motors would not be synchronized together.
What you are trying to achieve is possible, in fact its the leading edge of automation and control engineering.
May I suggest you do some research on EtherCat. It is a TCP communication protocol that can communicate PVT data from a centralized
trajectory planner (Mach/PC) to multiple EtherCat Slaves (EtherCat servo drives) and co-ordinate motion.
While that sounds very promising there are some stumbling blocks. The most widely recognized manufacturer of EtherCat servos/drives is
Yaskawa, ie expensive. If you want to drive steppers then you need an EtherCat slave with a stepper driver......Beckhoff make those but
really expensive.
Even if the expense of the servos and/or drives does not put you off then this will. EtherCat is a realtime communication protocol,
Windows PC's are not. You could use LinuxCNC which is realtime and can be an EtherCat master, or you need a controller like the HiCon or Gallil
in addition to the PC, and the controller assumes the duties of the realtime EtherCat master, at even more expense.
Do you mind sharing why you want to do this? There maybe some alternatives which would be of use to you but without knowing what you want to achieve
its all guesswork.
Craig