### 使用备份模板执行对位（多模板模式）

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

### XAMP

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

版本 3.1 和更高版本

#### TCP/IP：

命令字符串：

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

字段 | 自变量
--- | ---
XAMP | 命令
<EncodedPartID> | 要查找的主要部件和备份部件的部件 ID。部件 ID 取决于配方配置。部件 ID 采用以下方式编码： 位 1…4：主要部件 ID 位 5…8：第一个备份部件 ID 位 9…12：第二个备份部件 ID 位 13…16：第三个备份部件 ID
<resultMode> | 指定返回结果的方式： “Abs”：返回绝对运动位置，运动机构直接移動到該位置以使目標到達已訓練過的黃金位置。 “关”：返回相对运动位置，运动机构从当前位置移动该相对量以使目标到达已训练过的黄金位置。
<X> | 运动系统当前位置的 X 坐标
<Y> | 运动系统当前位置的 Y 坐标
<Z> | 运动系统当前位置的 Z 坐标
<A> | 运动系统当前位置的 Z 旋转
<B> | 运动系统当前位置的 Y 旋转
<C> | 运动系统当前位置的 X 旋转

结果字符串：

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

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

#### SLMP

发送命令（输入块）

启始位 | 值 | 说明
--- | --- | ---
VIB_启始位 + 2 | 3014 | 命令：XAMP 命令 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：启始位
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 | 3014 | 命令：XAMP 命令 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 旋转（绝对或相对）