西门子S7-300高级编程培训_内部_8、同步和异步错误的处理范例.ppt

西门子S7-300高级编程培训_内部_8、同步和异步错误的处理范例.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理同步和异步错误 处理异步错误 异步错误并未对应到程序的某个特定位置,例如,它们可同程序的处理过程异步出现。 处理故障组织块 为了在发生错误时抑制 CPU STOP,传送一个空的故障组织块 您可以在Error OB中编写预期的响应,并根据需要在执行 Error OB之后使用系统功能 SFC 46 请求系统处于 Stop 状态 在故障组织块的启动信息中存有一个附加错误标识符,可在程序中检验。 在线帮助或者系统和标准功能手册中详细介绍了故障组织块 将OB传送到一个不支持该OB的CPU时,将被该CPU拒绝并伴随一个错误消息。 异步错误 OB 举例 处理同步错误 同步错误直接定位到用户程序中的一个位置 算术指令中的错误(溢出、无效的实数数据) 设置状态位 处理 STL语句时的错误(同步错误) 调用同步错误 OB 编程错误 OB121 的启动信息 访问错误 OB122 的启动信息 屏蔽同步错误 同步错误 OB 的缺点: 用于过程管理和错误处理的代码分布在至少两个块中 后续更改或维护方面的问题 较理想的情况: 用于过程管理和错误处理的代码位于同一个块中 屏蔽同步错误: 在“紧急”指令之前: SFC 36 MSK_FLT: 屏蔽同步错误 (OB12x 禁止调用) 执行“紧急”指令 检查是否有错误发生 SFC 38 READ_ERR: 读 Error Register(错误寄存器) OB12x 再次开放调用: SFC 37 DMSK_FLT: 解除屏蔽同步错误 SFC 36 屏蔽同步错误 编程错误过滤器的结构 访问错误过滤器的结构 SFC 37 解除同步错误屏蔽 SFC 38 读错误寄存器 示例:数据块测试 练习 8.1: FC81中的错误处理 日期: * 文件: PRO2_08E.* SIMATIC S7 Siemens AG 2001. 版权所有 SITRAIN 自动化与驱动培训 1) 仅适用于 S7-400 2) 非Stop w/o Error OB 举例 错误类型 时间错误 超出最大扫描时间 电源错误 后备电源故障 诊断中断 可诊断模块的输入断线 删除/插入模块中断 在运行模式下将一个 S7-400 信号模块移除 CPU 硬件错误 在MPI 接口出现故障信号电平 程序顺序错误 更新过程映像出现错误 (模块有故障) 机架错误 分布式机架上电源故障 通信错误 不正确的消息代码 错误 OB OB 80 OB 81 2) OB 82 OB 83 1) OB 84 1) OB 85 OB 86 1) OB 87 OB81: Error OB: 电源故障 Network 1: 电池故障,到来的事件 L #OB81_FLT_ID // 加载错误标识符 L B#16#22 // 标识符: CR 中的电池故障 ==I = M 81.1 // 设置存储器标志位 L #OB81_EV_CLASS // 标识符: 到来,离去 L B#16#39 // 标识符: 到来事件 ==I = M 81.2 // 存储器标志位到来事件 A M 81.1 // 电池故障和 A M 81.2 // 到来事件 S M 81.0 // 将存储器标志位设为错误显示 // Network 2: 当电池恢复正常后,复位辅助存储器标志位 L #OB81_EV_CLASS // 标识符: 到来,离去 L B#16#38 // 标识符: 离去 ==I R M 81.0 // 复位存储器标志位 举例 错误类型 编程错误 调用 CPU 中不存在的块 访问错误 直接访问一个有缺陷的或者不存在的模块 错误 OB OB 121 OB 122 数据类型 变量名 OB121_EV_CLASS BYTE OB121_SW_FLT BYTE 解释,赋值 B#16#25=调用编程错误 OB121 错误代码(参见文本) OB121_PRIORITY BYTE OB121_OB_NUMBR BYTE 其中发生错误的优先级 OB 编号(B#16#79) OB121_BLK_TYPE BYTE OB121_RESERVED_1 BYTE 中断块的类型(仅适用S7-400 ) OB: B#16#88, DB: B#16#8A, FB: B#16#8E, FC: B#16#8C 错误码的补充(参见文本) OB121_FLT_REG WORD OB121_BLK_NUM WORD OB121:错误源 发生错误的块的号码 OB121_PRG_ADDR WORD OB121_DATE_TIME DT 引发错误的块中的错误地址(仅适用 S7-400) 发生编程错误时的时间 数据类型 变量名称 OB122_

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档