Jump to content
OMRON Forums

Master/Slave motors have different speeds and actual positions


Recommended Posts

In my app motors #3 and #4 belong to the same vertical axis Z (#3->100z, #4->100z).

I use Master/Slave config (position following mode) to control the axis.

Motor 3 is a Master, Motor 4 is a Slave.


In feedrate (linear) moves motors have almost equal speeds but different actual positions at the end of move.

Position difference depends on feedrate setpoint.

For example, if both motors go from z0 to z500 at speed F900,

at the end of move actual position of Master is 500, Slave - 500.35 mm.

The same move by F9000 gives actual position of Master 500, Slave - 503.5 mm!


How to get positions of both motors the same?


In feedrate (linear) moves (G01, G02/G03) both motors have nearly the same speed, defined by F-code.

But in rapid moves (G00) Slave has double speed as compared to Master's one.


Why does it happen?


Speeds both in linear and in rapid moves are defined by Ixx16 variables, as Ixx90=1. So if I316=1, motor #3 moves at speed 10 mm/s, motor #4 - at 20 mm/s.


In jog moves both motors have the same speeds, defined by Ixx22 variable of Master.

Actual positions at the end of move are equal and do not depend on jog speed.


All the i3xx, i4xx parameters are the same, except the following:

I302=$78014; I402=$7801C

I303=$3503; I403=$3504

I304=$3503; I404=$3504

I305=$3504; I405=$3503

I306=0; I406=1

I313=58000; I413=0

I314=-3000; I414=0

I325=$78010; I425=$78018

I383=$78011; I483=$78019

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

You have made a very basic error in your setup, such that you are both coordinating and master/slaving these motors simultaneously. Therefore, you are double-commanding Motor 4.


This is why in your Rapid mode move, you get double the speed you want on Motor 4. It is both commanded directly to Speed X and is slaved to Motor 3 at Speed X.


In your Linear mode move, each Isx13 segment (probably about 10 msec), the slaving increment from the previous segment is taken out (normal following mode), so you end up double-commanding only the final segment (your extra 0.35 mm). If you set I406=3 (offset/superimpose-mode following) you would get the double speed like in Rapid moves.


You must choose EITHER coordination (#3->X, #4->X, I406=0) or master/slave (#3->X, #4->0, I406=1), not both at the same time. We generally recommend coordination for axis moves, as it gives the second motor a smoother command trajectory. Some users like to turn on master/slave just for motor moves (jogging and homing), but they turn it off when they run motion programs.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...