Skip to content

5000端口协议

说明

5000端口协议主要作用于上传、下载、备份文件。

  • 若要向控制器上传文件,则上位机通过0x1D00请求上传文件,控制器通过0x1D01回复上传请求,当控制器同意上传时,上位机通过0x1D04上传文件,上传完毕后,上位机通过0x1D05告诉控制器上传结束,控制器通过0x1D06回复确认接收成功。
  • 若要下载控制器中的文件,则上位机通过0x1D02请求下载文件,控制器通过0x1D03回复下载请求,当控制器同意下载时,控制器通过0x1D07向上位机传输其申请下载的文件,并且上位机通过0x1D08回复控制器接收结果,下载完毕后,控制器通过0x1D09告诉上位机下载结束,上位机通过0x1D0A 回复确认接收成功。

文件传输流程

上传文件流程

text
上位机                        控制器
  |                             |
  |--- 0x1D00 请求上传 -------->|
  |<-- 0x1D01 回复上传请求 -----|
  |                             |
  |  (若 answer="yes")          |
  |--- 0x1D04 上传文件数据 ---->|
  |--- 0x1D04 上传文件数据 ---->|
  |--- ... (可能多次分包)        |
  |--- 0x1D05 上传结束 -------->|
  |<-- 0x1D06 确认接收 ---------|

下载文件流程

text
上位机                        控制器
  |                             |
  |--- 0x1D02 请求下载 -------->|
  |<-- 0x1D03 回复下载请求 -----|
  |                             |
  |  (若 answer="yes")          |
  |<-- 0x1D07 下载文件数据 -----|
  |--- 0x1D08 回复接收 -------->|
  |<-- 0x1D07 下载文件数据 -----|
  |--- 0x1D08 回复接收 -------->|
  |<-- ... (可能多次分包)        |
  |<-- 0x1D09 下载完成 ---------|
  |--- 0x1D0A 确认接收 -------->|

备份文件流程

text
上位机                        控制器
  |                             |
  |--- 0x1D10 请求备份 -------->|
  |<-- 0x1D11 回复备份文件名 ---|
  |                             |
  |  (然后按下载流程下载备份文件) |

传输机制说明

分包传输

大文件传输时,数据会分为多个数据包进行传输:

  • 上传 (0x1D04):上位机将文件内容分多次发送,每次发送一个数据包
  • 下载 (0x1D07):控制器将文件内容分多次发送,上位机每次通过 0x1D08 回复接收状态

错误处理

在文件传输过程中可能出现的异常情况:

场景处理方式
控制器忙碌0x1D010x1D03 返回 answer: "busy",上位机应稍后重试
传输中断通过 0x1D0B 断开连接,上位机需要重新发起传输请求
接收失败0x1D060x1D0A 返回 finish: false,需要重新传输
磁盘空间不足控制器在 0x1D010x1D03 阶段拒绝请求

文件类型与路径

文件类型路径示例说明
作业文件job/R1/WWWWW.JBR机器人 1 的作业程序文件
系统配置config/系统参数配置文件
日志文件log/系统运行日志
备份文件controller.tar.gz控制器全量备份包
ENI 文件eni/网络配置文件

注意: 下载作业文件时,文件名需包含完整的控制器内部路径。


命令列表

命令字功能方向
0x1D00上位机请求上传文件上位机 → 控制器
0x1D01控制器回复上传请求控制器 → 上位机
0x1D02上位机请求下载文件上位机 → 控制器
0x1D03控制器回复下载请求控制器 → 上位机
0x1D04上位机向控制器上传文件上位机 → 控制器
0x1D05上位机告诉控制器上传结束上位机 → 控制器
0x1D06控制器回复确认接收成功控制器 → 上位机
0x1D07控制器向上位机发送申请下载的文件控制器 → 上位机
0x1D08上位机回复接收结果上位机 → 控制器
0x1D09控制器告诉上位机下载完成控制器 → 上位机
0x1D0A上位机回复确认接收成功上位机 → 控制器
0x1D0B下载连接断开-
0x1D10上位机请求备份文件上位机 → 控制器
0x1D11控制器回复备份请求控制器 → 上位机
0x1D12上位机发送下载 log 文件完成上位机 → 控制器
0x1D13上位机发送下载 eni 文件完成上位机 → 控制器

详细命令说明

0x1D00 上位机请求上传文件

方向: 上位机 → 控制器

参数列表:

参数名类型说明
namestring上位机发送文件的文件名
sizeint上位机发送文件的文件大小

请求示例:

json
{
  "name": "vxWorks",
  "size": 4096
}

0x1D01 控制器回复上传请求

方向: 控制器 → 上位机

参数列表:

参数名类型说明
answerstring是否同意上传文件请求

answer 值说明:

说明
yes同意上传文件请求
busy控制器忙碌

响应示例:

json
{
  "answer": "yes"
}

0x1D02 上位机请求下载文件

方向: 上位机 → 控制器

参数列表:

参数名类型说明
namestring需要下载的作业文件名称

说明: 参数 name 是作业文件在控制器中的作业文件路径加上名字。在0x5533和0x5534中系统有向上位机发送路径和名字。示教器提示开始同步作业文件。

请求示例:

json
{
  "name": "job/R1/WWWWW.JBR"
}

0x1D03 控制器回复下载请求

方向: 控制器 → 上位机

参数列表:

参数名类型说明
answerstring系统是否同意下载文件请求
namestring需要下载的作业文件名称
sizeint此作业文件的文件大小

answer 值说明:

说明
yes同意下载文件请求
busy控制器忙碌

响应示例:

json
{
  "answer": "yes",
  "name": "job/R1/WWWWW.JBR",
  "size": 217
}

0x1D04 上位机向控制器上传文件

方向: 上位机 → 控制器

说明: 上传文件数据


0x1D05 上位机告诉控制器上传结束

方向: 上位机 → 控制器


0x1D06 控制器回复确认接收成功

方向: 控制器 → 上位机

参数列表:

参数名类型说明
finishbool判断文件是否上传成功

finish 值说明:

说明
true上传成功
false上传失败

响应示例:

json
{
  "finish": true
}

0x1D07 控制器向上位机发送申请下载的文件

方向: 控制器 → 上位机

说明: 传输下载文件数据


0x1D08 上位机回复接收结果

方向: 上位机 → 控制器


0x1D09 控制器告诉上位机下载完成

方向: 控制器 → 上位机


0x1D0A 上位机回复确认接收成功

方向: 上位机 → 控制器

参数列表:

参数名类型说明
finishbool判断文件是否下载成功

finish 值说明:

说明
true下载成功
false下载失败

响应示例:

json
{
  "finish": true
}

0x1D0B 下载连接断开

说明: 断开下载连接


0x1D10 上位机请求备份文件

方向: 上位机 → 控制器


0x1D11 控制器回复备份请求

方向: 控制器 → 上位机

参数列表:

参数名类型说明
answerstring回复备份文件名

响应示例:

json
{
  "answer": "controller.tar.gz"
}

0x1D12 上位机发送下载 log 文件完成

方向: 上位机 → 控制器


0x1D13 上位机发送下载 eni 文件完成

方向: 上位机 → 控制器