Skip to content

报错

概述

控制器通过 JSON 协议向上位机上报各类错误、警告和消息提示。上位机也可以通过协议命令清除伺服错误。本章详细说明错误码的分类体系、上报机制和处理流程。


错误码分类

系统错误码按照功能域和严重程度进行分类,便于快速定位和处理问题。

按严重程度分类

种类kind 值说明典型场景
消息0普通信息提示,不影响系统运行日志记录、操作成功提示、状态变更通知
警告1警告信息,系统可继续运行但需关注参数配置缺失、备份提醒、接近限位
报错2严重错误,通常需要人工干预才能恢复伺服故障、急停触发、碰撞检测、通信中断

按功能域分类

错误域错误码范围说明
系统错误0x0000 - 0x0FFF系统初始化、配置、版本相关的错误
伺服错误0x1000 - 0x1FFF伺服驱动、编码器、电机相关的错误
运动控制错误0x2000 - 0x3FFF运动规划、插补、轨迹相关的错误
程序执行错误0x4000 - 0x5FFF作业程序解析、执行、变量操作相关的错误
通信错误0x6000 - 0x6FFF网络通信、协议解析、端口连接相关的错误
安全错误0x7000 - 0x7FFF安全门、急停、光幕等安全设备相关的错误
IO 错误0x8000 - 0x8FFF数字/模拟输入输出相关的错误
工艺错误0x9000 - 0x9FFF焊接、码垛、切割等工艺相关的错误

常见错误码

错误码说明种类处理建议
16385机器人参数配置文件不存在警告(1)检查配置文件,系统已自动创建默认配置
21764自动备份成功消息(0)无需处理,仅为通知
28680指令不存在报错(2)检查发送的命令字是否正确

错误上报机制

上报方式

控制器通过以下命令字主动向上位机推送提示信息:

命令字功能方向
0x1110错误提示上报控制器 → 上位机
0x1111警告提示上报控制器 → 上位机
0x1112消息提示上报控制器 → 上位机
0x1113弹窗提示上报控制器 → 上位机

错误信息字段说明

每个错误/警告/消息都包含以下核心字段:

字段类型说明
robotint产生错误的机器人编号。0 表示与特定机器人无关(系统级错误)
kindint严重程度:0=消息,1=警告,2=报错
codeint错误编码,用于唯一标识错误类型
datastring人类可读的错误描述信息
paramint[]错误附带的参数,根据具体错误码有不同含义(如轴号、指令字等)

清错

清除伺服错误时使用。

清除伺服错误

命令字: 0x1100

字段类型说明
robotint要操作的机器人编号,取值范围 [1, 4]
json
{
  "robot": 1
}

控制器回复

命令字: 0x1101

字段类型说明
robotint机器人编号,取值范围 [1, 4]
clearErrorFlagbool是否清除成功,true 清除伺服错误成功,false 清除失败
json
{
  "robot": 1,
  "clearErrorFlag": true
}

错误处理流程

典型的错误处理流程如下:

  1. 错误发生:控制器检测到异常,通过 0x1110/0x1111/0x1112 上报错误/警告/消息
  2. 错误识别:上位机收到上报后解析 codekind 字段,确定错误类型和严重程度
  3. 错误分类处理
    • 消息(kind=0):记录日志,无需特殊处理
    • 警告(kind=1):提示用户注意,记录日志
    • 报错(kind=2)
      • 显示错误弹窗或提示
      • 判断是否需要停机或停止当前运动
      • 如为伺服错误,可发送 0x1100 清错命令
  4. 清错操作:上位机发送 0x1100 清除伺服错误,控制器回复 0x1101 告知清除结果
  5. 恢复运行:错误清除后,上位机可重新使能并继续执行

注意: 并非所有错误都可以通过 0x1100 清除。部分硬件故障、安全联锁错误需要物理排除故障后才能恢复。


信息提示

控制器向上位机发送错误提示/警告提示/消息提示/弹窗提示。

错误提示

命令字: 0x1110

字段类型说明
robotint机器人编号,取值范围 [0, 4],等于 0 时表示未选择机器人类型或者错误内容与机器人无关
kindint弹窗提示种类:0 消息,1 警告,2 报错
datastring消息条内容,不同的错误对应不同的内容
codeint消息编码
paramint[]消息内容参数,根据具体编码的不同会有不同个数,预留 5 个
json
{
  "code": 28680,
  "data": "指令[0x5743]不存在",
  "kind": 2,
  "param": [22339, 3],
  "robot": 0
}

警告提示

命令字: 0x1111

字段类型说明
robotint机器人编号,取值范围 [0, 4],等于 0 时表示未选择机器人类型或者警告内容与机器人无关
kindint弹窗提示种类:0 消息,1 警告,2 报错
datastring消息条内容,不同的警告对应不同的内容
codeint消息编码
paramint[]消息内容参数,根据具体编码的不同会有不同个数,预留 5 个
json
{
  "code": 16385,
  "data": "机器人1参数配置文件不存在,已创建,请配置参数",
  "kind": 1,
  "param": [1],
  "robot": 1
}

消息提示

命令字: 0x1112

字段类型说明
robotint机器人编号,取值范围 [0, 4],等于 0 时表示未选择机器人类型或者消息内容与机器人无关
kindint弹窗提示种类:0 消息,1 警告,2 报错
datastring消息条内容,不同的消息对应不同的内容
codeint消息编码
json
{
  "code": 21764,
  "data": "自动备份成功",
  "kind": 0,
  "robot": 0
}

弹窗提示

命令字: 0x1113

字段类型说明
countint弹窗按钮数量,最大为 3
text1string弹窗居中显示的主文本
text2string按钮 1 的文本
text3string按钮 2 的文本
text4string按钮 3 的文本
kindint弹窗提示种类:0 消息,1 警告,2 报错
nodeint机器人序号,取值范围 [1, 4]
Tipsbool弹窗呼出,true 表示呼出
json
{
  "count": 1,
  "text1": "示例",
  "text2": "示例",
  "text3": "示例",
  "text4": "示例",
  "kind": 1,
  "node": 1,
  "Tips": true
}

弹窗交互反馈

根据用户对弹窗的操作进行相应设置。

命令字: 0x1114

字段类型说明
nodeint机器人序号,取值范围 [1, 4]
optionint对应弹窗选项 1-3 的内容,取值范围 [1, 3]
json
{
  "node": 1,
  "option": 1
}