Command: Advanced Time Move Absolute (26)

Supported Axes:

Position Control Axes

Supported Control Modes:

Position PID, Position I-PD

Firmware Limitations:

RMC75/150: 1.45 or newer

 

See the Commands Overview topic for basic command information and how to issue commands from PLCs, HMIs, etc.

Command Parameters

#

Parameter Description

Range

1

Requested Position  (position-units)

any

2

Final Velocity (position-units/s)

any

3

Final Acceleration (position-units/s2)

any

4

Time for Move (sec)

>0

5

Direction

  • Negative* (-1)

  • Nearest (0)

  • Positive* (1)

  • Current* (2)

  • Absolute* (3)

 

* These options are intended for use with rotary axes. However, all options are available on linear axes, but have no effect. For more details, see the Using Rotary Motion topic.

a valid integer as described

Description

This command calculates a target using a 5th-order polynomial. The closed-loop move will end with the requested conditions: position, velocity, and acceleration. The Requested Position is reached in the Time for Move. If the final velocity or acceleration is non-zero, this command should be followed by another motion command.

Once the Requested Position is reached, the Done status bit will be set. If either the Final Velocity or Final Acceleration are non-zero, the polynomial will continue for one loop time after the Done Status bit is set, and if a new command is not issued during this time, then a Closed Loop Halt will occur and the Runtime Error will be set (notice that if the Runtime Error AutoStop is set to a different type of halt, that halt will also occur). If the Final Velocity and the Final Acceleration are both zero, then the axis will hold position and no errors will be set.

This command is intended to be followed by another command, especially if either the Final Velocity or Final Acceleration are non-zero. Typically, this command is used only in a user program, where it is very easy to issue another command immediately when the Done bit is set. Use the Wait For or Conditional Jump Link Types to check for the Done bit.

This command creates a profile based on time. To make a profile based on a master position, see the Advanced Gear Move (33).

Why Bother?

This command is useful if you want to specify what the velocity and acceleration at a position and time should be. This command is typically used for only a segment of a move, and you should always issue another command after this one when the Done Status bit is set. This can easily be done in the User Programs. You can issue several of these moves in a row to get the motion profile you want, especially if you need to specify the velocity and acceleration at certain points. The Expression (113) command can be used to calculate the position, velocity, and acceleration values to be used in this command. Complex motion profiles may require many individual segments using the Advanced Time Move commands.

Using the Advanced Time Moves in User Programs

Indexing Arrays

The Advanced Time Move Absolute and Advanced Time Move Relative are intended for use in user programs. Typically, these commands are programmed in a loop and cycle through an array or arrays of positions, speeds, and/or accelerations. To do this, use the variable table to set up arrays. A variable for incrementing the array is also required. It must be of data type DINT.

Timing Considerations

When looping through long arrays with the Advanced Time Move commands, precise timing is often important. Each task can execute a maximum of one step per loop time. However, the commands in a step and the link condition in that same step are not executed in the same loop time.

When a step is executed, the commands in that step are issued in that loop time. Then, in the next loop time of the controller, the Link Type is evaluated. When the Link Type condition becomes true or tells the program to jump, the program will jump to the specified step and issue the commands in that step in the same loop time that the condition became true.

Once the Requested Position is reached, the Done status bit will be set. If either the Final Velocity or Final Acceleration are non-zero, the polynomial will continue for one loop time after the Done Status bit is set, and if a new command is not issued during this time, then a Closed Loop Halt will occur and the Runtime Error will be set (notice that if the Runtime Error AutoStop is set to a different type of halt, that halt will also occur). Make sure to create your program such that the next Advanced Time Move command will be issued within one loop time after the Done bit is set.

Target Generator State Bits

The Target Generator bits in the Status Bits register indicate which portion of the move the axis is currently in. These bits are useful when programming complex motion sequences.

Target Generator Done bit

This bit indicates the move is complete, which occurs when the Target Position has reached the Requested Position.

Target Generator State A and B bits

B

A

Description

0

0

The target generator is complete

0

1

Acceleration

1

0

Constant Velocity

1

1

Deceleration

 

See Also

Advanced Time Move Relative (27) | List of Commands | Commands Overview


Send comments on this topic.

Copyright © 2025 Delta Computer Systems, Inc. dba Delta Motion