Travel Limit Functions
IMPORTANT: Aerotech recommends that you use the Travel Limit functions only for advanced troubleshooting and custom homing routines. Do not use this feature for other operations.
Use the travel limit functions to move an axis into and out of specified boundaries. These boundaries can be hardware end-of-travel limits or software limits. The ReverseMotionDirection Parameter has no effect on Travel Limit functions.
MoveToLimitCw() function - Moves an axis to the nearest limit condition in the clockwise direction.
MoveToLimitCcw() function - Moves an axis to the nearest limit condition in the counterclockwise direction.
MoveOutOfLimit() function - Moves an axis out of all the limit conditions.
function MoveToLimitCw($axis as axis)
Executes an asynchronous move on an axis to move it into a limit condition in the clockwise direction.
Arguments
$axis The axis on which to perform the move.
function MoveToLimitCcw($axis as axis)
Executes an asynchronous move on an axis to move it into a limit condition in the counterclockwise direction.
Arguments
$axis The axis on which to perform the move.
function MoveOutOfLimit($axis as axis)
Executes an asynchronous move on an axis to move it out of a limit condition.
Arguments
$axis The axis on which to perform the move.
Use the MoveToLimitCw() and MoveToLimitCcw() functions to move an axis until the drive detects a hardware end-of-travel limit.
During the move, motion starts to decelerate after the limit condition becomes active. The controller does not generate a hardware end-of-travel limit fault. To find the position that the drive detected the end-of-travel limit, use the DriveGetItem() function with the DriveItem enumeration, using either the LatchedCwLimitPosition or LatchedCcwLimitPosition value.
Use the MoveOutOfLimit() function to move an axis out of all the hardware end-of-travel limits and software limits that are currently active. The axis must be in a limit condition for the command to have an effect, but the faults that correspond to the limit condition can be inactive.
During the move, the motion starts to decelerate after the limit condition becomes inactive. If a software limit fault or hardware end-of-travel limit fault is active, the controller clears the fault.
Hardware End-Of-Travel Limit Configuration
To configure the active state of a hardware end-of-travel limit, use the EndOfTravelLimitSetup Parameter. For a hardware end-of-travel limit, the LimitDebounceDistance Parameter and the LimitDebounceTime Parameter have an effect on how the limit condition is determined.
Software Limit Configuration
To configure the software limits, use the SoftwareLimitSetup Parameter, SoftwareLimitLow Parameter, and the SoftwareLimitHigh Parameter. When you configure the software limits, they become active after you home the axis.
Motion Behavior
The HomeSpeed Parameter specifies the speed of the MoveToLimitCw(), MoveToLimitCcw(), and MoveOutOfLimit()
move. The HomeRampRate Parameter specifies the acceleration and deceleration rate of the move. The acceleration and deceleration ramp types are always linear. See Acceleration and Deceleration Ramping for more information.
These functions are asynchronous, which means that program execution continues to the next program line without waiting for the move to complete. To wait for motion to complete, use the WaitForMotionDone() function or the WaitForInPosition() function.