구동축 인터락 액추에이터 - Helsparrow/OpenpnpDocs_KR GitHub Wiki

뭡니까 이게?

축 인터록 액추에이터는 축 이동이 발생할 때 자동으로 작동할 수 있습니다. 특정 축 위치나 움직임에 따라 스스로 작동하거나, 스스로를 읽어 축 이동의 안전성을 확인한 후 잠글 수 있어 잠재적으로 위험한 기계 상황을 회피할 수 있습니다.

사용 사례의 예(일부는 아래에 설명되어 있습니다):

  • 가상 Z 축을 기준으로 공압 노즐을 위/아래로 작동합니다.
  • 센서가 노즐이 후퇴하지 않았음을 가리키는 한 X, Y 움직임을 막습니다.
  • 센서가 드래그 핀이 후퇴하지 않았음을 가리키고, 그렇게 해야만 하는 경우 X, Y 움직임을 막습니다.
  • 모션이 실패 없이 완료되었는지 확인합니다(스텝 손실 / 고장 신호 등).
  • 축이 park되어 있는 경우 기계 문을 잠금 해제합니다.
  • 도어가 잠금 해제가 감지될 때 축 이동을 금지 합니다.
  • 기계 가동 신호를 보냅니다 예: 스택 라이트.

그외에도 더 많은 것들이 구현 가능합니다.

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