2.6 KiB
2.6 KiB
锥形工件定位 / 转子钢芯定位 Modbus TCP 客户对接协议
1. 通信参数
| 项目 | 说明 |
|---|---|
| 协议 | Modbus TCP |
| 视觉设备角色 | Server / 从设备 |
| 客户设备角色 | Client / 主设备 |
| 连接端口 | 现场标准端口 502 |
| 寄存器地址 | 本文档使用 0-based 地址 |
| 数据区 | Holding Register |
| 浮点格式 | 32 位 IEEE754,占 2 个 16 位寄存器 |
| 默认浮点字顺序 | 高字在前,低字在后,即 ABCD |
2. 支持的功能码
| 功能码 | 名称 | 用途 |
|---|---|---|
0x03 |
Read Holding Registers | 读取状态和检测结果 |
0x06 |
Write Single Register | 写入触发命令 |
0x10 |
Write Multiple Registers | 写入触发命令 |
3. 寄存器表
| 地址 | 名称 | 数据类型 | 客户操作 | 说明 |
|---|---|---|---|---|
0 |
Trigger | uint16 | 写 | 触发检测命令 |
1 |
Status | uint16 | 读 | 检测状态 |
2 |
ResultStart | - | 读 | 工件检测结果起始地址 |
4. 触发命令
客户向 Trigger 寄存器写入:
| 写入值 | 命令 |
|---|---|
1 |
工件检测 |
2 |
料框检测 |
5. 状态寄存器
客户读取 Status 寄存器:
| 状态值 | 说明 |
|---|---|
0 |
正在检测 |
1 |
检测完成 |
2 |
检测失败 |
工件检测完成且 Status=1 后,客户读取工件检测结果寄存器。
料框检测只通过 Status 返回完成或失败,不提供料框几何结果寄存器。
6. 工件检测结果
当前 Modbus TCP 返回第一个工件结果。
结果从地址 2 开始,共 14 个寄存器:
| 地址 | 寄存器数 | 数据类型 | 字段 | 说明 |
|---|---|---|---|---|
2 |
1 | uint16 | workpieceType |
工件类型 |
3 |
1 | uint16 | reserved | 保留 |
4-5 |
2 | float | X |
X 坐标,单位 mm |
6-7 |
2 | float | Y |
Y 坐标,单位 mm |
8-9 |
2 | float | Z |
Z 坐标,单位 mm |
10-11 |
2 | float | A |
姿态第 1 项,单位 deg |
12-13 |
2 | float | B |
姿态第 2 项,单位 deg |
14-15 |
2 | float | C |
姿态第 3 项,单位 deg |
7. 姿态字段顺序
默认姿态字段含义:
| 字段 | 默认含义 |
|---|---|
A |
Roll |
B |
Pitch |
C |
Yaw |
如现场约定了其他姿态顺序,以项目交付时确认的协议参数为准。
8. 典型交互流程
- 客户设备连接视觉设备 Modbus TCP 端口。
- 客户设备向地址
0写入1,触发工件检测。 - 客户设备轮询地址
1。 - 当地址
1读取为1时,读取地址2-15获取工件结果。 - 当地址
1读取为2时,本次检测失败,不读取结果。