Hello Guest it is July 09, 2020, 11:10:19 PM

Author Topic: can I send axes pulses to MODBUS TCP device ?  (Read 607 times)

0 Members and 1 Guest are viewing this topic.

can I send axes pulses to MODBUS TCP device ?
« on: August 25, 2018, 02:33:12 PM »
hello dear forum,

I want send the pulses of the axes every 10 milisecond to MODBUS TCP device
this way I want use my own board to produce pulses for the step motors
instead of paralel port

is this posible ?

thank you
« Last Edit: August 25, 2018, 02:35:11 PM by magnetron »
Re: can I send axes pulses to MODBUS TCP device ?
« Reply #1 on: August 25, 2018, 05:30:46 PM »
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
My wife left with my best friend...
     and I miss him!
Re: can I send axes pulses to MODBUS TCP device ?
« Reply #2 on: August 26, 2018, 05:25:18 AM »
I want to do this in order to earn money

http://www.oem-plc.com/index15.htm

this is my own made PLC and it can generate 4 axis 200 Khz
I know that  I can write a plugin for Mach3 for sending puls array to PLC
but I dont know Visual C++ / its very difficult

becouse of this I wanted to ask if it was posible with MODBUS TCP
is there a DRO for axes to keep puls/10 ms array
for examle the 10 x  puls info for 100 ms long
then it was posible to send every 100 ms the 10x puls info array to the PLC
and then the PLC could produce the necessary pulses
Re: can I send axes pulses to MODBUS TCP device ?
« Reply #3 on: August 26, 2018, 06:16:14 AM »
Hi,

Quote
becouse of this I wanted to ask if it was posible with MODBUS TCP
is there a DRO for axes to keep puls/10 ms array
No I don't believe there is such a DRO and even it there were MODBUS is too slow to communicate it to the PLC.

I think the choices are:
1) Write a plugin for Mach so that you can provide PVT data to the PLC
2) Use an existing motion controller like a SmoothStepper or a UC300
3) Use a realtime controller as an EtherCat master

Craig
My wife left with my best friend...
     and I miss him!