程序运行出错之后,ZDevelop 软件会显示出出错信息,如果出错信息没有看到,可以通过命令行输入?*task 再次查看出错信息,双击出错信息可以自动切换到程序出错位置,根据错误代号,可以知道出错情况。修改错误后,需要清理,再进行编译,否则错误信息还是存在,容易混淆视听。
附录:错误码情况
210 文件过大
212 状态错误 Resume 时为非暂停状态。
213 文件下载上传出错,丢包。 PC 函数调用返回此错误
214 下载文件的长度校验错误。
215 缓冲长度不够 发送字符串命令过长时返回此错误。
217 控制器不支持或禁止的功能。
218 调用传递的参数错误。
219 下载冲突,同时启动了多个文件下载。
220 文件名错误,有特殊字符。
221 文件名错误,超过长度。
222 文件不存在
223 密码保护限制。
224 密码保护限制 2。
260 硬件错误
261 磁盘没有格式化
262 RTC 错误
263 NORFLASH 错误
264 RAM 错误
265 NANDFLASH 错误
266 U 盘错误
267 FPGA 错误
268 以太网硬件错误
271 备份电源错误
272 子卡不存在
273 文件丢失
274 系统文件错误
275 无主控,子卡上产生
276 程序文件校验错误
277 程序文件错误导致不启动
278 ZAR 校验 APPPASS 出错
279 ZAR 校验 ID 出错
280 BAS 文件超过最大数量
281 子卡 ID 冲突,或多主冲突。
282 不支持的功能
284 zar 与控制器不匹配
285 图片文件错误
286 字体文件错误
1000 运动模块返回错误偏移
1002 无运动缓冲
1004 从轴运动中
1005 不支持的运动功能
1006 圆弧位置错误
1007 椭圆 AB 参数错误
1008 运动模块输入参数错误
1009 运动中,无法操作
1010 暂停等重复操作
1011 IDLE 无法做暂停等操作
1012 当前运动不支持暂停
1013 找不到暂停点
1014 ATYPE 不支持
1015 ZCAN 的 ATYPE 冲突
1016 轴不支持的功能
1017 FRAME 校正数据错误
1018 FRAME 校正数据过少
1019 FRAME 校正数据满足条件的数据过少
1020 FRAME 校正数据辅助参数过少
1021 FRAME 校正数据间隔过小,小于关节轴数
1022 FRAME 的输入坐标错误
1023 FRAME 状态下坐标不能强制修改
1024 FRAME 逆解异常
1025 不是 FRAME 状态
1026 FRAME HAND 错误
1030 CORNERMODE 7 位设置了但不支持此运动
1031 CORNERMODE 7 位设置了但不是FRAME 状态
2000 ZBASIC 模块偏移
2021 手动停止
2022 因其他任务错误导致本任务停止
2023 试图修改只读状态参数
2024 数组越界
2025 变量数超过控制器规格
2026 数组数超过控制器规格
2027 数组空间超过控制器规格
2028 SUB 数超过控制器规格
2029 标识符命名错误
2030 标识符命名过长
2031 没有右括号。
2032 不认识的字符。
2033 表达式中碰到不认识的名称。
2043 不认识的命令标识符,当前行第一个标识名称。
2044 堆栈溢出
2045 数学表达式太复杂,不同控制器的规格不一样。
2046 没有找到结束引用标号
2047 指令没有返回值,不能用于表达式计算。
2048 函数必须返回值,不用在一行的开头地方。
2049 特殊指令必须单独一行
2050 参数或数组需要索引。
2051 变量不能使用索引
2052 数组重定义且长度不一致。
2053 数组定义长度参数错误,负数或过大。
2054 标识符已经定义为 SUB 过程,不能再做其他用途。
2055 标识符已经定义为参数,不能再做其他用途。
2056 标识符预留,不能使用。
2057 出现不能识别的字符
2058 SUB 调用重复出栈。
2060 语法格式错误
2062 函数参数范围错误 包括任务号超过范围也返回这个错误。自动运行任务号出错也是这个错误码。
2063 函数参数过多
2064 函数参数太少
2065 缺少操作数
2066 操作符后面缺少操作数
2067 操作符前面缺少操作数
2068 不认识的操作符
2069 需要双目操作符
2070 CALL 必须调用 SUB
2072 需要赋值符号
2073 空文件
2074 SUB 定义的标识符名称冲突。
2075 要启动的任务已经运行中。
2076 多个参数要使用逗号隔开。
2077 括号不配对,无左括号。
2078 IF 判断的嵌套太多。
2079 循环语句嵌套太多。
2080 插补轴数太少。
2081 CONST 常量,不能修改。
2082 命令不能从 PC 在线发送。
2083 SUB 定义的参数太多。
2084 SUB 带参数,不能用于 GOTO 语句。
2085 局部标识符定义太多。
2086 LOCAL 变量名与文件变量名或其它标识符名称冲突。
2087 LOCAL 不支持数组定义。
2088 GSUB 定义的参数字母重复。
2089 GSUB 定义的参数只能为单字母。
2090 不能修改只读参数。
2091 GSUB_IFPARA 函数使用场合错误。
2092 除数为零
2093 超过缓冲
2094 在线命令阻赛时间过长。
2095 参数重名
2096 值没有初始化就使用了
2097 轴号冲突
2099 内部错误
2100 SCANEDGE 个数过多
2101 ZINDEX 类型不匹配
2901 系统错误,定义的标识符过多。 包括变量,数组,过程,过程参数等等。
3201 超过缓冲
3202 文件非正常结束
3204 内部状态错误
3205 不支持的功能
3206 内部调用参数错误
3301 圆弧的三点在一条线上。
3302 两条直线平行,没有交点。
3402 消息响应超时
3407 Modbus 返回参数错误
3408 Modbus 返回不支持
3501 ZCAN 返回无子卡
3502 ZCAN 返回子卡无对应轴
4000 4000-4500 PLC 模块的错误
4002 参数错误
4003 未知类型
4004 未知函数
4005 压栈太多 STL
4006 压栈太多
4007 程序太复杂, BLOCK 太多
4008 没有压栈 BLOCK
4009 没有压栈 STL
4010 没有压栈
4014 文件内容错误
4015 RET 必须在 STL 的后面
4016 超过范围
4017 低于范围
4018 L 没有定义
4019 不支持 G 代码函数
4020 不能 GOTO 跨 PLC 与 BASIC
4021 PLC 主任务只有一个
4022 语法错误
4023 FOR NEXT 错误,不匹配
4024 FOR NEXT 错误, 无 NEXT
4026 FOR MC 混用
4027 FOR STL 混用
4030 必须 PLC 主任务中使用
4031 必须中断中使用
4032 参数个数少
4033 参数个数多
4034 要 8 的倍数
4035 寄存器标识错误
4036 寄存器类型错误
4037 LV 个数超过
4038 只读
4500 4500-5000 PLC 上位机端错误
4503 内存不够
4504 回流到母线上
4505 回流
4506 AND 类型不能直接接母线
4510 悬空
4511 最右端必须是输出类型
5000 5000-5500 HMI 模块的错误
5000 LCD 号错误
5002 LCD 号冲突
5003 不支持对象
5004 内存不够
5005 控件层次错误
5006 窗口号超过
5007 无效窗口号
5010 对象属性丢失
5011 输入窗口有多个显示元件
5012 ACTION 类型错误
5013 事件过多
5014 返回上个窗口失败
5015 不能关闭基本窗口
5016 字体中找不到对应字符
5017 必须在 HMI 任务中使用
5020 控件 ID 冲突
5021 LCD 号错误
5022 找不到可用 LCD
5023 LCD 没有打开
5024 LCD 无数据
5025 程序复位
5026 lcd 已经打开了
5027 不是网络 LCD
5028 不支持的压缩方式
5029 颜色深度不支持
5030 不支持的数据类型
5031 设备号错误
5032 LCD_SEL 不能使用
5033 设置 REDRAW 不能再 DRAW 阶段
5034 DRAW 函数只能在 DRAW 阶段
5035 操作不能再 DRAW 阶段调用
5036 内部 LCD 分辨率固定
5037 LCD 分辨率超过
5038 库文件名错误
5039 字符过多
5501-5599 PC 端 PLC 文件编译的错误
5503 内存不够
5504 回流到母线上
5505 回流
5506 AND 类型指令不能直接接母线
5510 右边悬空,没有接输出指令
5511 最右边不是输出类型指令
5512 最右边不能连接在一起
5513 输出类型指令必须在最右边
5514 不支持的指令类型
5517 寄存器没有值
5518 DOT 值超过范围
5519 索引寄存器超过范围
5520 字符数过多
5521 寄存器类型错误
5522 寄存器值错误
5523 寄存器个数过多
5524 寄存器个数过少
5525 STL 使用错误
5526 RET 使用错误
5527 重复 RET
5528 END 或 LBL 的位置错误
5529 函数不能直接接母线
5530 出栈没有压栈
5531 MPP 太多
5532 寄存器类型使用错误
5533 ANB 错误,块数不够
5534 ORB 错误,块数不够
5535 ANB 错误,输出操作后不能合并
5536 ORB 错误,输出操作后不能合并
5537 AND 直接接母线
5538 OR 直接接母线
5539 OR 不能在 OUT 指令的后面
5540 STL 和 MC 不能共用
5541 MC 不能直接接母线
5542 _@寄存器要括号
5543 注释错误
5544 梯形图列数过多
5545 输出类型不能直接接母线
6000 ECAT 模块错误,slot 编号错误
6001 内部错误, 功能不支持。
6005 参数错误
6006 支持的设备类型数超过限制
6012 资源不够
6013 从设备反应超时
6014 缓冲不够
6015 应答包 wkc 错误
6016 SDO 应答超长
6017 SDO 应答错误
6018 SDO 应答数据长度错误
6019 WKC 超时
6020 state 切换超时
6021 SDO ABORT
6023 NODE profile 错误
6024 轴 profile 错误
6025 轴数超过
6029 PDO 列表个数超过
6031 设备个数超过
6042 设备不支持
6045 邮箱超时
6047 数据类型错误
20000 PC 端产生错误的偏移
20002 参数错
20003 超时 可能是 fifo 缓冲阻塞
20006 操作系统错误
20007 串口打开失败
20008 网络打开失败
20009 句柄错误
20010 发送错误
20011 文件错误
20012 文件长度错误
20013 文件名过长
20014 文件不存在
20015 ZLB 库文件错误
20016 文件没有编译 一般 PLC 文件
20020 固件文件不匹配
20021 不支持的功能
20030 输入缓冲长度不够