GrabBag/App/WeldSeam/Doc/WeldSeam_TCP_Protocol.md
2026-08-18 14:44:38 +08:00

2.5 KiB
Raw Blame History

WeldSeam TCP 报文格式

1. 通信参数

项目
角色 视觉控制器为服务端,主控软件为客户端
默认端口 7800,可在参数页面修改
编码 UTF-8 文本
字段分隔符 _
报文结束符 \r\n

接收端必须按 \r\n 组帧,不能假定一次 TCP 接收对应一条完整报文。

2. 扫描与计算时序

主控软件                         WeldSeam视觉控制器
   |---- START_SCAN\r\n ----------------->|
   |<--- START_ACK\r\n -------------------|
   |  收到确认后移动相机,视觉持续动态采集   |
   |---- STOP_SCAN\r\n ------------------>|
   |<--- STOP_ACK\r\n --------------------|
   |                                  | 自动计算
   |<--- RESULT_OK_N_X1_Y1_Z1_...\r\n --|

视觉只负责采集和检测,不负责相机或机械臂运动控制。未收到 START_ACK 前,主控不得开始移动相机。

3. 请求与应答

3.1 开始动态扫描

START_SCAN\r\n
START_ACK\r\n

START_ACK 表示 VzNLSDK 非摆动动态采集已经启动。

3.2 停止扫描并自动计算

STOP_SCAN\r\n
STOP_ACK\r\n

STOP_ACK 只表示采集已停止且计算任务已受理。计算结果随后由视觉控制器主动发送。

3.3 成功结果

RESULT_OK_PointNum_X1_Y1_Z1_X2_Y2_Z2_..._Xn_Yn_Zn\r\n

示例:

RESULT_OK_3_12.500_20.000_301.250_512.000_20.400_300.900_1012.750_21.100_300.500\r\n
  • PointNum 必须等于后续 XYZ 点数量。
  • 坐标单位为 mm默认保留 3 位小数。
  • 点序固定为焊接行进方向:首点、中间参考点、末点。
  • 相邻路径点组成一段直线。

3.4 无有效结果

RESULT_NG\r\n

4. 错误报文

ERROR_错误码\r\n
报文 含义
ERROR_UNKNOWN_COMMAND 命令无法识别
ERROR_INVALID_FORMAT 命令格式错误
ERROR_BUSY 正在扫描或计算
ERROR_NOT_READY 相机未就绪,或当前状态不允许该命令
ERROR_INTERNAL_ERROR 停止采集等内部操作失败

5. 状态约束

Ready --START_SCAN--> Scanning --STOP_SCAN--> Calculating --RESULT--> Ready
  • ScanningCalculating 状态收到 START_SCAN,返回 ERROR_BUSY
  • Scanning 状态收到 STOP_SCAN,返回 ERROR_NOT_READY;计算期间返回 ERROR_BUSY
  • 扫描期间 TCP 断开,本次扫描立即取消并清空缓存;重新连接后必须从扫描起点重新开始。