An axis interlock actuator can automatically act when axis movement happens. It can actuate itself according to specific axis positions or movements, or it can read itself to confirm the safety of axis movement and lock against it, avoiding potentially dangerous machine situations.
Example use cases (some are documented below):
Many more are possible.
In the Machine Setup go to the Head and add a new Actuator using the + button. Any of the Actuator implementation can be used for axis interlock functions. Refer to the [[Setup and Calibration: Actuators]] page for more information about how the actuators are set up. This page will only discuss the extra Axis Interlock functionality.

Enable the Axis Interlock functionality and press Apply.

A new Axis Interlock Wizard tab will appear.

Interlock Type determines the central function of the actuator.

None: The Actuator is effectively inactive.
Signal Axes Moving: Signals itself boolean ON whenever one or more of the given Axes (1-4) are moving.
Signal Axes Standing Still: Signals itself boolean ON whenever all of the given Axes (1-4) are standing still.
Signal Axes Inside Safe Zone: Signals itself boolean ON when all of the given Axes (1-4) are moving inside their respective Safe Zones. See the [[Axis Safe Zone configuration for more information|Machine-Axes#kinematic-settings--axis-limits]]. This is typically used with a single Z axis and its Safe Z Zone (see the example below). The actuation happens before the move if it goes into the Safe Zone. The actuation happens after the move, if it goes away from the Safe Zone.
Signal Axes Outside Safe Zone: Signals itself boolean ON when one or more of the given Axes (1-4) are moving outside their respective Safe Zones.
Signal Axes Parked: Signals itself boolean ON whenever all of the given Axes (1-4) are in their Park position. This is the position the machine goes to, when pressing the corresponding [P] buttons on the Machine Controls.
Signal Axes Unparked: Signals itself boolean ON whenever one or more of the given Axes (1-4) are not in their Park position.
Confirm in Range Before Axes Move: Before one or more of the given Axes (1-4) are about to be moved, the actuator reads itself as a numeric value (floating point value) and compares the reading to the Confirmation range. Two extra fields appear, where you can enter the lower and upper limits of the range. If the reading is within that range, the axis move is allowed. Otherwise, the current Job or user Action will be interrupted.

Confirm in Range After Axes Move: After one or more of the given Axes (1-4) have been moved, the actuator reads itself as a numeric value (floating point value) and compares the reading to the Confirmation range. If the reading is within that range, further operation is allowed. Otherwise, the current Job or user Action will be interrupted.
Confirm Match Before Axes Move: Before one or more of the given Axes (1-4) are about to be moved, the actuator reads itself as a text value and compares the reading to the Confirmation pattern. Two extra fields appear, where you can enter the pattern and the option to match it using Regular Expressions syntax. If the reading is a match, the axis move is allowed. Otherwise, the current Job or user Action will be interrupted.

Confirm Match After Axes Move: After one or more of the given Axes (1-4) have been moved, the actuator reads itself as a text value and compares the reading to the Confirmation pattern. If the reading is a match, further operation is allowed. Otherwise, the current Job or user Action will be interrupted.
The interlock function described above is subject to the conditions you can define here.
Boolean Actuator determines which actuator's last actuation state to consider as a precondition to apply the interlock function. As soon as you select an actuator, an additional field appears to select the state wanted for the interlock to happen. When OpenPnP is started or after a homing operation, the actuation state is considered unknown. You can choose to include or exclude the unknown state:

The two Speed [%] range limits determine under which machine speed range the interlock should apply. If the interlock is preventing potentially dangerous moves, you can still allow it to be overridden under low Speed [%].

The actuation and readings of an InterlockActuator must naturally be coordinated to the machine motion. This is configured with Machine Coordination [[(explained in more detail here)|Motion-Planner#actuator-machine-coordination]]. Usually the default settings are fine.

It must be mentioned that InterlockActuators will interrupt continuous [[Motion Path Planning|Motion-Planner#motion-path-planning]] resulting in a performance penalty and possibly preventing advanced optimizations such as [[Motion Blending|Motion-Planner#motion-blending]]. Therefore, these should only be used when necessary.

Use this configuration to create a pneumatic nozzle (formerly known as a "Marek Nozzle").
Notes:
M400 or similar.
Use this configuration to prohibit any movement of the X, Y, C axes when the InterlockActuator reads itself outside the given confirmation range.

Assume you have a DRAG_PIN actuator that engages the drag pin. Use this configuration to prohibit any movement of the X, Y axes when the InterlockActuator reads itself not matching the confirmation pattern. The interlock is subject to the DRAG_PIN actuator being switched off. This is obviously needed to allow the drag move itself. The example interlock makes an exception for very slow movement. This might be useful in order to try and gently de-block a stuck pin.
a)
b) 
The two axis interlock actuators work together to a) only allow motion with a closed door confirmed by a sensor and b) lock the door as soon as the axes move away from being parked.