事件 1 / 500: 事件 ID 16# 4541
由优先级系统引起的 STOP 模式
事件:超出周期时间
OB 编号:定时错误 OB (OB80)
优先级: 26
先前的工作模式:RUN
要求的工作模式:STOP (内部)
内部错误, 进入的事件
17:56:57.725 2013-12-09
事件 2 / 500: 事件 ID 16# 2523
写入时发生区域长度错误
实例 DB,字访问, 访问地址: 11915
所需的 OB:编程错误 OB (OB121)
优先级:10
内部错误, 进入的事件
17:56:57.725 2013-12-09
事件 3 / 500: 事件 ID 16# 2522
读取时发生区域长度错误
全局 DB,字访问, 访问地址: 49588
所需的 OB:编程错误 OB (OB121)
优先级:10
内部错误, 进入的事件
17:56:57.725 2013-12-09
以上问题找不到错误在哪里,怎么查找错误的DB FC等???
问题补充:
该故障运行一两周才会出现一次故障。模拟不出来。也找不到错的位置。
最佳答案
从事件2可以看到是写入DB?.DB?11915的时候出现错误,原因是找不到该地址,你可以通过GO TO 寻找DBX11915.0来查找程序中是否直接引用了这个地址,如果找不到,说明这个地址是被间接应用的,可能是通过循环和指针来指向的,这样的话一般只能通过看程序来查找了,看哪个程序使用了循环和指针功能。
还有一个简单办法,就是利用仿真器SIMPLC,仿真运行时如果也报相同错误,那么你可以通过点击CPU诊断信息窗口下方的OPEN BLOCK找到出错的地方(我发现有些时候直接读取在线PLC时,这个按钮是不可用的,但是通过仿真器这个按钮却是可以点击的,你不妨一试)
提问者对于答案的评价:
虽然不能解决,但是可以参考一下!!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc235146.html