Skip to content

Axis Interlock Actuator

markmaker edited this page Oct 25, 2021 · 6 revisions

What is it?

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):

  • Actuate pneumatic nozzles up/down based on a virtual Z axis.
  • Prevent X, Y movement as long as a sensor indicates that the nozzles are not retracted.
  • Prevent X, Y movement as long as a sensor indicates that a drag pin is not retracted, when it should.
  • Confirm that motion has completed without any faults (steps lost fault signal etc.).
  • Unlock a machine door when axes are parked.
  • Prevent axis movement when a door is sensed unlocked.
  • Signal a moving machine e.g. for a Stack Light.

Many more are possible.

Creating an Actuator for Axis Interlock

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.

Creating an Interlock Actuator

Enable the Axis Interlock functionality and press Apply.

Enabling the Axis Interlock

A new Axis Interlock Wizard tab will appear.

General Configuration

General Configuration

Axis Interlock

Interlock Type determines the central function of the actuator.

Interlock Type

  • 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. 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.

    Confirmation Range

  • 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.

    Confirmation Pattern

  • 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.

Interlock Conditions

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:

Condition 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 [%].

Speed Range

Machine Coordination

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). Usually the default settings are fine.

Machine Coordination

It must be mentioned that InterlockActuators will interrupt continuous Motion Path Planning resulting in a performance penalty and possibly preventing advanced optimizations such as Motion Blending. Therefore, these should only be used when necessary.

Useful Configuration Examples

Pneumatic Nozzles

Pneumatic Z

Use this configuration to create a pneumatic nozzle (formerly known as a "Marek Nozzle").

  1. Create a virtual Z axis dedicated to that nozzle.
  2. Map the virtual Z axis to the nozzle.
  3. Create the InterlockActuator shown above with Signal Axes Inside Safe Zone logic, to actuate the pneumatic valve ON to physically move up the nozzle when the virtual axis is about to move to its Safe Z coordinate (actuation before the move). It will actuate OFF to move the Nozzle down when the virtual Z axis has completed a move that leaves the Safe Z coordinate (actuation after the move).

Notes:

  • If your pneumatic ON/OFF polarity is inverted, just use the Signal Axes Outside Safe Zone instead.
  • The virtual axis Safe Z coordinate is the same as the home coordinate, i.e. if Z is at or above the home coordinate, it will actuate the nozzle.
  • The before/after move characteristic is only relevant if other axes than Z are moved at the same time, for example a diagonal move, in a nozzle tip changing move. You should then of course be aware of the order and timing with which these physical movements happen.
  • You might want to enable the Machine Coordination After Actuation option, if the pneumatic action takes a considerable amount of time to complete and its completion is acknowledged by the controller's flow-control, M400 or similar.
  • Make a separate virtual Z per nozzle, especially do not re-use the one for the camera.

Safety Confirmation Sensor on a Z Axis

Check Z Up

Use this configuration to prohibit any movement of the X, Y, C axes when the InterlockActuator reads itself outside the given confirmation range.

Safety Confirmation Sensor on a Drag Pin

Drag Pin Confirm

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.

Handling a Safety Machine Door

a) Door Sensor b) Door Lock

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.


Advanced Motion Control Topics

Motion Control

Machine Axes

General

Clone this wiki locally