Ⓜ️Feed Rate

What is Feed Rate?

Feed Rate (or Retrace) is a functionality that allows you to alter the speed of a loaded motion profile without affecting the motion profile (trajectory) itself.

Using Feed Rate, you can bring an Axis or MultiAxis to a stop (or pause) without going into an ERROR state. This allows the motion profile to be resumed to complete the rest of your motion profile.

Feed Rate also allows you to move in reverse along the path of the current loaded profile (“retrace”).

EXAMPLE 1 - Retrace

Machine is laser etching and the user decides that previous laser etched areas need to redone. In this case, the user can simply change the feed rate, retrace, and repeat the motion instead of loading a new motion profile into the motion controller.

EXAMPLE 2 - Alter Operating Speed

Using vision or proximity sensor(s), machine operating speed automatically reduces when an operator is detected in various zones around the machine.

Orange zone: Machine operating speed reduces by 50%

Red zone: Machine operating speed reduces by 90%

Why use Feed Rate?

Feed rate gives you the ability to go back in a commanded motion without affecting any of the previously loaded motion’s frames that reside in the controller.

EXAMPLE 3 - .Net Application

// Start Position Move

axis.MoveSCurve(15);                                                                // Call MoveScurve to move to position 15.

while (axis.ActualPositionGet() < 10) { }                                // Once position "10" is reached:
axis.Stop();                                                                                  // Stop the axis/motor. (This will use the value from  StopTimeSet())
axis.MotionDoneWait();                                                           // Wait for axis to stop completely.
axis.FeedRateSet(-1);                                                               // Change FeedRate to reverse motion.
axis.Resume();                                                                           // Start Reverse Motion.

while (axis.ActualPositionGet() > 5) { }                                  // Once position "5" is reached:
axis.Stop();                                                                                 // Stop the axis/motor. (This will use the value from StopTimeSet())
axis.MotionDoneWait();                                                           // Wait for axis to stop completely.
axis.FeedRateSet(1);                                                                // Change FeedRate to default value.
axis.Resume();                                                                          // Resume the MoveScurve Motion that was commanded initially..
axis.MotionDoneWait();                                                          // Wait for MoveScurve to complete.

How does Feed Rate work?

Feed Rate accepts 64-bit double precision floating point values in between 2 and -2.

Velocity (shown below) is the commanded velocity defined by user when loading a motion profile

FeedRate(2) → Velocity = 2 x Velocity

:

FeedRate(1) → Velocity = Velocity

:

FeedRate(0) → Velocity = 0 x Velocity

:

FeedRate(-1) → Velocity = -1 x Velocity

:

FeedRate(-2) → Velocity = -2 x Velocity

For a position move Feed Rate will only function if the axis is within the origin position and the target position. If the origin position or target position is reached then the controller will command MOTION DONE.

For a velocity move Feed Rate does not take into consideration position. Therefore, velocity can be adjusted at all times no matter what the position is.

FAQ’s

Do feedrate/retrace methods work with multi-axis streaming motion?

Yes, feedrate override and retrace methods work with multi-axis streaming motion.

Last updated