GrabBag/App/ScrewPosition/Doc/螺杆定位TCP协议文档.md

2.6 KiB
Raw Blame History

螺杆定位 TCP/IP 通信协议文档

1. 协议概述

  • 传输协议: TCP/IP
  • 数据格式: JSONUTF-8编码
  • 服务模式: 服务端,支持多客户端连接
  • 默认端口: 7800可配置

2. 消息公共字段

字段 类型 说明
MessageType string 消息类型
Timestamp long 时间戳(毫秒),响应回传请求的 Timestamp
Data object 数据内容

3. 螺杆检测Screw

请求:

{"MessageType": "ScrewRequest", "Timestamp": 1712649600000}

确认响应:

{"MessageType": "ScrewResponse", "Timestamp": 1712649600000, "Data": {"Status": "Accepted"}}

检测结果:

{
    "MessageType": "ScrewResult",
    "Timestamp": 1712649600000,
    "Data": {
        "Success": true,
        "ErrorCode": 0,
        "Message": "检测成功",
        "CameraIndex": 1,
        "Count": 2,
        "Screws": [
            {"X": 100.50, "Y": 200.30, "Z": 50.10, "Roll": 15.5, "Pitch": -2.3, "Yaw": 45.0},
            {"X": 120.00, "Y": 210.50, "Z": 48.00, "Roll": -5.0, "Pitch": 1.2, "Yaw": 30.0}
        ]
    }
}

4. 工具盘检测Tool

算法接口后续增加,当前返回错误码 -100

请求:

{"MessageType": "ToolRequest", "Timestamp": 1712649600000}

确认响应:

{"MessageType": "ToolResponse", "Timestamp": 1712649600000, "Data": {"Status": "Accepted"}}

检测结果:

{
    "MessageType": "ToolResult",
    "Timestamp": 1712649600000,
    "Data": {
        "Success": true,
        "ErrorCode": 0,
        "Message": "检测成功",
        "CameraIndex": 1,
        "Count": 1,
        "ToolDisks": [
            {"X": 150.00, "Y": 180.00, "Z": 30.00, "Roll": 0.5, "Pitch": -1.2, "Yaw": 3.0}
        ]
    }
}

5. 位姿字段说明

字段 类型 单位 说明
X double mm 螺杆顶端/工具盘中心点X坐标机械臂坐标系
Y double mm 螺杆顶端/工具盘中心点Y坐标机械臂坐标系
Z double mm 螺杆顶端/工具盘中心点Z坐标机械臂坐标系
Roll double 绕X轴旋转螺杆算法输出的旋转角度
Pitch double 绕Y轴旋转俯仰角由轴向方向计算
Yaw double 绕Z轴旋转偏航角由轴向方向计算

6. 错误响应

{
    "MessageType": "Error", "Timestamp": 1712649600000, 
    "Data": {"ErrorCode": -5, "ErrorMessage": "检测启动失败"}
}

ErrorCode 非0标识错误具体含义以实际最终开发为准