The usual technical solution for exact synchronization where commands must
go over a shared media is to time-tag the commands with the time when the
command is to be executed then send the commend in advance of that time.
 On a fast bus like CAN you only have to send the command a few
milliseconds in advance.  But on a slow channel such as a radio link to a
rover on Mars, they send commands hours or a day in advance.

You can also use implied time tags where commands are sent in blocks and
the rule is to execute everything in a block at the start of (say) the next
time interval.    Audio and video that is streamed over the Internet work
like that.   The audio and video are sent in "frames" and there is an
agreed frame rate and it all gets resynced by the display device.

On CAN you can take advantage of the fact that all devices read the bus at
the same time.  Each reader decides what information it wants to read and
ignore the rest so a time-sync heartbeat could be implemented if the nodes
all needed to be time synchonized.  So on CAN if it were needed I'd invent
a protocol that did something like this:  "motor A, On the mark, you are to
move to X", "motor B, On the mark, you are to move to Y", "MARK".

For a robot on Mars, I would send a table of instructions where the first
column is the time to execute and the second column is the instruction
itself.   I would send the table then have the rover read it back to me to
verify. Then at some later time, the wheels would move and so on.





On Tue, Aug 18, 2020 at 4:31 PM Frank Tkalcevic <fr...@franksworkshop.com.au>
wrote:

> An off topic question, not directly LinuxCNC related...
>
> How are motors on a serial bus controlled and synchronised?
>
> My only real control experience is with LinuxCNC with Mesa and parallel
> port hardware where commands and feedback and precisely timed.  Sending
> commands and receiving feedback over a serial link I would expect to cause
> synchronising problems, and the bandwidth would reduce the update rate.
>
> How are these issues handled?  I tried googling this, but didn't find much
> -  I wasn't sure what to search for.
>
> Thanks,
> Frank
>
>
>
>
>
>
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>


-- 

Chris Albertson
Redondo Beach, California

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to