Appearance
系统
状态
查询初始化状态
系统开机需要进行初始化,否则系统将无法使用。
命令字: 0x1000
- 无需发送数据
控制器回复
命令字: 0x1001
| 字段 | 类型 | 说明 |
|---|---|---|
| finishinit | bool | 初始化是否完成,true 完成,false 未完成 |
json
{
"finishinit": true
}查询是否为 T5 系统
命令字: 0x1002
- 无需发送数据
控制器回复
命令字: 0x1003
| 字段 | 类型 | 说明 |
|---|---|---|
| T5_system | bool | 是否为 T5 系统,true 是,false 不是 |
json
{
"T5_system": false
}查询硬件系统发布版本
命令字: 0x1004
- 无需发送数据
控制器回复
命令字: 0x1005
| 字段 | 类型 | 说明 |
|---|---|---|
| result | bool | 查询是否成功,true 成功,false 失败 |
| version | string | 版本号(若查询成功则返回) |
json
{
"result": true,
"version": "xx"
}版本升级
系统开机时需要查询当前版本号,若出现不匹配则需要进行版本升级。
查询当前系统版本号
命令字: 0x1010
| 字段 | 类型 | 说明 |
|---|---|---|
| version | string | 版本号内容 |
json
{
"version": "v1.0-rc1-67-gf34dae7"
}控制器回复
命令字: 0x1011
| 字段 | 类型 | 说明 |
|---|---|---|
| configFileVersionMismatch | bool | 配置文件是否匹配,false 不匹配,true 匹配 |
| jobFileVersion | string | 作业文件版本 |
| rtlVersion | string | 控制器版本 |
| sysClock | string | 系统时钟,格式如 "2023.11.10 13:29:25" |
| version | string | 版本号内容,若查询时发送的 version 为空字符串则返回同样内容 |
json
{
"configFileVersionMismatch": false,
"jobFileVersion": "5.2.0",
"rtlVersion": "22.08.0",
"sysClock": "2023.11.10 13:29:25",
"version": "v1.0-rc1-67-gf34dae7"
}日志
查询崩溃日志文件
命令字: 0x1020
- 无需发送数据
控制器回复
命令字: 0x1021
| 字段 | 类型 | 说明 |
|---|---|---|
| absolutepath | string | 路径 |
| dumpLogfilenum | int | 文件数量 |
| dumpLogfilelist | string[] | 日志文件列表 |
json
{
"absolutepath": "",
"dumpLogfilenum": 3,
"dumpLogfilelist": ["", "", "", ""]
}请求获取日志文件列表
命令字: 0x1022
| 字段 | 类型 | 说明 |
|---|---|---|
| num | int | 表示获取最近多少个文件,可取 5、30、100 |
json
{
"num": 5
}控制器回复
命令字: 0x1023
| 字段 | 类型 | 说明 |
|---|---|---|
| absolutepath | string | 日志所在目录 |
| logfilenum | int | 日志数目(与 num 不一定相等) |
| logfilelist | string[] | 日志列表 |
json
{
"absolutepath": "log/",
"logfilenum": 3,
"logfilelist": ["logInfo.0", "logInfo.1", "logInfo.2"]
}恢复出厂设置
命令字: 0x1030
| 字段 | 类型 | 说明 |
|---|---|---|
| clearFactoryIO | bool | 清除所有 IO,true 清除,false 未清除 |
| clearFactoryRobot | bool | 清除所有机器人,true 清除,false 未清除 |
| clearFactoryToolhand | bool | 清除所有工具手,true 清除,false 未清除 |
| clearConfigFile | bool | 清除所有系统配置文件,true 清除,false 未清除 |
| clearExtendedFile | bool | 清除所有扩展文件,true 清除,false 未清除 |
json
{
"clearFactoryIO": true,
"clearFactoryRobot": true,
"clearFactoryToolhand": true,
"clearConfigFile": true,
"clearExtendedFile": true
}重启、关机
重启控制器
命令字: 0x1031
- 无需发送数据
关机
命令字: 0x1032
- 无需发送数据
查询断电保持恢复状态
命令字: 0x1033
- 无需发送数据
控制器回复
命令字: 0x1034
| 字段 | 类型 | 说明 |
|---|---|---|
| rebootKeepRecoveryFlag | bool | 断电保持恢复标志,true 恢复成功,false 未执行断电保持恢复 |
| rebootKeepJobFileName | string | 断电保持恢复的程序名字,程序命名首字母不得为数字 |
json
{
"rebootKeepRecoveryFlag": false,
"rebootKeepJobFileName": "xxxx"
}IP 设置
控制器 IP 设置
命令字: 0x1040
| 字段 | 类型 | 说明 |
|---|---|---|
| name | string | 网口名称 |
| address | string | 设置控制器 IP |
| gateway | string | 设置控制器网关 |
| dns | string | 设置控制器 DNS |
json
{
"name": "p1p1",
"address": "192.168.1.13",
"gateway": "192.168.1.1",
"dns": "114.114.114.114"
}查询连接 IP
命令字: 0x1041
- 无需发送数据
控制器回复
命令字: 0x1042
| 字段 | 类型 | 说明 |
|---|---|---|
| num | int | 网口数目 |
| network | array | 网络信息列表 |
| network[].name | string | 网口名称 |
| network[].address | string | 控制器 IP |
| network[].gateway | string | 控制器网关 |
| network[].dns | string | 控制器 DNS |
json
{
"num": 2,
"network": [
{
"name": "p1p1",
"address": "192.168.1.13",
"gateway": "192.168.1.1",
"dns": "114.114.114.114"
},
{
"name": "p2p1",
"address": "192.168.1.14",
"gateway": "192.168.1.1",
"dns": "114.114.114.114"
}
]
}时间设置
发送时间查询
命令字: 0x1050
| 字段 | 类型 | 说明 |
|---|---|---|
| type | int | 时间类型:0 现实时间,1 获取系统开始时间至现在秒数 |
| format | int | 格式:0 获取时间戳,1 获取北京时间 |
json
{
"type": 0,
"format": 0
}控制器回复
命令字: 0x1051
| 字段 | 类型 | 说明 |
|---|---|---|
| tType | int | 时间类型:0 现实时间,1 系统开始时间至现在秒数 |
| format | int | 格式:0 时间戳,1 北京时间 |
| date | object | 日期和时间信息 |
| date.year | int | 年份 |
| date.mon | int | 月份 |
| date.day | int | 日期 |
| date.hour | int | 小时 |
| date.min | int | 分钟 |
| date.sec | int | 秒数 |
| date.msec | int | 毫秒数 |
| timestamp | object | 时间戳(format 为 0 时显示) |
| timestamp.s | int | 时间戳秒数 |
| timestamp.ns | int | 时间戳纳秒数 |
json
{
"tType": 0,
"format": 0,
"date": {
"year": 2023,
"mon": 1,
"day": 1,
"hour": 1,
"min": 1,
"sec": 1,
"msec": 1
},
"timestamp": {
"s": 1,
"ns": 1
}
}查询语言支持
命令字: 0x1052
- 无需发送数据
控制器回复
命令字: 0x1053
| 字段 | 类型 | 说明 |
|---|---|---|
| language | string[] | 控制器能够支持的所有语言,目前支持:Chinese 中文、Korean 韩文、English 英文 |
| language_used | string | 控制器当前使用的语言 |
json
{
"language": ["Chinese", "Korean", "English"],
"language_used": "Chinese"
}查询上位机当前语言
命令字: 0x1054
| 字段 | 类型 | 说明 |
|---|---|---|
| teachbox_language | string | 上位机当前使用的语言 |
json
{
"teachbox_language": "Chinese"
}系统保养
系统保养查询
命令字: 0x1060
- 无需发送数据
控制器回复
命令字: 0x1061
| 字段 | 类型 | 说明 |
|---|---|---|
| controller_ID | string | 控制器 ID |
| controller_total_time | int | 控制器通电总时间,单位为小时 |
| controller_spent_time | int | 控制器距离上次保养时长,单位为小时 |
| controller_cycle_time | int | 控制器保养间隔周期,单位为小时 |
| robot_total_time | int | 机器人通电总时间,单位为小时 |
| robot_spent_time | int | 机器人距离上次保养时长,单位为小时 |
| robot_cycle_time | int | 机器人保养间隔周期,单位为小时 |
json
{
"controller_ID": "4DC9F0249098C82E",
"controller_total_time": 0,
"controller_spent_time": 0,
"controller_cycle_time": 0,
"robot_total_time": 0,
"robot_spent_time": 0,
"robot_cycle_time": 0
}系统保养提示
命令字: 0x1062
| 字段 | 类型 | 说明 |
|---|---|---|
| exist | bool | 判断保养文件是否存在,true 存在,false 不存在 |
| controlTimeStatus | bool | 控制器保养状态,true 保养,false 不保养 |
| robotTimeStatus | bool | 机器人保养状态,true 保养,false 不保养 |
json
{
"exist": true,
"controlTimeStatus": true,
"robotTimeStatus": true
}文件
查询控制器配置文件目录
命令字: 0x1070
| 字段 | 类型 | 说明 |
|---|---|---|
| isExport | bool | 导入导出配置,true 导出配置,false 导入配置 |
json
{
"isExport": true
}控制器回复
命令字: 0x1071
| 字段 | 类型 | 说明 |
|---|---|---|
| filelist | string[] | 配置文件名称列表 |
| filenum | int | 配置文件数量 |
json
{
"filelist": ["xxx.json", "yyy.json"],
"filenum": 2
}系统备份
查询是否存在当前版本示教器程序
命令字: 0x1090
| 字段 | 类型 | 说明 |
|---|---|---|
| config_md5 | string | config.db 文件 MD5 值 |
| pinyin_md5 | string | Pinyin.db 文件 MD5 值,null 表示没有这个文件或者文件大小是 0 |
| pro_md5 | string | 示教器程序文件的 MD5 值 |
| pro_name | string | 示教器程序文件的名称,可选 Qt-tp 或 T30_ARM_Linux_Teach-pendant |
json
{
"config_md5": "2803f92ecdecfd3c178b0998b9391a4d",
"pinyin_md5": "null",
"pro_md5": "ce407851346d030dad5207948f55ed6c",
"pro_name": "Qt-tp"
}控制器回复
命令字: 0x1091
| 字段 | 类型 | 说明 |
|---|---|---|
| path | object | 文件路径信息 |
| path.config | string | config.db 文件上传路径 |
| path.dir | string | 所有文件的路径 |
| path.pinyin | string | Pinyin.db 文件上传路径,空字符串表示不需要上传 |
| path.pro | string | Qt-tp 文件上传路径 |
json
{
"path": {
"config": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
"dir": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
"pinyin": "",
"pro": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6"
}
}查询是否存在与控制器版本匹配的示教器程序
命令字: 0x1092
| 字段 | 类型 | 说明 |
|---|---|---|
| pro_name | string | 示教器程序名称,可选 Qt-tp 或 T30_ARM_Linux_Teach-pendant |
json
{
"pro_name": "Qt-tp"
}控制器回复
命令字: 0x1093
| 字段 | 类型 | 说明 |
|---|---|---|
| backuppath | string | 备份路径 |
请求备份程序文件
命令字: 0x1094
| 字段 | 类型 | 说明 |
|---|---|---|
| backup_dir | string | 备份文件的原路径 |
| pro_name | string | 程序名称,Qt-tp 或 T30_ARM_Linux_Teach-pendant |
json
{
"backup_dir": "qttpBackup/rtl-24.03.07-6.0.9-1.0.6",
"pro_name": "Qt-tp"
}控制器回复
命令字: 0x1095
| 字段 | 类型 | 说明 |
|---|---|---|
| backuppath | string | 自动备份的路径 |
json
{
"backuppath": ""
}请求自动备份
命令字: 0x1096
- 无需发送数据
控制器回复
命令字: 0x1097
| 字段 | 类型 | 说明 |
|---|---|---|
| backUpNum | int | 备份系统数,最多 10 个 |
| backUpName | string[] | 备份系统的名字 |
json
{
"backUpNum": 1,
"backUpName": ["string", "string", "string……"]
}请求系统恢复
命令字: 0x1098
| 字段 | 类型 | 说明 |
|---|---|---|
| backUpOneName | string | 需要恢复的系统名称 |
json
{
"backUpOneName": "xxxx"
}控制器回复
命令字: 0x1099
| 字段 | 类型 | 说明 |
|---|---|---|
| success | bool | 系统恢复是否成功,true 成功,false 失败 |
| backUpName | string[] | 备份系统的名字,最多 10 个 |
json
{
"success": true
}保存厂家参数
命令字: 0x109A
- 无需发送数据
控制器回复
命令字: 0x109B
| 字段 | 类型 | 说明 |
|---|---|---|
| success | bool | 是否保存成功,true 成功,false 失败 |
json
{
"success": true
}密钥
系统限制设置
命令字: 0x10B0
| 字段 | 类型 | 说明 |
|---|---|---|
| pallet | bool | 设置码垛功能限制 |
| welding | bool | 设置焊接功能限制 |
| laserCut | bool | 设置激光切割功能限制 |
| polish | bool | 设置打磨功能限制 |
| spray | bool | 设置喷涂功能限制 |
| search | bool | 设置寻位功能限制 |
| vision | bool | 设置视觉功能限制 |
| conveyor | bool | 设置传送带功能限制 |
| clear_data | bool | 清除数据 |
json
{
"pallet": true,
"welding": true,
"laserCut": true,
"polish": true,
"spray": true,
"search": true,
"vision": true,
"conveyor": true,
"clear_data": true
}查询控制器功能限制
命令字: 0x10B1
- 无需发送数据
控制器回复
命令字: 0x10B2
| 字段 | 类型 | 说明 |
|---|---|---|
| maxRobotCount | int | 机器人最大数目 |
| crafts | string[] | 已解锁的工艺列表 |
| robotTypes | string[] | 已解锁的机器人类型 |
工艺类型值:
C_Pallet:码垛工艺C_Welding:焊接工艺C_Lasercut:激光切割工艺C_Polish:打磨工艺C_Spray:喷涂工艺C_Search:寻位跟踪工艺C_Vision:视觉工艺
机器人类型值:
R_NULL:未选择机器人类型R_GENERAL_6S:六轴串联多关节R_GENERAL_6S_1:六轴协作R_SIXAXIS_SPRAY_BBR:六轴喷涂机器人R_GENERAL_6S_2:六轴异型二R_GENERAL_5S:五轴机器人R_SCARA:四轴 SCARA 机器人R_SCARA_1:四轴 SCARA 异型一机器人R_FOURAXIS_PALLET:四轴连杆码垛机器人R_FOURAXIS_PALLET_1:四轴码垛丝杆机器人R_FOURAXIS:四轴机器人R_FOUR_CARTESIAN_COORDINATE:四轴直角机器人R_FOUR_POLAR_COORDINATE_1:四轴极坐标异形机器人R_SCARA_THREEAXIS:三轴 SCARA 机器人R_THREE_CARTESIAN_COORDINATE:三轴直角机器人R_THREE_CARTESIAN_COORDINATE_1:三轴异形一机器人R_SCARA_TWOAXIS:二轴 SCARA 机器人R_GENERAL_7S:七轴通用机器人R_GENERAL_1S:一轴机器人R_GANTRY_WELD:五轴龙门焊接机器人R_DELTA:delta 机器人(四轴并联机器人)R_WINE_CHAMFER:酒槽机型R_GANTRY_WELD_2:五轴龙门焊接机器人类型 2R_FOUR_CARTESIAN_COORDINATE_1:四轴直角异型一机器人R_GANTRY_WELD_6:六轴龙门焊接机器人FIVE_AXLE_MIXED:五轴混动机器人R_SCARA_FOURAXIS_2:四轴 SCARA 异型 2R_SIX_AXLE_ABNORMITY_3:六轴异型三R_SCARA_THREEAXIS_1:三轴 SCARA 异型 1R_DELTA_2D_:delta 2D 并联机器人模型R_GANTRY_WELD_3:五轴龙门焊接机器人类型 3R_GENERAL_3S_1:三轴串联异形一R_GENERAL_5S_COLLABORATIVE_:五轴协作机器人R_SCARA_3_:四轴 SCARA 异型三机器人R_GENERAL_6S_CBBARA_:六轴串联-CBBARAR_HEAVY_DUTY_FOUR_AXIS_:高格立柱旋转四轴
json
{
"crafts": [
"C_Pallet",
"C_Welding",
"C_Lasercut",
"C_Polish",
"C_Spray",
"C_Search",
"C_Vision"
],
"maxRobotCount": 4,
"robotTypes": [
"R_GENERAL_6S",
"R_SCARA",
"R_FOURAXIS_PALLET",
"R_FOURAXIS",
"R_GENERAL_1S",
"R_GENERAL_5S",
"R_GENERAL_6S_1",
"R_SCARA_TWOAXIS",
"R_SCARA_THREEAXIS",
"R_THREE_CARTESIAN_COORDINATE",
"R_THREE_CARTESIAN_COORDINATE_1",
"R_GENERAL_7S",
"R_SCARA_1",
"R_FOURAXIS_PALLET_1",
"R_SIXAXIS_SPRAY_BBR",
"R_FOUR_CARTESIAN_COORDINATE",
"R_FOUR_POLAR_COORDINATE_1",
"R_GENERAL_6S_2",
"R_GANTRY_WELD",
"R_DELTA",
"R_WINE_CHAMFER",
"R_GANTRY_WELD_2",
"R_FOUR_CARTESIAN_COORDINATE_1",
"R_GANTRY_WELD_6",
"FIVE_AXLE_MIXED",
"R_SCARA_FOURAXIS_2",
"R_SIX_AXLE_ABNORMITY_3",
"R_SCARA_THREEAXIS_1",
"R_DELTA_2D_",
"R_GANTRY_WELD_3",
"R_GENERAL_3S_1",
"R_GENERAL_5S_COLLABORATIVE_",
"R_SCARA_3_"
]
}查询控制器 ID
命令字: 0x10B3
- 无需发送数据
控制器回复
命令字: 0x10B4
| 字段 | 类型 | 说明 |
|---|---|---|
| controllerID | string | 控制器 ID |
json
{
"controllerID": "4DC9F0249098C82E"
}说明:获取到连接的控制器 ID 之后,在同步作业文件时需判断此 ID 是否已知。已知则判断路径 "dir/controllerID" 是否存在,若存在则不做操作;若不存在则创建工作文件路径,格式:"dir/controllerID/robotJob/R1"。多个机器人则表示 R1-4。
获取控制器剩余使用天数
命令字: 0x10B5
- 无需发送数据
控制器回复
命令字: 0x10B6
| 字段 | 类型 | 说明 |
|---|---|---|
| restdays | int | 剩余使用天数,-1 无限期使用,0 使用期限已到,其余表示剩余多少天 |
| year | int | 过期年份 |
| mon | int | 过期月份 |
| day | int | 过期日 |
json
{
"restdays": 30,
"year": 1,
"mon": 1,
"day": 1
}控制器发送剩余使用天数
命令字: 0x10B7
| 字段 | 类型 | 说明 |
|---|---|---|
| restDays | int | 剩余使用天数 |
json
{
"restDays": 0
}控制器序列号更新
命令字: 0x10B8
| 字段 | 类型 | 说明 |
|---|---|---|
| license | string | 控制器序列号 |
json
{
"license": "ACOCWKBZHSKBEJHI"
}控制器回复
命令字: 0x10B9
| 字段 | 类型 | 说明 |
|---|---|---|
| result | string | 更新结果,"success" 成功,"ivalid" 非法密钥,"notInit" 未初始化 |
| ivalid | string | 无效的密钥 |
| error | string | 存在破解嫌疑,拒绝解锁 |
json
{
"result": "success",
"ivalid": "无效的密钥!",
"error": "存在破解嫌疑,拒绝解锁!"
}密钥更新成功后,控制器即将重启。
控制器无权使用信息
命令字: 0x10BA
| 字段 | 类型 | 说明 |
|---|---|---|
| reason | string | 控制器无权使用原因 |
json
{
"reason": ""
}获取控制器基础信息
命令字: 0x10C0
- 无需发送数据
控制器回复
命令字: 0x10C1
| 字段 | 类型 | 说明 |
|---|---|---|
| controllerID | string | 控制器 ID |
| controllerModel | string | 控制器型号 |
json
{
"controllerID": "1234567890ABCDEF",
"controllerModel": "C2201"
}获取控制器支持的机器人类型和工艺
命令字: 0x10C2
- 无需发送数据
控制器回复
命令字: 0x10C3
| 字段 | 类型 | 说明 |
|---|---|---|
| maxRobotSum | int | 最大机器人总数,范围 [0,4] |
| robotTypeEn | string[] | 支持的机器人类型英文 |
| robotTypeCn | string[] | 支持的机器人类型中文 |
| craftTypeEn | string[] | 支持的所有工艺英文 |
| craftTypeCn | string[] | 支持的所有工艺中文 |
json
{
"maxRobotSum": 4,
"robotTypeEn": ["RobotA", "RobotB"],
"robotTypeCn": ["机器人A", "机器人B"],
"craftTypeEn": ["pallet", "weld"],
"craftTypeCn": ["码垛", "焊接"]
}获取控制器授权信息
命令字: 0x10C4
- 无需发送数据
控制器回复
命令字: 0x10C5
| 字段 | 类型 | 说明 |
|---|---|---|
| isInit | bool | 是否初始化 |
| expirationDate | object | 到期日期 |
| expirationDate.year | int | 到期年份 |
| expirationDate.month | int | 到期月份 |
| expirationDate.day | int | 到期日 |
| maxRobotSum | int | 最大机器人数,范围 [0,4] |
| robotType | string[] | 机器人类型 |
| craftType | string[] | 工艺类型 |
json
{
"isInit": true,
"expirationDate": {
"year": 2038,
"month": 1,
"day": 31
},
"maxRobotSum": 4,
"robotType": ["RobotA", "RobotB"],
"craftType": ["pallet", "weld"]
}传输初始化密钥
命令字: 0x10C6
| 字段 | 类型 | 说明 |
|---|---|---|
| permissionType | string | 许可类型 |
| license | string | 密钥 |
json
{
"permissionType": "01",
"license": "DSFPSKDGSJDFSGDSGJDSDF"
}控制器回复
命令字: 0x10C7
| 字段 | 类型 | 说明 |
|---|---|---|
| result | string | 密钥结果,"success" 成功,"ivalid" 非法密钥,"deviceAbnormal" 控制器异常 |
| data | string | 控制器数据 |
json
{
"result": "success",
"data": "123ABC"
}传输解密密钥
命令字: 0x10C8
| 字段 | 类型 | 说明 |
|---|---|---|
| license | string | 密钥 |
json
{
"license": "DSFPSKDGSJDFSGDSGJDSDF"
}控制器回复
命令字: 0x10C9
| 字段 | 类型 | 说明 |
|---|---|---|
| result | string | 结果,"success" 成功,"ivalid" 非法密钥,"notInit" 未初始化 |
json
{
"result": "success"
}获取离线权限文件内容
命令字: 0x10CA
- 无需发送数据
控制器回复
命令字: 0x10CB
| 字段 | 类型 | 说明 |
|---|---|---|
| data | string | 权限文件内容 |
json
{
"data": "xxxxxxxx"
}