GrabBag/App/StatorWorkpiecePosition/Doc/工件定位TCP通信协议.md

2.6 KiB
Raw Blame History

WorkpieceTapered / WorkpieceRotor TCP 协议

1. 概述

  • 传输协议TCP/IP
  • 数据编码UTF-8 文本
  • 服务模式:视觉侧作为 TCP 服务端
  • 默认端口:7800
  • 报文结束符:\r\n
  • 字段分隔符:_
  • 当前模式:眼在手外
  • 请求和响应均不使用 JSON

适用项目:

  • WorkpieceTapered:锥形工件定位
  • WorkpieceRotor:转子钢芯定位

两个项目共用同一套 TCP/IP 协议格式。

2. 请求报文

格式:

类型+相机索引\r\n

示例:

S1\r\n
T1\r\n

字段说明:

字段 说明
S1 S=工件检测,后跟相机索引
T1 T=料框检测,后跟相机索引

本项目为眼在手外,检测请求不需要传入机械臂当前 X/Y/Z/A/B/C。 料框检测用于后续工件定位,不通过 TCP/IP 返回料框几何数据。

3. 工件检测返回报文

格式:

PointNum_Type_X_Y_Z_A_B_C[_Type_X_Y_Z_A_B_C...]\r\n

PointNum=0 时表示未检测到有效工件,报文只有一个字段:

0\r\n

示例:

1_2_100.500_200.300_50.100_15.500_-2.300_45.000\r\n
2_2_100.500_200.300_50.100_15.500_-2.300_45.000_3_120.000_220.000_55.000_16.000_-2.000_44.500\r\n
0\r\n

字段说明:

字段 说明
PointNum 检测到的工件数量
Type 工件类型 workpieceType
X/Y/Z 工件位置,单位 mm保留 3 位小数
A/B/C 工件姿态,单位 deg保留 3 位小数

本项目不输出接近点坐标,只输出工件定位结果。

4. 错误响应

格式:

Error_code_message\r\n

示例:

Error_-5_工件检测启动失败\r\n

5. 姿态输出顺序

返回报文中的 A/B/C 由网络配置中的 poseOutputOrder 控制。

支持顺序:

  • RPY
  • RYP
  • PRY
  • PYR
  • YRP
  • YPR

6. 配置相关

config.xml 中与协议相关的关键项:

  • TcpServerConfig.robotServerPort:本 TCP/IP 协议服务端监听端口,默认 7800
  • TcpServerConfig.poseOutputOrderTCP 和 Modbus 姿态输出顺序。

7. Modbus TCP 对接

除本 TCP/IP 服务端协议外,项目还支持 Modbus TCP Server 对接:

  • 应用只作为 Modbus TCP Server/从设备。
  • 客户 PLC/上位机作为 Modbus TCP Client写触发寄存器并读取状态和结果。
  • Modbus TCP Server 端口固定为应用内 5020;现场需要标准 502 时由系统映射到 5020
  • robotServerPort 不控制 Modbus 端口,只控制本 TCP/IP 文本协议端口。

寄存器地址配置和结果格式详见 定子工件定位ModbusTCP协议.md