Index

axis_limits/hard az_margin, el_margin, {limit_regions}

Specify the limits of the telescope axes.

Optional qualifier arguments:
/hard
The presence of this modifier means that the limits to be changed are to be hard limits, rather than the soft limits.
Arguments:
Double az_margin
The distance that the azimuth must move into a new limit region, before the control system concludes that the limit region has definitively changed. This hysteresis prevents destructive jitter in the applied elevation limits when at the boundary between two limit regions.
Double el_margin
The closest distance to an elevation limit that the control system will command. By preventing the elevation from actually reaching a limit, at which azimuth motion would have to be halted, this margin allows motion in azimuth to continue while motion in elevation is being constrained by a limit.
listof AxisLimits regions_min
A list of the starting azimuths and the elevation limits of a contiguous sequence of azimuthal limit regions.

Examples:
The following example tells the control system that the most negative wrap extended azimuth that it should ever command, is -90 degrees. Between there and 155.0 degrees azimuth, it should limit elevation motion to between 11.5 and 90.5 degrees. Between 155 and 205 degrees azimuth, it should limit elevation motion to between 7.0 and 90.5 degrees, and finally, between 205 degrees azimuth and the positive azimuth limit of 335 degrees, it should limit elevation motion to between 11.5 and 90.5 degrees.
  axis_limits {
    {-90.0, 11.5, 90.5},
    {155.0,  7.0, 90.5},
    {205.0, 11.5, 90.5},
    {335.0,  0.0,  0.0}
  }
Note that the above example sets the soft axis limits. Alternatively, if the axis_limits command had been specified as axis_limits/hard then it would have set the hard limits. The meanings of soft and hard limits are described below.
Context:
The axis_limits command can be used to tell the control system either the soft axis limits, beyond which it must not attempt to position the axes, or the emergency hard limits, beyond which it should apply the brakes if the physical limit switches fail.

The soft limits must be inside the limits that are enforced by limit switches, and they must be far enough within these limits, that the axis can be brought to a halt on crossing a soft limit, before triggering the corresponding physical limit switch.

The hard limits must be outside the limits that are enforced by the physical limit switches. Their purpose is to tell the control system when to abort a hardware mediated stow or service command, in the case that the limit switch that normally ends one of these operations, fails.

The total azimuth range of the telescope covers more than a turn of the axis. So the azimuth limits must be expressed as wrap-extended azimuths.

The axis_limits command allows different elevation limits to be specified for different azimuthal regions. To do this, the axis_limits command takes a list of limit regions that are contiguous in azimuth. For each region in the list, the starting azimuth of that region is specified, along with the lower and upper elevation limit of that region. The ending azimuth of each region is set by the starting azimuth of the next region in the list. The final region must be terminated by specifying an extra dummy region whose starting azimuth denotes the most positive wrap-extended azimuth that the telescope can reach, and whose arbitrary elevation limits are simply discarded.

When the telescope is halted at the azimuth at which one region ends and another starts, even the slightest wind or other disturbance can cause the azimuth to move rapidly back and forth between azimuths of the two neighboring limit regions. To prevent this from causing rapid changes in the effective elevation limits, which could then cause rapid changes in the clipped target elevation and potentially destructive instability, a hysteresis margin is used. This specifies the minimum azimuthal distance that the azimuth must move into a new limit region, before the control system concludes that the new region has been definitively entered. This margin, whose size is one of the arguments of the axis_limits command, must be greater than the maximum expected jitter in the azimuth, caused by wind etc.

When the elevation is found to be at or beyond an elevation limit, the azimuth drive is halted until the elevation has been raised back inside the limit. Thus to allow continued azimuth motion while the elevation is being constrained by an elevation limit, the control system attempts to always keep the elevation at least a specified margin width from either elevation limit. This margin, whose size is one of the arguments of the axis_limits command, must be greater than the maximum expected jitter in elevation, caused by wind etc, such that these disturbances don't sporadically push the elevation below the limit and briefly stop azimuth motion.


Martin Shepherd (10-Mar-2011)