来自西门子技术支持热线的故事:何谓‘nesting depth for synchronous errors’?

已锁定

西门子Auto

官方工程师

  • 帖子

    132
  • 精华

    16
  • 被关注

    227

论坛等级:侠圣

注册时间:2007-08-03

普通 普通 如何晋级?

来自西门子技术支持热线的故事:何谓‘nesting depth for synchronous errors’?

2707

6

2012-07-27 13:55:47

工程师E:您好,西门子技术支持
客户C:CPU 故障停机了?
E::需要查看‘诊断缓冲区‘(必看的哦)。
C:诊断缓冲区报‘DB not loaded’。
E:看详细描述,是不是请求中断OB121?
C:有啊,但是OB121下载了
E:… (不可能啊), 仔细看看,找停机记录‘STOP caused by..’,麻烦您完整的念一下。
C:有一条记录,‘STOP caused by exceeding the nesting depth for synchronous errors‘。
E:再看前面的记录有什么?
C:下面一条就是‘DB not loaded…’,再下面还有一条‘I/O access error..’,但是OB121和OB122都下载过了
E:(有点眉目了),检查OB121中嵌套深度,应该是这个问题。
C:OB121没有编程啊
E:(混乱了),那麻烦您把诊断缓冲区save as为一个文本文件发给我,我帮您看一下。
<下面是摘自客户的诊断记录中的停机记录>:
Event 7 of 10: Event ID 16# 4573
STOP caused by exceeding the nesting depth for synchronous errors
Caused by OB: 1 Priority class: 1
OB number: 122 /1
Module address: 0
Previous operating mode: RUN
Requested operating mode: STOP (internal)
Internal error, Incoming event
05:51:00.393 PM 08/21/1994


Event 8 of 10: Event ID 16# 253A
DB not loaded
DB number: 122
Requested OB: Programming error OB (OB121) /2
Priority class: 1
Internal error, Incoming event
05:51:00.389 PM 08/21/1994


Event 9 of 10: Event ID 16# 2942
I/O access error, reading
P area, word access, Access address: 512
Requested OB: I/O access error OB (OB122) /3
Priority class: 1
External error, Incoming event
05:51:00.389 PM 08/21/1994
从停机故障描述来看确实和程序块嵌套有关系,有疑问的是‘nesting depth for synchronous errors‘,于是做了个验证试验:
真正的块调用嵌套深度报错为:
Event 1 of 113: Event ID 16# 4575
STOP caused by exceeding block stack nesting depth in the priority class stack
Caused by OB: 1 Priority class: 1
FC number: 15
Module address: 8
Previous operating mode: RUN
Requested operating mode: STOP (internal)
Internal error, Incoming event
事件ID也不同。这种嵌套深度在CPU技术规范里有说明:



最后验证的结果是:‘nesting depth for synchronous errors‘的嵌套深度指的是同步错误触发OB121或OB122,而在 此OB中的程序又触发了一个同步错误。以客户的诊断信息为例:
首先是’I/O access error’触发了OB122( /3),因为OB122程序中访问的DB122没有下载请求OB121(/2) ,因而产生了所谓的同步错误嵌套(/1),客户用的CPU是S7-300,不支持此嵌套,直接导致CPU停机。
最后用S7-400试验得出了与S7-300不同的结果:
S7-400允许OB122和OB121 互相嵌套,而OB122或OB121自身嵌套也会造成CPU停机。
有了结果立即联系客户。解释一番后让客户检查发生的第一次同步错误OB122(/3)中的程序,查找对DB122访问的程序,一开始客户确认OB122中没有编程,最后坚持请客户打开块检查确实有程序并找到问题。
来自西门子技术支持热线的故事:何谓‘nesting depth for synchronous errors’? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54044条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。