Files
2026-08-04 15:19:50 +08:00

96 lines
5.5 KiB
Markdown
Raw Permalink 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.
# 协议更新记录
## V1.6 更新
### 寄存器映射
- 新增 `0xD003` 运动速度寄存器,数量为 `1`,数据类型为 `ushort`,通信方向为“视觉→控制器”,用于在运动中更改移动速度。
- 原预留扩展寄存器区间由 `0xD003 ~ 0xD009`、数量 `7` 调整为 `0xD004 ~ 0xD009`、数量 `6`
- 新增 `0xD10A ~ 0xD117` 6轴物理位姿寄存器块,数量为 `14`,通信方向为“控制器→视觉”。
### 数据格式
- 6轴物理位姿由 `uint32` 时间戳和6个 `float` 组成,排布顺序为 `TS→X→Y→Z→A→B→C`
- 物理位置使用基坐标系,XYZ单位为 `mm`ABC单位为度,时间戳单位为 `ms`
- 运动速度的单位、取值范围和缩放方式在 V1.6 文档中未定义,实现前需与控制器侧确认。
## V1.4 更新(2026-06-22
### 寄存器映射
- 新增 `0xD002` 可用缓存数量寄存器,数量为 `1`,数据类型为 `ushort`,通信方向为“控制器→视觉”。
- 可用缓存数量用于反馈控制器当前可用缓存数量;当数量为 `0` 时,控制器不再接收目标位姿。
- 写入 `0xD020` 目标示教位姿前,必须确保 `0xD002` 可用缓存数量大于 `0`
- 原预留扩展寄存器区间由 `0xD002 ~ 0xD009`、数量 `8` 调整为 `0xD003 ~ 0xD009`、数量 `7`
## V1.3 更新(2026-06-18
### 模式命令字
- 第 4.1 节模式命令字取值范围由 `0~5` 调整为 `0~4`
- 模式 `0` 由“待机复位模式”调整为“手动示教模式”。
- 模式 `0` 的主辅角色由“空闲态”调整为“控制器完全主导”。
- 模式 `0` 的核心功能调整为“视觉仅监控状态,不下发任何控制指令”,适用场景调整为“上电初始”。
- 在线全轴跟踪模式表中的轮询周期由 `20ms` 调整为 `50ms`
- 模式定义表删除模式 `5`“紧急停止模式”;但 V1.3 原文地址映射表仍描述模式命令字取值范围 `0~5`,常用指令帧示例也仍保留 `0xD000=0`“进入待机复位模式”和 `0xD000=5`“紧急停止”,`docs/proto.md` 已按原文保留这些内容。
### 设备状态字
- 状态 `0` 由“待机就绪 / 0(待机复位)”调整为“空闲 / 任意模式”。
- 状态 `6` 的对应模式由 `5(急停)` 调整为“任意模式”。
- 状态 `6` 的说明删除“仅可切换至待机模式”,保留为“紧急停止指令已执行,控制器锁定所有运动”。
### 各模式通信行为
- 第 8.1 节由“待机复位模式(0)”调整为“手动示教模式(0)”。
- 模式 `0` 下视觉设备行为由“只读取状态字与当前位姿,不下发目标位姿、不下发纠偏量”调整为“只读取工作模式和状态字段,坐标无需读取”。
- 删除独立的第 8.6 节“紧急停止模式(5)”,改为在第 8.5 节后以“注意”形式描述急停触发后的通信行为。
### 状态机规则
- 删除“任意模式可随时切换至 0 待机、5 急停”。
- 删除“急停 5 只能退回 0 待机,不能直接进入运行模式”。
- “标定完成自动回待机”调整为“标定完成自动回空闲状态”。
- “示教完成可切待机、在线跟踪、批量复现”调整为“示教完成可切空闲、在线跟踪、批量复现”。
- 状态机规则序号由 6 条调整为 4 条。
### 代码适配要点
- 普通模式切换按第 4.1 节限定为 `0~4`,急停值 `5` 仅作为专用急停写入命令保留。
- 手动示教模式下轮询只读取模式命令字和设备状态字,不读取当前位姿寄存器。
- 在线全轴跟踪模式和轨迹批量复现模式均允许由上层纠偏策略写入 6 轴纠偏量。
## V1.2 更新(2026-05-25
### 寄存器映射
- 当前6轴位姿由 `0xD00A ~ 0xD015` 调整为 `0xD00A ~ 0xD017`,寄存器数量由 12 增加到 14。
- 目标示教位姿由 `0xD016 ~ 0xD021` 调整为 `0xD020 ~ 0xD02D`,寄存器数量由 12 增加到 14。
- 6轴全量纠偏量由 `0xD022 ~ 0xD02D` 调整为 `0xD036 ~ 0xD043`,寄存器数量由 12 增加到 14。
- 复合数据块的数据类型按 V1.2 原文标记为 `uint32``float`
- 新增预留扩展区:`0xD018 ~ 0xD01F``0xD02E ~ 0xD035``0xD044 ~ 0xD04B`
- 标定参数预留区由 `0xD02E ~ 0xD04D` 调整为 `0xD04C ~ 0xD06B`
### 数据格式
- 当前位姿、目标示教位姿、6轴纠偏量的数据格式由 6 个 `float` 调整为 `uint32` 时间戳 + 6 个 `float`
- 三类6轴数据的排布顺序由 `X→Y→Z→A→B→C` 调整为 `TS→X→Y→Z→A→B→C`
- 时间戳单位为 `ms`,占用 2 个连续保持寄存器。
- 第 5 节总述删除旧版末尾补充说明“解析规则一致。”。
### 指令示例
- 读当前6轴位姿示例由读取 12 个寄存器调整为读取 14 个寄存器:`08 03 D0 0A 00 0E DC 55`
- 写6轴全量纠偏量示例调整为从 `0xD036` 写入 14 个寄存器,并增加 `ts=1000` 示例数据。
- V1.2 原文中的写6轴全量纠偏量示例帧使用从站地址 `01`,而协议核心规则仍声明从站地址固定为 `0x08``docs/proto.md` 已按 V1.2 原文保留该示例。
### 通信时序
- 在线全轴跟踪模式通信行为规范中的固定轮询周期由 `20ms` 调整为 `50ms`V1.2 原文模式表仍保留 `20ms` 描述,`docs/proto.md` 按 V1.2 原文分别保留。
- 视觉设备独立线程轮询周期由 `20ms` 调整为 `50ms`
- 单帧通信超时由 `50ms` 调整为 `150ms`
### 状态机规则
- 模式状态机第 3 条删除旧版补充说明“控制器内部处理”,调整为 V1.2 原文“标定完成自动回待机”。