Appearance
系统状态
控制器初始化是否完成
查询是否完成
命令字:0x4305 CONTROLLER_INIT_FINISH_INQUIRE
json
{}控制器回复
命令字:0x4306 CONTROLLER_INIT_FINISH_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| finishinit | bool | true:完成,false:未完成 |
json
{
"finishinit": true
}控制器IP设置
控制器IP设置
命令字:0x4301 CONTROLLER_IP_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| 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
命令字:0x4302 CONTROLLER_IP_INQUIRE
无参数
控制器回复
命令字:0x4303 CONTROLLER_IP_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| num | int | 网卡数量 |
| network | array | 网卡信息数组 |
json
{
"num": 1,
"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"
}
]
}控制器License
获取控制器ID
命令字:0x5052 IDENTIFY_NUMBER_INQUIRE
控制器回复
命令字:0x5053 IDENTIFY_NUMBER_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| controllerID | string | 控制器ID |
json
{
"controllerID": "4DC9F0249098C82E"
}获取控制器剩余使用天数
命令字:0x5055 USE_REST_DAYS_INQUIRE
控制器回复
命令字:0x5056 USE_REST_DAYS_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| restdays | int | 剩余天数,-1:无限期使用,0:使用期限已到 |
| year | int | 过期年份 |
| mon | int | 过期月份 |
| day | int | 过期日 |
json
{
"restdays": 30,
"year": 1,
"mon": 1,
"day": 1
}更新序列号
命令字:0x5057 LICENSE_SERIAL_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| license | string | 控制器序列号 |
json
{
"license": "ACOCWKBZHSKBEJHI"
}控制器回复
命令字:0x5059 LICENSE_SERIAL_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| result | string | 密钥更新成功,控制器即将重启 |
| ivalid | string | 无效的密钥 |
| error | string | 存在破解嫌疑,拒绝解锁 |
json
{
"result": "success",
"ivalid": "无效的密钥!",
"error": "存在破解嫌疑,拒绝解锁!"
}查询图片版本
命令字:0x505A IMAGE_VERSION_INQUIRE(示教器无此功能)
返回查询结果
命令字:0x505B IMAGE_VERSION_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| result | bool | 查询是否成功 |
| version | int | 版本号(查询成功时返回) |
json
{
"result": true,
"version": xx
}控制器发送(无权使用提示)
命令字:0x505C DISABLE_CONTROLLER
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| reason | string | 控制器无权使用提示信息 |
json
{
"reason": ""
}控制器发送(剩余天数提醒)
命令字:0x505F REST_DAYS_REMIND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| restDays | int | 控制器发送剩余使用天数 |
json
{
"restDays": 0
}版本号获取
示教器需要获取当前控制器版本号时,发送下面命令:
命令字:0x3402 VERSIONNUM_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| version | string | 版本号内容 |
| servoVersion | string | 伺服版本 |
| ocmVersion | string | 静态库版本 |
| ioVersion | string | IO板版本 |
json
{
"version": "v1.0-rc1-67-gf34dae7",
"servoVersion": xx,
"ocmVersion": xx,
"ioVersion": xx
}控制器收到查询命令时,发送下面命令
命令字:0x3403 VERSIONNUM_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| configFileVersionMismatch | bool | 配置文件是否匹配,false:不匹配;true:匹配 |
| jobFileVersion | string | 作业文件版本 |
| rtlVersion | string | 控制器版本 |
| sysClock | string | 系统时钟,格式:YYYY.MM.DD HH:MM:SS |
| version | string | 版本号内容 |
| servoVersion | string | 伺服版本(久同控制器返回空字符串) |
| ocmVersion | string | 静态库版本(久同控制器返回空字符串) |
| ioVersion | string | IO版本号(久同控制器返回空字符串) |
| nodka_c1201 | object | C1201控制器专用节点 |
json
{
"configFileVersionMismatch": false,
"jobFileVersion": "5.2.0",
"rtlVersion": "22.08.0",
"sysClock": "2023.11.10 13:29:25",
"version": "v1.0-rc1-67-gf34dae7",
"servoVersion": "",
"ocmVersion": "",
"ioVersion": "",
"nodka_c1201": {
"deviceId": "",
"hw_version": "",
"fw_version": "",
"drv_version": ""
}
}nodka_c1201 节点参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| deviceId | string | 设备ID |
| hw_version | string | 硬件版本号 |
| fw_version | string | 固件版本号 |
| drv_version | string | 驱动版本号 |
版本核验
查询是否存在当前版本的示教器程序
命令字:0x3404 EXIST_TEACHBOX_EQUAL_QTTP_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| MD5 | string | 示教器程序的MD5值 |
json
{
"MD5": "xx"
}返回查询结果
命令字:0x3405 EXIST_TEACHBOX_EQUAL_QTTP_RESPOND
如果未查询到,则需要上传当前版本的程序。
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| backuppath | string | 示教器程序路径 |
json
{
"backuppath": "xx"
}查询是否存在与控制器版本匹配的示教器程序
命令字:0x3406 EXIST_CONTROLLER_MATCHED_QTTP_INQUIRE
无参数
返回查询结果
命令字:0x3407 EXIST_CONTROLLER_MATCHED_QTTP_RESPOND
若结果为是,则弹框让客户选择是否自动升级。
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| backuppath | string | 示教器程序路径 |
json
{
"backuppath": "xx"
}重启控制器
重启控制器时,示教器发送:
命令字:0x5061 REBOOT_CONTROLLER
无参数
恢复出厂设置
恢复出厂设置时,示教器发送:
命令字:0x5064 RETURN_FACTORY_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| clearConfigFile | bool | 清除所有系统配置文件 |
| clearExtendedFile | bool | 清除所有扩展文件 |
json
{
"clearConfigFile": true,
"clearExtendedFile": true
}系统自动备份
备份系统
示教器发送:
命令字:0x5065 CONTROLLER_BACKUP_INQUIRE
无参数
控制器回复
命令字:0x5066 CONTROLLER_BACKUP_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| backUpNum | int | 备份数 |
| backUpName | array | 备份系统的名字,最多十个 |
json
{
"backUpNum": 1,
"backUpName": ["string", "string", "string"]
}恢复系统
示教器发送:
命令字:0x5067 CONTROLLER_BACKUP_RESTORE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| backUpOneName | string | 需要恢复的系统名称 |
json
{
"backUpOneName": "string"
}控制器回复
命令字:0x5068 CONTROLLER_BACKUP_RESTORE_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| success | bool | true:系统恢复成功,false:系统恢复失败 |
json
{
"success": true
}伺服参数
通过控制器设置伺服内部参数
命令字:0x5071 SERVO_INSIDE_PARM_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| robot | int | 机器人号 |
| servoNum | int | 伺服号 |
| 参数名 | object | 伺服参数名 |
json
{
"robot": 1,
"servoNum": 1,
"参数名": {
"value": "",
"unit": "",
"upLimit": "",
"lowLimit": ""
}
}示教器查询
命令字:0x5072 SERVO_INSIDE_PARM_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| robot | int | 机器人号 |
| servoNum | int | 伺服号 |
json
{
"robot": 1,
"servoNum": 1
}控制器返回
命令字:0x5073 SERVO_INSIDE_PARM_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| robot | int | 机器人号 |
| servoNum | int | 伺服号 |
| sendNum | int | 发送编号 |
| totalNum | int | 总数 |
| servo | array | 具体伺服参数数组 |
json
{
"robot": 1,
"servoNum": 1,
"sendNum": 1,
"totalNum": 1,
"servo": [
{
"name": "电机额定功率",
"value": 3000
},
{
"name": "电机额定转速",
"value": 4000
}
]
}文件传输
请求上传某文件
命令字:0x5501 REQUEST_UPLOAD_FILE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| name | string | 文件名称 |
| size | int | 文件大小 |
json
{
"name": "vxWorks",
"size": 4096
}同意上传请求/拒绝上传请求
命令字:0x5502 REQUEST_UPLOAD_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| answer | string | "yes":同意上传,"busy":控制器忙碌 |
json
{
"answer": "yes"
}请求下载某文件
命令字:0x5504 REQUEST_DOWNLOAD_FILE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| name | string | 文件名称 |
json
{
"name": "log.0"
}同意下载请求/拒绝下载请求
命令字:0x5505 REQUEST_DOWNLOAD_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| answer | string | "yes":同意下载,"busy":控制器忙碌,"nofile":无此文件 |
| name | string | 作业文件全路径 |
| size | int | 如果拒绝,则size无效 |
json
{
"answer": "yes",
"name": "log.0",
"size": 4096
}文件传输网络异常中断(仅示教器)
命令字:0x5525 DownLoadInterrupt
无参数
json
{}示教器查询控制器配置文件目录
命令字:0x5507 CONFIG_FILE_INQUIRY
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| isExport | bool | true:表示导出配置,false表示导入配置 |
json
{
"isExport": true
}控制器向示教器发送配置文件目录
命令字:0x5508 CONFIG_FILE_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| filenum | int | 配置文件数量 |
| filelist | array | 配置文件名称列表 |
json
{
"filenum": 2,
"filelist": ["xxx.json", "yyy.json"]
}发送文件二进制数据
命令字:0x5511 UploadFileData(告诉控制器文件发送完成)
命令字:0x5512 UploadFileDone(循环给控制器发送文件)
控制器回复
命令字:0x5513 ReceiveUploadFinish
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| finish | bool | true表示上传成功,false表示失败 |
json
{
"finish": true
}示教器请求获取日志文件列表
命令字:0x5542 LOGFILE_LIST_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| num | int | 表示获取最近多少个文件,可选值:5、30、100 |
json
{
"num": 5
}控制器回复日志文件列表
命令字:0x5543 LOGFILE_LIST_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| absolutepath | string | 日志所在目录 |
| logfilenum | int | 注意,这个数和上面的num不一定相等 |
| logfilelist | array | 日志列表 |
json
{
"absolutepath": "log/",
"logfilenum": 3,
"logfilelist": ["logInfo.0", "logInfo.1", "logInfo.2"]
}ENI文件列表查询
命令字:0x5545 ENIFILE_LIST_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| num | int | 表示获取最近多少个文件,可选值:5、30、100 |
json
{
"num": 5
}控制器回复ENI文件列表
命令字:0x5546 ENIFILE_LIST_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| absolutepath | string | 文件所在目录 |
| ENIfilenum | int | 注意,这个数和上面的num不一定相等 |
json
{
"absolutepath": "log/",
"ENIfilenum": 3
}示教器发送表示已接受完成
命令字:0x5544 DownLoadControlLogFileFinish
示教器请求获取作业文件列表
命令字:0x5532 JOBFILE_LIST_INQUIRE
控制器回复作业文件目录及数量
命令字:0x5533 JOBFILE_SUM_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| absolutepath | array | 作业文件路径 |
| jobfilenum | array | 各作业文件路径下的作业文件数量 |
json
{
"absolutepath": ["/job/R1/", "/job/R2/", "/job/R3/", "/job/R4/"],
"jobfilenum": [2, 33, 233, 666]
}控制器回复作业文件列表
命令字:0x5534 JOBFILE_LIST_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| robot | int | 机器人号 |
| listnum | int | 最多10个 |
| jobfilelist | array | 作业文件列表 |
json
{
"robot": 1,
"listnum": 2,
"jobfilelist": [
{
"name": "xxx.JBR",
"MD5": "123"
},
{
"name": "yyy.JBR",
"MD5": "132"
}
]
}接受完成发送给示教盒
命令字:0x5535 JOBFILE_LIST_FINISH
无参数。当四个机器人发送完毕后发送给示教盒
示教器查询Lua脚本列表
命令字:0x5552 LUASCRIPT_LIST_INQUIRE
无参数
控制器回复Lua脚本列表
命令字:0x5553 LUASCRIPT_LIST_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| absolutepath | string | Lua脚本所在目录 |
| sum | int | 列表总数 |
| scriptlist | array | 脚本列表 |
json
{
"absolutepath": "lua/",
"sum": 3,
"scriptlist": ["ww.lua", "ee.lua"]
}信息提示
错误提示
命令字:0x2B03 ERROR_CODE
警告提示
命令字:0x2B04 WARNING_CODE
消息条提示
命令字:0x2B05 INFO_CODE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| data | string | 消息条内容 |
| type | int | 消息代码 |
json
{
"data": "示例",
"type": 1234
}弹窗提示
命令字:0x2B06 POPUP_CODE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| count | int | 弹窗按钮数量,最大为3 |
| text1 | string | 弹窗居中显示的主文本 |
| text2 | string | 按钮1的文本 |
| text3 | string | 按钮2的文本 |
| text4 | string | 按钮3的文本 |
| kind | int | 弹窗提示种类,1为消息,2为警告,3为报错 |
| node | string | 机器人序号1-4 |
| Tips | bool | 弹窗呼出为true |
json
{
"count": 1,
"text1": "示例",
"text2": "示例",
"text3": "示例",
"text4": "示例",
"kind": 1,
"node": "1",
"Tips": true
}弹窗交互反馈
根据用户对弹窗的操作进行相应设置:
命令字:0x2B07 GET_OPTION
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| node | string | 机器人序号1-4 |
| option | int | 1-3,对应弹窗选项1-3的内容 |
json
{
"node": "1",
"option": 1
}控制器时间查询
时间查询
命令字:0x5742 CONTROLLER_TIME_INQUIRE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| type | int | 1:获取系统开始时间至现在秒数,0:显示时间 |
| format | int | 1:获取北京时间,0:获取时间戳 |
json
{
"type": 0,
"format": 0
}返回查询结果
命令字:0x5743 CONTROLLER_TIME_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| tType | int | 1:获取系统开始时间至现在秒数,0:显示时间 |
| format | int | 1:获取北京时间,0:获取时间戳 |
| date | object | format为1时用格林威治标准时间表示 |
| year | int | 日期中的年份 |
| mon | int | 日期中的月份 |
| day | int | 日期中的天 |
| hour | int | 时间中的小时 |
| min | int | 时间中的分钟 |
| sec | int | 时间中的秒数 |
| msec | int | 时间中的毫秒数 |
| timestamp | object | 以秒和纳秒的形式记录时间戳 |
| s | int | 时间戳中的秒数 |
| 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
}
}复制机器人参数
命令字:0x9111 COPY_ROBOT_PARAM
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| mainRobot | int | 被复制参数的机器人的机器人号 |
| copyToRobot | array | 数组下标为机器人几;数组元素:1:需要复制,0:无需复制 |
json
{
"mainRobot": 1,
"copyToRobot": [0, 1, 0, 1]
}接收和发送信息
// 0x95XX被上位机服务功能占有
服务器发送错误
命令字:0x6010 SEVERO_ERROR
发送机器人错误
命令字:0x6020 ROBOT_ERROR
发送控制器错误
命令字:0x6030 CONTROLLER_ERROR
发送内存错误
命令字:0x6040 MEMORY_ERROR
警告类型
命令字:0x6110 WARNING_TYPE
消息类型
命令字:0x6210 INFO_TYPE
硬盘状态
硬件状态查询
命令字:0x50D2 HARDDISK_STATUS_INQUIRE
无参数
json
{}硬件状态查询后控制器返回
命令字:0x50D3 HARDDISK_STATUS_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| Estimated_Available_Time | int | 预计可用时间,单位h |
| get_harddisk_warning_time | int | 硬盘预警时间,单位h |
json
{
"Estimated_Available_Time": 200,
"get_harddisk_warning_time": 500
}设置硬盘预警时间
命令字:0x50D4 HARDDISK_WARNING_TIME_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| set_harddisk_warning_time | int | 硬盘预警时间,单位h |
json
{
"set_harddisk_warning_time": 500
}操作参数
操作参数设置
命令字:0x50A1 OPERATE_PARAM_SET
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| OutageKeepFunctionFlag | bool | 断电保持功能 |
| checkServoStatusWordMaxTime | int | 伺服响应时间,单位ms,范围1-1000 |
| runModeAutoManBegFlag | bool | 切到运行模式自动上电 |
| remoteUseReserveModeFlag | bool | 预约模式 |
| remoteAllowContinueRunFlag | bool | 远程IO断点执行 |
| remoteAllowCurrentRunFlag | bool | 远程IO当前行执行 |
| remoteSwitchModeEnable | bool | 无示教器切远程模式 |
| allowReserveRunningPro | bool | 远程IO程序运行中再次预约 |
| SetSafeScreenTeachInvalidFlag | bool | 示教模式安全光幕不生效 |
| keepStepRunFlag | int | 单步/回零/复位点/运行操作方式,0:单击运行,1:按下运行 |
| defaultRunningSpeed | int | 运行模式开机默认速度 |
| language | string | 语言选项:"chinese"、"english"、"korean" |
| craftSelect | string | 工艺选择:general-通用工艺,special-专用工艺,punch-冲压工艺,pallet-码垛工艺,weld-焊接工艺,cut-切割工艺 |
| switch_only_note | bool | 指令插入只显示点位注释,true只显示注释,false都显示 |
json
{
"OutageKeepFunctionFlag": false,
"checkServoStatusWordMaxTime": 100,
"runModeAutoManBegFlag": false,
"remoteUseReserveModeFlag": false,
"remoteAllowContinueRunFlag": true,
"remoteAllowCurrentRunFlag": false,
"remoteSwitchModeEnable": false,
"allowReserveRunningPro": false,
"SetSafeScreenTeachInvalidFlag": false,
"keepStepRunFlag": 0,
"defaultRunningSpeed": 1,
"language": "chinese",
"craftSelect": "general",
"switch_only_note": false
}查询
命令字:0x50A2 OPERATE_PARAM_INQUIRE
无参数
控制器返回
命令字:0x50A3 OPERATE_PARAM_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| rebootRunEnable | bool | 断电保持功能 |
| defaultRunningSpeed | int | 运行模式开机默认速度 |
| runModeAutoManBegFlag | bool | 切到运行模式自动上电 |
| remoteUseReserveModeFlag | bool | 预约模式 |
| remoteAllowContinueRunFlag | bool | 远程IO断点执行 |
| remoteAllowCurrentRunFlag | bool | 远程IO当前行执行 |
| remoteSwitchModeEnable | bool | 无示教器切远程模式 |
| allowReserveRunningPro | bool | 远程IO程序运行中再次预约 |
| SetSafeScreenTeachInvalidFlag | bool | 示教模式安全光幕不生效 |
| keepStepRunFlag | int | 单步/回零/复位点/运行操作方式,0:单击运行,1:按下运行 |
| craftSelect | string | 工艺选择 |
| switch_only_note | bool | 指令插入只显示点位注释 |
json
{
"rebootRunEnable": false,
"defaultRunningSpeed": 1,
"runModeAutoManBegFlag": false,
"remoteUseReserveModeFlag": false,
"remoteAllowContinueRunFlag": true,
"remoteAllowCurrentRunFlag": false,
"remoteSwitchModeEnable": false,
"allowReserveRunningPro": false,
"SetSafeScreenTeachInvalidFlag": false,
"keepStepRunFlag": 0,
"craftSelect": "general",
"switch_only_note": false
}切换系统
命令字:0x5101 SWITCH_MASTER
无参数
获取支持的语言
查询语言支持
命令字:0x50A5 LANGUAGE_SUPPORT_INQUIRE
无参数
json
{}返回查询结果
命令字:0x50A6 LANGUAGE_SUPPORT_RESPOND
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| language | array | 支持的语言列表 |
| language_used | string | 当前使用的语言 |
json
{
"language": ["Chinese", "Korean", "English"],
"language_used": "Chinese"
}比对示教器和控制器当前语言
命令字:0x50A7 TEACHBOX_LANGUAGE
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| teachbox_language | string | 示教器当前语言 |
json
{
"teachbox_language": "Chinese"
}拔出示教盒
拔出示教器发送
命令字:0x7277 TEACHBOXSTATE_CLOSE
无参数
json
{}插入示教盒恢复通信
命令字:0x7278 TEACHBOXSTATE_OPEN
无参数
json
{}