2.6 KiB
2.6 KiB
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 控制。
支持顺序:
RPYRYPPRYPYRYRPYPR
6. 配置相关
config.xml 中与协议相关的关键项:
TcpServerConfig.robotServerPort:本 TCP/IP 协议服务端监听端口,默认7800。TcpServerConfig.poseOutputOrder:TCP 和 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。