要允许 S7-1500 CPU 调用编程错误 OB,必须设置全局错误处理。
如果在处理用户程序指令时发生编程错误,S7-1500 CPU 操作系统将调用编程错误 OB。编程错误 OB 会根据为其设置的**级进行处理。
提示 如果已设置了本地错误处理,那么相应块中的编程错误处理将在发生编程错误时有效。 |
对于 S7-300 和 S7-400 CPU
请参见
优化启动信息:
名称 | 数据类型 | 含义 |
---|---|---|
BlockNr | UINT | 发生编程错误的块的编号 |
Reaction | USINT | 0:忽略错误 1:替换不正确的值 2:跳过命令 3:已编程的错误处理,例如由使用无效下标的数组访问触发,或者为 FC 或 FB 提供参数时由错误触发 |
Fault_ID | BYTE | 错误代码(可能值:B#16#00、B#16#03、B#16#04、B#16#05、B#16#20、B#16#21、B#16#22、B#16#23、B#16#24、B#16#25、B#16#26、B#16#27、B#16#28、B#16#29、B#16#2C、B#16#30、B#16#31、B#16#32、B#16#33、B#16#34、B#16#35、B#16#38、B#16#39、B#16#3A、B#16#3B、B#16#3C、B#16#3D、B#16#3E、B#16#3F、B#16#50、B#16#51、B#16#75、B#16#76、B#16#A1、B#16#A2) |
BlockType | USINT | 出错块的类型: OB:1 FC:2 FB:3 SFC:4 SFB:5 DB:6 |
Area | USINT | 发生错误访问的区域: 本地数据:B#16#40 至 4E、86、87、8E、8F、C0 至 CE 过程映像输入:B#16#01 过程映像输出:B#16#02 工艺 DB:B#16#04 I:B#16#81 Q:B#16#82 M:B#16#83 DB:B#16#84、85、8A、8B |
DBNr | Block_DB | DB 编号(如果 AREA = DB 或 DI) |
Csg_OBNr | OB_ANY | OB 编号 (121) |
Csg_Prio | USINT | OB **级 |
Width | USINT | 出错的访问类型: Bit: - B#16#00,用于访问标准存储区 - B#16#01,用于访问优化存储区 Byte:B#16#01 Word:B#16#02 DWord:B#16#03 LWord:B#16#04 |
下表列出了错误代码的含义:
fault_ID B#16# ... | 含义 |
---|---|
00 | **出了块调用的较大嵌套深度 |
03 | 使用了 NULL 指针对操作数进行寻址。 |
04 | 未知指令 |
05 | Stop 指令 |
20 | 被寻址的字符串的长度信息有误。 |
21 | BCD 码转换错误 |
22 | 读取时出现区域长度错误 |
23 | 写入时出现区域长度错误 |
24 | 读取时区域出错 |
25 | 写入时区域出错 |
26 | 定时器编号错误 |
27 | 计数器编号错误 |
28 | 利用位地址不为 0 的指针对字节、字或双字进行读访问 |
29 | 利用位地址不为 0 的指针对字节、字或双字进行读访问 |
2C | 使用了 NULL 指针对操作数进行寻址。 |
30 | 对写保护全局 DB 的写访问 |
31 | 对写保护背景 DB 的写访问 |
32 | 访问全局 DB 时 DB 编号出错 |
33 | 访问背景 DB 时 DB 编号出错 |
34 | 调用 FC 时编号出错 |
35 | 调用 FB 时编号出错 |
38 | 未加载类型安全数据块。 |
39 | 数据块未定义为类型安全。 |
3A | 访问了尚未装载的 DB;DB 编号位于允许的范围内 |
3B | DB 不存在 |
3C | 访问了尚未装载的 FC;FC 编号位于允许的范围内 |
3D | 访问了未装载的 SFC;SFC 编号位于允许的范围内 |
3E | 访问了尚未装载的 FB;FB 编号位于允许的范围内 |
3F | 访问了不可用的 SFB;SFB 编号位于允许的范围内 |
50 | 未加载类型安全数据块。 |
51 | 数据块未定义为类型安全。 |
75 | **出了块调用的较大嵌套深度。 |
76 | **出了可用本地数据的较大量。 |
A1 | 对写保护变量的写访问 |
A2 | 对包含无效数字值的变量的访问 |
产品推荐
友情链接