### 使用备份模板（多模板）执行拾取或放置对位

多模板模式允许指定备份模板（部件 ID）。如果未找到主要部件，系统将自动尝试定位备用部件，以生成有效的对位结果。

### XTMP

定位部件并获得已纠正的机器人拾取（或放置）位置。

版本 3.1 和更高版本

#### TCP/IP：

命令字符串：

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

字段 | 自变量
--- | ---
XTMP | 命令
<EncodedPartID> | 要查找的主要部件和备份部件的部件 ID。部件 ID 取决于配方配置。部件 ID 采用以下方式编码： 位 1…4：主要部件 ID 位 5…8：第一个备份部件 ID 位 9…12：第二个备份部件 ID 位 13…16：第三个备份部件 ID
<resultMode> | 指定返回结果的方式： Abs：返回机器人的绝对位置，以正确拾取/放置部件。 关：返回基于机械手训练位置（参考 TTR 指令），以正确拾取/放置物件。 框架：返回托盘应用程序的框架纠正。 GC：不支持 GCP：不支持
<X> | 运动系统当前位置的 X 坐标
<Y> | 运动系统当前位置的 Y 坐标
<Z> | 运动系统当前位置的 Z 坐标
<A> | 运动系统当前位置的 Z 旋转
<B> | 运动系统当前位置的 Y 旋转
<C> | 运动系统当前位置的 X 旋转

结果字符串：

XTMP,<Status>,<FoundPartID>,<X>,<Y>,<Z>,<A>,<B>,<C>

字段 | 说明
--- | ---
XTMP | 命令
<Status> | 结果状态 1：成功 <=0：失败
<foundPartID> | 已成功定位的部件的部件 ID。这可以是主要部件 ID 或任何备份部件 ID。
<X> | 移动系统目标位置的 X 坐标（绝对或启始位）。
<Y> | 移动系统目标位置的 Y 坐标（绝对或启始位）。
<Z> | 移动系统目标位置的 Z 坐标（绝对或启始位）。
<A> | 移动系统目标位置的 Z 旋转（绝对或启始位）。
<B> | 移动系统目标位置的 Y 旋转（绝对或启始位）。
<C> | 移动系统目标位置的 X 旋转（绝对或启始位）。

#### SLMP：

发送命令（输入块）

启始位 | 值 | 说明
--- | --- | ---
VIB_启始位 + 2 | 4015 | 命令：XTMP 命令 ID
VIB_启始位 + 3 | <EncodedPartID> | 自变量 0： 要查找的主要部件和备份部件的部件 ID。部件 ID 取决于配方配置。部件 ID 采用以下方式编码： 位 1…4：主要部件 ID 位 5…8：第一个备份部件 ID 位 9…12：第二个备份部件 ID 位 13…16：第三个备份部件 ID
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 | 4015 | 命令：XTMP 命令 ID
VOB_启始位 + 6 | <Status> | 结果状态： 1：成功 <=0：失败
VOB_启始位 + 7 | <FoundPartID> | 已成功定位的部件的部件 ID。这可以是主要部件 ID 或任何备份部件 ID。
VOB_启始位 + 9 | <X> | 结果位置的 X 坐标（绝对或启始位）
VOB_启始位 + 11 | <Y> | 结果位置的 Y 坐标（绝对或启始位）
VOB_启始位 + 13 | <Z> | 结果位置的 Z 坐标（绝对或启始位）
VOB_启始位 + 15 | <A> | 结果位置的 Z 旋转（绝对或启始位）
VOB_启始位 + 17 | <B> | 结果位置的 Y 旋转（绝对或启始位）
VOB_启始位 + 19 | <C> | 结果位置的 X 旋转（绝对或启始位）