ERROR_NR、ERROR_INFO 参数 (S7-300, S7-400) 诊断的错误类别 起止错误编号说明 含义 1 ... 9 指令和 CP 初始化错 误 错误编号 1 至 9 指示初始化终止且出现错误。 CP_START_ERROR参数被设置为 1。 无法实现 Modbus 与主站系统之间的通信。 10 ... 19 执行函数代码时出 错 错误编号 10 至 19指示在处理函数代码时出错。 CP 向通信指令传送了无效的执行作业。 错误也会报告给驱动程序。 后续执行作业会继续被处理。 90 ...99 其它故障/错误 出现处理错误。 错误不会报告给驱动程序。 后续执行作业会继续被处理。判断 SFCERR 变量 有关属于事件类别30 的错误 (1E) 0EH、(1E) 0FH、(1E) 10H 和 (1E) 11H 的更多详细信息,可 以通过 SFCERR变量获得。 可以从相应指令的背景数据块中装载 SFCERR 变量。 在 SFCERR变量中输入的错误消息可在系统函数“DPRD_DAT:读取 DP 标准从站的一致性数 据”和 SFC15“DPWR_DAT:写入 DP标准从站的一致性数据”以及“RD_LGADR:确定模块的 所有逻辑地址”中找到。说明 解决办法 0E49 函数代码 8: 在 SEND源代码中为“诊断代码” 指定的代码不正确。 唯一允许的代码是“诊断代码”0000H。 0E4A 该函数代码的长度大于Zui大长度。本手册包含了每个函数代码的Zui大长度。 0E50 主站在未发送任何内容的情况下收 到响应。 网络中有从站或另一个主站。检查传输线路是否已中断(可能需要进行 接口分析)。 0E51 函数代码不正确: 在响应消息帧中收到的函数代码与 发送的函数代码不同。检查从站设备。 0E52 字节下溢: 收到的字符数少于响应消息帧的字 节计数器指示的字符数或该函数代 码预期的字符数。 检查从站设备。0E53 字节上溢: 收到的字符数多于响应消息帧的字 节计数器指示的字符数或该函数代 码预期的字符数。 检查从站设备。 0E54字节计数器不正确: 响应消息帧中收到的字节计数器太 小。 检查从站设备。 0E55 字节计数器错误: 响应消息帧中接收到的字节计数器错误。 检查从站设备。 0E56 回复不正确: 从站回复的响应消息帧数据(位数 等)与在响应消息帧中发送的数据 不同。 检查从站设备。0E57 CRC 校验不正确: 校验来自从站的响应消息帧的 CRC 16 校验和时出错。 检查从站设备。 0E61响应消息帧返回异常代码 01: 非法函数 请参见手册,以获取有关从站设备的信 息。
响应消息帧返回异常代码 02: 数据地址非法 请参见手册,以获取有关从站设备的信 息。 0E63 响应消息帧返回异常代码03: 非法数据值 请参见手册,以获取有关从站设备的信 息。 0E64 响应消息帧返回异常代码 04: 相关设备故障请参见手册,以获取有关从站设备的信 息。 0E65 响应消息帧返回异常代码 05: 确认 请参见手册,以获取有关从站设备的信 息。0E66 响应消息帧返回异常代码 06: 已占用;消息帧被拒绝 请参见手册,以获取有关从站设备的信 息。 0E67响应消息帧返回异常代码 07: 否定确认 请参见手册,以获取有关从站设备的信 息。 1E0D “作业因暖启动、热启动或复位而 中止”1E0E 调用 SFC DP_RDDAT 期间出现静态 错误。SFC 的 RET_VAL 返回值可 用于评估背景数据块的 SFCERR变 量。 从背景数据块中装载 SFCERR 变量。 1E0F 调用 SFC DP_WRDAT 期间出现静 态错误。SFC 的RET_VAL 返回值 可用于评估背景数据块的 SFCERR 变量。 从背景数据块中装载 SFCERR 变量。 1E10 调用 SFCRD_LGADR 期间出现静态 错误。SFC 的 RET_VAL 返回值可 用于评估背景数据块的 SFCERR 变 量。从背景数据块中装载 SFCERR 变量。 1E11 调用 SFC RDSYSST 期间出现静态 错误。SFC 的 RET_VAL返回值可 用于评估背景数据块的 SFCERR 变 量。 从背景数据块中装载 SFCERR 变量。 1E20 参数超出范围。为该指令输入有效范围内的参数。 1E41 在指令参数 LEN 中指定的字节数无 效 值必须在 1 到 256 个字节的范围内。错误编号ERROR_ No (十进制) ERROR_INFO 错误文本 解决方法 0 0 没有错误 1 SFC 51->RET_VAL使用 SFC 51 读取系统状态列 表时出错。 分析 ERROR_INFO 中的 RET_VAL;消除出 错原因。 2 S_SEND->STATUS,S_RCV- >STATUS 模块初始化期间超时或出错 (S_SEND 请求中有错误)。检查此接口是否被分配了适用于“Modbus 从站”协议操作的参数。 验证通信指令中指定的“ID”。 分析 ERROR_INFO。 11起始地址 驱动程序向通信指令传送了无 效的起始地址。 检查 Modbus 主站系统的 Modbus 地址。 12 寄存器数驱动程序向通信指令传送了无 效的寄存器数。 寄存器数 = 0。 检查 Modbus 主站系统的寄存器数。 如有必要,请重新启动该模块(Mains_ON)。 13 寄存器数 驱动程序向通信指令传送了无 效的寄存器数: 寄存器数 > 128。 检查 Modbus主站系统的寄存器数。 如有必要,请重新启动该模块 (Mains_ON)。 14 位存储器 M – 结束地址 试图访问区域外部的SIMATIC 标志存储区。 注意: SIMATIC CPU 中的区域长度取 决于 CPU 的类型。 减小 Modbus起始地址的长度或 Modbus 主站系统中的访问长度。 15 输出 Q — 结束地址 输出 I — 结束地址 试图访问区域外部的SIMATIC 输出存储区。 注意: SIMATIC CPU 中的区域长度取 决于 CPU 的类型。 减小 Modbus起始地址的长度或 Modbus 主站系统中的访问长度。 16 定时器 T — 结束地址 试图访问区域外部的 SIMATIC定时器存储区。 注意: SIMATIC CPU 中的区域长度取 决于 CPU 的类型。 减小 Modbus 起始地址的长度或Modbus 主站系统中的访问长度。ERROR_ No (十进制) ERROR_INFO 错误文本 解决方法 17 计数器 C –结束地 址 试图访问区域外部的 SIMATIC 计数器存储区。 注意: SIMATIC CPU 中的区域长度取 决于 CPU 的类型。减小 Modbus 起始地址的长度或 Modbus 主站系统中的访问长度。 18 0 驱动程序向通信指令传送了无 效的 SIMATIC存储区。 如有必要,请重新启动该模块 (Mains_ON)。 19 访问 SIMATIC I/O 的过程中出 错。 检查所需的 I/O是否存在并且无错误。 20 DB# DB 不存在。 将该 DB 添加到您的项目中。 21 DB# DB 长度无效 增加 DB 的长度。22 DB# DB# 小于Zui小 DB 值。 更改Zui小 DB 值。 23 DB# DB# 大于Zui大 DB 值。 更改Zui大 DB 值。24 标志地址 标志小于下限。 更改转换 DB 中标志的下限。 25 标志地址 标志大于上限。 更改转换 DB 中标志的上限。 26输出地址 输出小于下限。 更改转换 DB 中输出的下限。 27 输出地址 输出大于上限。 更改转换 DB 中输出的上限。 90S_SEND-> STATUS 使用 S_SEND 向驱动程序传输 确认消息帧时出错。 分析 STATUS 信息。 94S_RCV->STATUS 使用 S_RCV (STATUS) 读取 SYSTAT 时出错。 分析 STATUS 信息。