### 执行拾取或放置对位（2 个部件）

XT2

一次定位两个部件，然后返回两个部件的拾取或放置位置

#### TCP/IP：

命令字符串：

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

字段 | 自变量
--- | ---
XT2 | 命令
<EncodedPartID> | 要定位的部件。 部件 ID 取决于配方配置。 要定位的部件 ID 采用以下方式编码： 位 0…3：部件 1 位 4…7：部件 2 此时编码部件 ID 为： EncodedPartID = 16 * 部件 2 + 部件 1
<resultMode> | 指定返回结果的方式： Abs：返回机器人的绝对位置，以正确拾取/放置部件。 Off: 返回基于机械手训练位置（参考 TTR 指令），以正确拾取/放置物件。 Frame: 返回托盘应用程序的框架纠正。 GC：不支持 GCP：不支持
<X> | 运动系统当前位置的 X 坐标
<Y> | 运动系统当前位置的 Y 坐标
<Z> | 运动系统当前位置的 Z 坐标
<A> | 运动系统当前位置的 Z 旋转
<B> | 运动系统当前位置的 Y 旋转
<C> | 运动系统当前位置的 X 旋转

结果字符串：

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

字段 | 说明
--- | ---
XT2 | 命令
<Status1> | 部件 1 的结果状态 1：成功 <=0：失败
<X1> | 已纠正的拾取（或放置）位置的 X 坐标（绝对或启始位），部件 1。
<Y1> | 已纠正的拾取（或放置）位置的 Y 坐标（绝对或启始位），部件 1
<Z1> | 已纠正的拾取（或放置）位置的 Z 坐标（绝对或启始位），部件 1
<A1> | 已纠正的拾取（或放置）位置的 Z 旋转（绝对或启始位），部件 1
<B1> | 已纠正的拾取（或放置）位置的 Y 旋转（绝对或启始位），部件 1
<C1> | 已纠正的拾取（或放置）位置的 X 旋转（绝对或启始位），部件 1
<Status2> | 部件 2 的结果状态 1：成功 <=0：失败
<X2> | 已纠正的拾取（或放置）位置的 X 坐标（绝对或启始位），部件 2
<Y2> | 已纠正的拾取（或放置）位置的 Y 坐标（绝对或启始位），部件 2
<Z2> | 已纠正的拾取（或放置）位置的 Z 坐标（绝对或启始位），部件 2
<A2> | 已纠正的拾取（或放置）位置的 Z 旋转（绝对或启始位），部件 2
<B2> | 已纠正的拾取（或放置）位置的 Y 旋转（绝对或启始位），部件 2
<C2> | 已纠正的拾取（或放置）位置的 X 旋转（绝对或启始位），部件 2

Note: 如果部件的状态为 <=0，则不会为此部件发送结果坐标。

#### SLMP

发送命令（输入块）

启始位 | 值 | 说明
--- | --- | ---
VIB_启始位 + 2 | 4016 | 命令：XT2 命令 ID
VIB_启始位 + 3 | <EncodedPartID> | 自变量 0： 要定位的部件。 部件 ID 取决于配方配置。 要定位的部件 ID 采用以下方式编码： 位 0…3：部件 1 位 4…7：部件 2 此时编码部件 ID 为： EncodedPartID = 16 * 部件 2 + 部件 1
VIB_启始位 + 5 | <resultMode> | 自变量 1： 请求的结果模式： 1：绝对 2：启始位 3：框架 5：不支持 6：不支持
VIB_启始位 + 7 | <X> | 运动系统当前位置的 X 坐标
VIB_启始位 + 9 | <Y> | 运动系统当前位置的 Y 坐标
VIB_启始位 + 11 | <Z> | 运动系统当前位置的 Z 坐标
VIB_启始位 + 13 | <A> | 运动系统当前位置的 Z 旋转
VIB_启始位 + 15 | <B> | 运动系统当前位置的 Y 旋转
VIB_启始位 + 17 | <C> | 运动系统当前位置的 X 旋转

接收结果（输出块）

启始位 | 值 | 说明
--- | --- | ---
VOB_启始位 + 5 | 4016 | 命令：XT2 命令 ID
VOB_启始位 + 6 | <Status1> | 第一个部件的结果状态： 1：成功 <=0：失败
VOB_启始位 + 7 | <X1> | 结果位置的 X 坐标（绝对或启始位），部件 1
VOB_启始位 + 9 | <Y1> | 结果位置的 Y 坐标（绝对或启始位），部件 1
VOB_启始位 + 11 | <Z1> | 结果位置的 Z 坐标（绝对或启始位），部件 1
VOB_启始位 + 13 | <A1> | 结果位置的 Z 旋转（绝对或启始位），部件 1
VOB_启始位 + 15 | <B1> | 结果位置的 Y 旋转（绝对或启始位），部件 1
VOB_启始位 + 17 | <C1> | 结果位置的 X 旋转（绝对或启始位），部件 1
VOB_启始位 + 19 | <Status2> | 第二个部件的结果状态： 1：成功 <=0：失败
VOB_启始位 + 21 | <X2> | 结果位置的 X 坐标（绝对或启始位），部件 2
VOB_启始位 + 23 | <Y2> | 结果位置的 Y 坐标（绝对或启始位），部件 2
VOB_启始位 + 25 | <Z2> | 结果位置的 Z 坐标（绝对或启始位），部件 2
VOB_启始位 + 27 | <A2> | 结果位置的 Z 旋转（绝对或启始位），部件 2
VOB_启始位 + 29 | <B2> | 结果位置的 Y 旋转（绝对或启始位），部件 2
VOB_启始位 + 31 | <C2> | 结果位置的 X 旋转（绝对或启始位），部件 2