今年突然出现CPU不定时自动停机,该下的OB块都下了,CPU和存储卡都换过了,CPU也独立供电了,但还是出现这样的故障,下面是最近一次诊断信息:Event 4 of 100: Event ID 16# 4541
STOP caused by priority class system
Event: Cycle time exceeded
OB number: Timing error OB (OB80)
Priority class: 26
Previous operating mode: RUN
Requested operating mode: STOP (internal)
Internal error, Incoming event
03:34:41.510 AM 07/21/1995
(Coding: 16# 4541 FF84 C300 0000 3501 1A50)
Event 5 of 100: Event ID 16# 2943
I/O access error, writing
P area, word access, Access address: 878
Requested OB: I/O access error OB (OB122)
Priority class: 1
External error, Incoming event
03:34:41.509 AM 07/21/1995
(Coding: 16# 2943 017A 0020 036E 0000 0000)
Event 6 of 100: Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address: 500
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
03:34:41.508 AM 07/21/1995
(Coding: 16# 2522 0179 0024 01F4 0000 0000)
问题补充:
诊断信息里面的 地址 :878 500 等都不存在的,不知道为什么会去读写他们
最佳答案
1、解读系统诊断信息:
、Event: Cycle time exceeded:
循环时间超时。
、I/O access error, writing:
当写入时I/O 访问错误。
、Area length error when reading
Global DB, ......:
当读入时全局DB区域长度错误。
2、综上所述,可能的原因是你的程序问题。例如,你的程序中应用了循环语句,在循环语句中应用了指针间接(变址)寻址指令。而由于循环次数有误,形成了死循环或超出了DB块定义的长度。
4、问题补充:诊断信息里面的 地址 :878 500 等都不存在的?
是的。如果你应用了循环语句,由于循环次数有误,会由指针间接(变址)寻址形成上述地址的。
提问者对于答案的评价:
感谢大家!又跟踪了一下,果然是程序里调用了FC85的块时出现的问题,FC85这个块是 S7-300与富士触摸屏UG530H通讯进行数据交换的程序,这个块是加了锁的,也看不到里面的程序。整个程序运行10多年了都没出现自动停机的问题,只是今年年初这个触摸屏坏了,后来换了个新的屏,才出现这种不定时的自动停机的现象。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc282395.html