Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ECS or Local HMI can send mode, position reference, velocity

All motion control logic is located in Routine Control_position

States of position control

Wait for new position ID or new position reference from ECS or Local
Each position command is executed and replaces any current move.

New move

Verify position reference within travel limits.
Initialize
Reset state control
Validate motion  parameters
Calculate 

  • Starting speed = minimum(0.05 * Position error, 1° / sec)

  • Starting speed = maximum(0.05 * Position error, 0.15° / sec)

  • Accel, decel, distance & time 

  • Direction of travel

Start

Move in Progress = on

While move in progress

While position error < near distance : Speed = near speed
While position error < creep distance : Speed = creep speed
While position error < final distance : Speed = final speed
While position error > 3°

  • Ramp control

  • Accel = 100 RPM / sec (~0.1° / sec)

  • Decel = 50 RPM / sec

  • Jerk = 20  RPM / sec / sec (S-curve)

While position error < 3°

  • Quick response for stopping

  • Accel = 500 RPM / sec (~0.5° / sec)

  • Decel = 500 RPM / sec

  • Jerk = 500 RPM / sec / sec (no curve)

When Position error <  stop distance
 or Position error crosses 0
 or Safety enabled OFF
End move
Move in progress = OFF

If Tracking mode

Speed reference = Velocity + (Position error * proportional gain)

While position error > 10°
Max output = +/- 0.25° / sec
While position error > 30°
Max output = +/- 0.75° / sec
While position error < 1° Max output = +/- 0.20° / sec

While position error < 0.1° Gain = 0.04

While position error > 0.2° Gain = 0.10

While position error > tracking range (0.5°)

Fast response for controlling position

Accel = 200 RPM / sec (~0.2° / sec)

Decel = 200 RPM / sec

Jerk = 200 RPM / sec / sec (no curve)

While position error < tracking range (0.5°)

Slow response for smooth control

Accel = 10 RPM / sec (~0.05° / sec)

Decel = 10 RPM / sec

Jerk = 10 RPM / sec / sec (no curve)

While position error < 0.05°

Slow response for smooth control

Accel = 5 RPM / sec (~0.005° / sec)

Decel = 5 RPM / sec

Jerk = 5 RPM / sec / sec (no curve)

If not Tracking 
 and Move in progress OFF

Then Speed reference = 0

Speed output control

...