Method EndStop

This method uses an user-configurable end stop signal, for example the Event signal of a ‘tracking error limit’ or ‘control output saturation’ exceeded event. Optionally an index pulse can be configured. Required configuration for method EndStop describes the inputs that are required to have a connected signal for this method to operate. If the end stop signal is active, the direction is reversed and the end stop signal should become inactive again. If an index pulse is configured, the search for the rising edge of the index pulse starts after the end stop signal becomes inactive. The position of the end stop is stored in signal TriggerPosition for position B. The UserOffset signal is used to modify the HomeOffset.

After the home position has been found, the HomeOffset is updated as follows:

HomeOffset = - HomePosition + UserOffset

Note

In EndStopA homing, the direction is not reversed when the end stop signal is active. However, a quick stop is performed when the home position is reached. This means that the demand position extends beyond the end stop, which will cause the control output to grow and possibly saturate. The control loop is briefly opened and closed to reset the demand position to the actual position, so that the tracking error becomes zero. Furthermore, this also resets the state of the feedback controller.

Attention

Opening and closing the loop can have unintended side effects for some types of systems. In particular, any axis that requires a steady-state control output, for example to compensate for gravity or a flexure guide, might get large control transients when resetting the feedback controller. It is not recommended to use EndStopA homing for these kinds of systems.

Method EndStop (for positive home direction)

Method EndStop (for positive home direction)

Required configuration for method EndStop

Home pos

Input name

Signal

A

EndStop

Event signal representing end stop.

B

EndStop

Event signal representing end stop.

IndexPulse

Actual signal of index pulse.

Controller saturation

EndStopA homing can result in controller saturation issues. The sections below illustrate possible causes and explain how to address this risk.

Elastic endstop

The home position is determined based on a trigger such as the tracking error limit exceeded event or control output saturation exceeded event. Holding the axis in this position typically requires a control output unequal to 0, which can potentially lead to saturation problems.

Rigid (hard) endstop

Noise can cause the axis to be in the endstop even after opening and closing the loop (as done for Homing method EndStopA). As a consequence, this can cause controller saturation problems.

Tip

There are some good practices to reduce the risk for saturation problems:
  1. Temporarily reduce the MaximumVelocity, MaximumAcceleration, MaximumJerk and CoutSaturationLimit, to make sure that the maximum currents remain as low as possible during homing

  2. Decreasing the control gain in combination with strict tracking error/control output saturation limits is not recommended, this may cause false positives during the homing movement, resulting in a wrong home position

Signals

The signals for this homing method are given in Homing signals for Method EndStop.

Homing signals for Method EndStop

Name

Data type

R/W

Description

HomeDirection

Enum

RW

Direction of initial movement, see Homing directions for possible values.

HomeVelocity

Float

RW

Velocity used in state Homing for last move towards the desired home position. 0 \(\le\) HomeVelocity \(\le\) DemandVelocityLimit. The MaximumVelocity is used if set to 0.

InitialVelocity

Float

RW

Velocity used in state Homing for all moves except the final move towards the desired home position. 0 \(\le\) InitialVelocity \(\le\) DemandVelocityLimit. The MaximumVelocity is used if set to 0.

TriggerPosition

Double

R

Trigger position as stored during homing, relative to coordinate system after successful homing, used for method EndStopB.

Run exceptions

The EndStop homing method can fail with the run exceptions given in Homing run exceptions for method EndStop.

Homing run exceptions for method EndStop

Run exception

Description

TimeoutException

The configured timeout was exceeded.

AbortedException

The homing procedure was aborted due to one of the following reasons:

  • Axis left state Operation enabled, e.g. to Fault, during homing procedure.

  • Homing procedure aborted by event response.

The exact abort reason is given by the exception message available via the RunException property on the Homing interface.

OutOfResourcesException

No commands available during homing procedure.