Files
line-laser-modbus/docs/changes.md
T
2026-06-18 17:24:59 +08:00

77 lines
4.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.
# 协议更新记录
## V1.3 更新(2026-06-18
基于 `docs/线激光视觉设备与运动控制器 Modbus RTU 通信协议_V1.3.docx` 更新 `docs/proto.md`
### 模式命令字
- 第 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
基于 `docs/线激光视觉设备与运动控制器 Modbus RTU 通信协议_V1.2.docx` 更新 `docs/proto.md`
### 寄存器映射
- 当前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 原文“标定完成自动回待机”。