Scroll to navigation

LIMIT_AXIS(9) HAL Component LIMIT_AXIS(9)

NAME

limit_axis - Dynamic range based axis limits

SYNOPSIS

loadrt limit_axis [count=N|names=name1[,name2...]] [personality=P,P,...]

DESCRIPTION

limit_axis.c

Limit axis to certain limits at varying inputs For example on a spindle with C rotation, to avoid hitting a gantry when the height is above Z-10
- Use Z axis as feedback
- Use 2 ranges (0,-10) (-10, -40)
- When Z is above 10, C rotation is limited to range 0
- When Z is below 10, C rotation is limited to range 1


Usage:
loadrt limit_axis count=3 personality=2,3,2
or
loadrt limit_axis names=limit_x,limit_y,limit_z personality=2,3,2


The "personality" argument defines how many ranges are supported by each instance.
(Note that no spaces can be used in the names= and personality= parameters)


Caveats
- Searches ranges from 0 to 9 and will take the first range that matches
- Ranges are inclusive min_range <= feedback <= max_range
- Max can not be less than minimum for any group
- Sticky indicates, to not check other ranges if the feedback is still in the current range
- Enable allows for a range to be turned on/off, for cases such as avoiding a tool changer, but allowing sometimes

FUNCTIONS

PINS

error pin indicating that no range matches the fb
Minimum limit output
Maximum limit output
Feedback pin, the value of this pin determines which range is active
Indicates which range is currently active
The array of minimum limits to select from
The array of macimum limits
Defines the range of values with which the fb is compared to set the range
Defines the range of values with which the fb is compared to set the range
Used to enable and disable a specific range
Used to make specific range 'sticky' or not
Error bit indicating that the fb pin falls outside all ranges
Error bit indicating that the max limit is not larger than the min limit

AUTHOR

Chad Woitas

LICENSE

GPL

2024-03-13 LinuxCNC Documentation