2.4 KiB
2.4 KiB
钢筋焊缝定位系统 TCP/IP 文本通信协议
1. 连接参数
| 参数 | 说明 |
|---|---|
| 角色 | 视觉系统作为 TCP Server,机械臂或 PLC 作为 TCP Client |
| 默认端口 | 7800,可在网络配置界面修改 |
| 编码 | UTF-8 文本 |
| 行结束符 | \r\n(接收端兼容单独 \n) |
2. 触发检测
请求格式:
W{Camera}_X_Y_Z_A_B_C\r\n
示例:
W1_100.000_200.000_300.000_0.000_90.000_180.000\r\n
W:焊缝检测命令标识。Camera:相机编号,从 1 开始。X/Y/Z:拍照时机械臂当前法兰位置,单位 mm。A/B/C:拍照时机械臂当前法兰姿态,单位度,轴顺序由网络配置poseOutputOrder决定。- 报文必须恰好包含 7 段。格式或数值非法时返回
ERR\r\n。 - 系统正在检测、相机不可用或触发失败时返回
BUSY\r\n。 - 命令被接受时不单独返回 ACK,检测完成后返回结果报文。
2.1 姿态字段顺序
poseOutputOrder |
A | B | C |
|---|---|---|---|
| 0 | RX | RY | RZ |
| 1 | RX | RZ | RY |
| 2 | RY | RX | RZ |
| 3 | RY | RZ | RX |
| 4 | RZ | RX | RY |
| 5 | RZ | RY | RX |
3. 检测结果
成功且检测到焊缝时:
PointNum_WeldType_CX_CY_CZ_SX_SY_SZ_EX_EY_EZ_A_B_C[_WeldType_CX_..._C]\r\n
PointNum:本次焊缝总数。- 每条焊缝包含 13 个字段:焊缝类型、中心点 XYZ、起点 XYZ、终点 XYZ、姿态 ABC。
- 多条焊缝按同一 13 字段块连续追加,返回数量与
PointNum一致。 - 所有浮点数保留 3 位小数。
- TCP 为文本协议,不使用 Modbus 的
byteOrder配置。 - 检测失败或结果为空时返回
0\r\n。
示例(1 条焊缝):
1_2_10.000_20.000_30.000_5.000_20.000_30.000_15.000_20.000_30.000_0.000_90.000_180.000\r\n
焊缝类型:
| 值 | 含义 |
|---|---|
| 0 | 未知 |
| 1 | 点焊 |
| 2 | 焊缝 |
| 3 | 焊缝间隙 |
4. 手眼转换说明
- 眼在手上:
T_base_camera = T_base_flange × T_flange_camera。触发报文中的机械臂当前位姿参与本次检测的中心、起点、终点、方向和姿态转换。 - 眼在手外:标定矩阵直接表示相机到机器人基座的变换,触发报文仍保留六轴位姿字段,但不参与结果计算。
- 检测结果会广播给当前连接到服务端的所有 TCP 客户端。