### Execute Pick or Place Alignment (2 Parts)

XT2

Locate two parts at a time and return pick or place pose for both

#### TCP/IP:

Command String:

XT2,<EncodedPartID>,<resultMode>,<X>,<Y>,<Z>,<A>,<B>,<C>

Field | Arguments
--- | ---
XT2 | The command
<EncodedPartID> | The parts to be located. PartIDs depend on the recipe configuration. The partIDs to be located are encoded as follows: Bit 0…3: Part1 Bit 4…7: Part2 The EncodedPartID is then: EncodedPartID = 16 * Part2 + Part1
<resultMode> | Specifies how the result will be returned: Abs: Returns the absolute robot position to properly pick/place the part. Off: Return the Offset from the trained robot position (see TTR command) to properly pick/place the part. Frame: Returns the frame correction in Tray applications. GC: Not supported GCP: Not supported
<X> | The X-coordinate of the current position of the motion system
<Y> | The Y-coordinate of the current position of the motion system
<Z> | The Z-coordinate of the current position of the motion system
<A> | The Z-rotation of the current position of the motion system
<B> | The Y-rotation of the current position of the motion system
<C> | The X-rotation of the current position of the motion system

Result String:

XT2,<Status1>,<X1>,<Y1>,<Z1>,<A1>,<B1>,<C1>,<Status2>,<X2>,<Y2>,<Z2>,<A2>,<B2>,<C2>

Field | Description
--- | ---
XT2 | The command
<Status1> | The result status for Part1 1: Success <=0: Fail
<X1> | The X-coordinate (absolute or offset) of the corrected pick (or place) pose, Part1.
<Y1> | The Y-coordinate (absolute or offset) of the corrected pick (or place) pose, Part1
<Z1> | The Z-coordinate (absolute or offset) of the corrected pick (or place) pose, Part1
<A1> | The Z-rotation (absolute or offset) of the corrected pick (or place) pose, Part1
<B1> | The Y-rotation (absolute or offset) of the corrected pick (or place) pose, Part1
<C1> | The X-rotation (absolute or offset) of the corrected pick (or place) pose, Part1
<Status2> | The result status for Part2 1: Success <=0: Fail
<X2> | The X-coordinate (absolute or offset) of the corrected pick (or place) pose, Part2
<Y2> | The Y-coordinate (absolute or offset) of the corrected pick (or place) pose, Part2
<Z2> | The Z-coordinate (absolute or offset) of the corrected pick (or place) pose, Part2
<A2> | The Z-rotation (absolute or offset) of the corrected pick (or place) pose, Part2
<B2> | The Y-rotation (absolute or offset) of the corrected pick (or place) pose, Part2
<C2> | The X-rotation (absolute or offset) of the corrected pick (or place) pose, Part2

Note: If the Status for a part is <=0, no result coordinates will be sent for this part.

#### SLMP

Send command (Input Block)

Offset | Value | Description
--- | --- | ---
VIB_Offset + 2 | 4016 | Command: XT2 command ID
VIB_Offset + 3 | <EncodedPartID> | Argument 0: The parts to be located. PartIDs depend on the recipe configuration. The partIDs to be located are encoded as follows: Bit 0…3: Part1 Bit 4…7: Part2 The EncodedPartID is then: EncodedPartID = 16 * Part2 + Part1
VIB_Offset + 5 | <resultMode> | Argument1: The requested result mode: 1: Absolute 2: Offset 3: Frame 5: Not supported 6: Not supported
VIB_Offset + 7 | <X> | The X-coordinate of the current position of the motion system
VIB_Offset + 9 | <Y> | The Y-coordinate of the current position of the motion system
VIB_Offset + 11 | <Z> | The Z-coordinate of the current position of the motion system
VIB_Offset + 13 | <A> | The Z-rotation of the current position of the motion system
VIB_Offset + 15 | <B> | The Y-rotation of the current position of the motion system
VIB_Offset + 17 | <C> | The X-rotation of the current position of the motion system

Receive Result (Output Block)

Offset | Value | Description
--- | --- | ---
VOB_Offset + 5 | 4016 | Command: XT2 command ID
VOB_Offset + 6 | <Status1> | The result Status for the 1st Part: 1: Success <=0: Fail
VOB_Offset + 7 | <X1> | The X-coordinate of the result pose (absolute or offset), Part 1
VOB_Offset + 9 | <Y1> | The Y-coordinate of the result pose (absolute or offset) , Part 1
VOB_Offset + 11 | <Z1> | The Z-coordinate of the result pose (absolute or offset) , Part 1
VOB_Offset + 13 | <A1> | The Z-rotation of the result pose (absolute or offset) , Part 1
VOB_Offset + 15 | <B1> | The Y-rotation of the result pose (absolute or offset) , Part 1
VOB_Offset + 17 | <C1> | The X-rotation of the result pose (absolute or offset) , Part 1
VOB_Offset + 19 | <Status2> | The result Status for the 2nd Part: 1: Success <=0: Fail
VOB_Offset + 21 | <X2> | The X-coordinate of the result pose (absolute or offset), Part 2
VOB_Offset + 23 | <Y2> | The Y-coordinate of the result pose (absolute or offset) , Part 2
VOB_Offset + 25 | <Z2> | The Z-coordinate of the result pose (absolute or offset) , Part 2
VOB_Offset + 27 | <A2> | The Z-rotation of the result pose (absolute or offset) , Part 2
VOB_Offset + 29 | <B2> | The Y-rotation of the result pose (absolute or offset) , Part 2
VOB_Offset + 31 | <C2> | The X-rotation of the result pose (absolute or offset) , Part 2