GrabBag/App/TireHolePose/Doc/轮胎定位ModbusTCP协议文档.md
2026-06-25 00:04:26 +08:00

55 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 轮胎孔定位 ModbusTCP 协议
## 1. 概述
- **协议**: Modbus TCP保持寄存器
- **端口**: `502`
- **模式**: 眼在手外(相机固定,无需机械臂位姿)
## 2. 寄存器定义
| 地址 | 长度 | 访问 | 说明 |
|---:|---|---|---|
| `0` | 1 | 写 | 触发检测,写入 `1` |
| `1` | 1 | 读 | 工作状态 |
| `14` | 2 | 读 | 目标点 Xfloat32单位 mm |
| `16` | 2 | 读 | 目标点 Yfloat32单位 mm |
| `18` | 2 | 读 | 目标点 Zfloat32单位 mm |
| `20` | 2 | 读 | 目标点姿态分量 1float32单位 deg |
| `22` | 2 | 读 | 目标点姿态分量 2float32单位 deg |
| `24` | 2 | 读 | 目标点姿态分量 3float32单位 deg |
- 每个 `float32` 占 2 个保持寄存器(大端序,高 16 位在前)
- 多个检测结果时仅输出第一个
- 位置保留 3 位小数,姿态保留 3 位小数
## 3. 姿态输出顺序
寄存器 `20~25` 中三个姿态分量的含义由 `poseOutputOrder` 控制:
| poseOutputOrder | 顺序 |
|----------------:|------|
| `0` | RX, RY, RZ默认 |
| `1` | RX, RZ, RY |
| `2` | RY, RX, RZ |
| `3` | RY, RZ, RX |
| `4` | RZ, RX, RY |
| `5` | RZ, RY, RX |
## 4. 工作状态
| 状态值 | 含义 |
|---:|---|
| `0` | 空闲 |
| `1` | 检测中 |
| `2` | 检测完成 |
| `3` | 异常 |
## 5. 触发流程
1. 读寄存器 `1`,确认状态为 `0`(空闲)
2. 写寄存器 `0 = 1`(触发检测)
3. 轮询寄存器 `1`
4. 状态为 `2` 时,读寄存器 `14~25` 获取目标点
5. 状态为 `3` 时,本次检测失败