Skip to content

LogicMove3AxisPickAndPlace

The LogicMove3AxisPickAndPlace component coordinates synchronized movement between three axes to perform automated pick and place operations. This component implements a complete pick and place sequence, moving between two positions while managing gripper control and providing status feedback to external systems.

The component executes a predefined sequence: move to pick position, lower axis, activate gripper, raise axis, move to place position, lower axis, deactivate gripper, raise axis, and return to standard position. Each phase is synchronized and monitored for completion before proceeding to the next step.

[Screenshot: LogicMove3AxisPickAndPlace component in Inspector showing axis assignments and position settings]

Axis1 (Drive) First axis drive component, typically the X-axis for horizontal movement. This axis handles primary horizontal positioning for both pick and place locations. Ensure the drive is configured with appropriate speed and acceleration values for smooth operation.

Axis2 (Drive) Second axis drive component, typically the Y-axis for horizontal movement. This axis provides secondary horizontal positioning, allowing the system to reach any XY coordinate within the workspace. Coordinate with Axis1 for synchronized horizontal movement.

Axis3 (Drive) Third axis drive component, typically the Z-axis for vertical movement. This axis controls the vertical approach and retraction movements during pick and place operations. Configure with appropriate speed for safe approach and rapid retraction.

StartPickAndPlace (PLCInputBool) Input signal to initiate the pick and place sequence. The component monitors this signal for a positive edge (false to true transition) to begin the automation cycle. Connect to external PLC outputs or manual control buttons.

Pick (PLCOutputBool) Output signal to control the gripper or pick mechanism. This signal becomes true when the system reaches the pick position and needs to activate the gripper, and becomes false when releasing the object at the place position.

PlacePositionReached (PLCInputBool) Input signal that confirms the place position has been reached and the object has been successfully placed. This allows external systems to provide confirmation before continuing the sequence, useful for quality control or external sensors.

ContinueAfterPlace (PLCOutputBool) Output signal to control sequence continuation after placing. When this signal becomes true, the system continues with gripper release and return to standard position. If not connected, the system automatically continues without waiting.

Position1 (Vector3) Pick position coordinates in millimeters for all three axes. Set the X, Y, and Z values to define where the system should pick up objects. These coordinates are relative to the drive’s zero positions and should be within the workspace limits.

Position2 (Vector3) Place position coordinates in millimeters for all three axes. Set the X, Y, and Z values to define where the system should place objects. Ensure adequate clearance from obstacles and proper alignment with receiving fixtures or conveyors.

StandardPos (Vector3) Standard home position coordinates in millimeters for all three axes. This is the safe position where the system starts and returns after each complete cycle. Position should provide clearance from all workspace obstacles and allow easy access for maintenance.

Status (string, read-only) Current status of the pick and place sequence for debugging and monitoring. Displays the current phase of operation such as “waiting”, “moving to pos1”, “moving down on pos1”, etc. Use this for troubleshooting sequence timing and progression.

  1. Component Setup: Add LogicMove3AxisPickAndPlace to an empty GameObject
  2. Assign Axes: Connect three drive components to Axis1, Axis2, and Axis3 fields
  3. Configure Positions: Set Position1 (pick), Position2 (place), and StandardPos coordinates
  4. Connect Start Signal: Assign a PLCInputBool to StartPickAndPlace
  5. Connect Gripper: Assign a PLCOutputBool to Pick for gripper control
  1. External Control: Connect StartPickAndPlace to PLC output for cycle initiation
  2. Gripper Interface: Connect Pick signal to pneumatic valve or electric gripper
  3. Position Feedback: Use PlacePositionReached for external confirmation sensors
  4. Sequence Control: Configure ContinueAfterPlace for external timing control
  1. Conveyor Coordination: Synchronize with conveyor systems using position signals
  2. Quality Control: Use PlacePositionReached for vision system integration
  3. Safety Integration: Connect to safety systems through external PLC interfaces
  4. Status Monitoring: Monitor Status property for production line dashboards
  1. Initialization: System moves to StandardPos on startup
  2. Waiting: System waits for StartPickAndPlace signal
  3. Move to Position1: Axis1 and Axis2 move to pick XY coordinates
  4. Lower at Position1: Axis3 moves down to pick Z coordinate
  5. Activate Gripper: Pick signal becomes true, gripper activates
  6. Raise at Position1: Axis3 returns to standard Z coordinate
  7. Move to Position2: Axis1 and Axis2 move to place XY coordinates
  8. Lower at Position2: Axis3 moves down to place Z coordinate
  9. Wait for Confirmation: Optional wait for PlacePositionReached signal
  10. Release Gripper: Pick signal becomes false, gripper releases
  11. Raise at Position2: Axis3 returns to standard Z coordinate
  12. Return to Standard: All axes return to StandardPos coordinates
  • Horizontal axes (Axis1, Axis2) move simultaneously for efficiency
  • Vertical axis (Axis3) moves only after horizontal positioning is complete
  • Each phase waits for IsAtTarget confirmation before proceeding
  • Status updates occur immediately when phase transitions happen
  • All three drives must support DriveTo() method for absolute positioning
  • Drives should have IsAtTarget property for position confirmation
  • Configure appropriate speeds and accelerations for smooth coordinated movement
  • Ensure drive position ranges accommodate all programmed coordinates
  • Verify workspace limits to prevent mechanical collisions
  • Test all positions manually before running automated sequences
  • Implement emergency stop functionality through external PLC interfaces
  • Consider soft limits and mechanical end stops for axis protection
  • Use FixedUpdate timing for consistent sequence execution
  • Position coordinates are cached for optimal performance
  • Component state machine minimizes processing overhead
  • Status string updates provide debugging without performance impact
  • Verify StartPickAndPlace signal is connected and receiving true values
  • Check that all three axis drives are properly assigned and active
  • Ensure system has completed initialization to StandardPos
  • Verify drive DriveTo() method is supported by connected drive types
  • Check position coordinates are within drive ranges and workspace limits
  • Confirm drives are not in manual mode or disabled state
  • Monitor Status property to identify which phase is causing delays
  • Check IsAtTarget implementation on drive components
  • Verify drive speeds and accelerations are appropriate for application
  • Test PLC signal connections in realvirtual Runtime Inspector
  • Verify interface configuration and connection status
  • Check signal direction (input vs output) assignments

© 2025 realvirtual GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.