事件 8 / 3000: 事件 ID 16# 3502
OB 请求错误
与用户无关 (Z1):0000
原因:循环中断时钟脉冲发生器 5
导致事件发生的 OB:循环中断 OB (OB 34)
问题原因优先等级:11
所需的 OB:定时错误 OB (OB80)
优先等级:26
内部错误, 进入的事件
01:31:02.612 2014-11-03
(编码: 16# 3502 1A50 C358 0000 1135 0B22)
事件 9 / 3000: 事件 ID 16# 3502
OB 请求错误
与用户无关 (Z1):0000
原因:循环中断时钟脉冲发生器 5
导致事件发生的 OB:循环中断 OB (OB 34)
问题原因优先等级:11
所需的 OB:定时错误 OB (OB80)
优先等级:26
内部错误, 进入的事件
01:31:02.406 2014-11-03
(编码: 16# 3502 1A50 C358 0000 1135 0B22)
这个错误不是一直出现的,目前没看出来什么时候以及为什么出现。。。
程序其实是 PCS7的
OB32 1秒的 里面的是CFC的东西一些电机和阀 同时调用一些FC。
OB34 200MS的 里面是所有的SFC顺序。
自己写的东西都在这两个里面。其它的各种块了都是PCS7自己生成的。
有知道怎么查找问题原因的吗???
最佳答案
说的简单点,提示信息的意思是,你在OB34(循环中断脉冲发生器是CPU时钟的倍数)里面的程序最大执行时间(最多执行程序行)已经等于或大于你设定的200MS。
有时不报,因为你有些时间段条件苛刻,执行程序行少,很多直接跳过,当所有条件满足是的执行程序行用的时间超过你设的200MS,就会报 。
解决办法:本网站里曾经有篇解决OB35中因为PID回路太多时程序执行时间的设定,同这个一样,把OB34的程序行全部放在空OB1中,OB1下载到CPU中,可以在线属性里看到最大执行时间,,OB34循环中断周期比这个长1倍就可以。
提问者对于答案的评价:
找出哪里调用超时,估计难呐,那个什么循环时钟脉冲 5 这个东西不是我写的程序吧。
我怎么可能找到。 不行 我再把循环时间调大点, 其实刚刚开始的时候 我是在 100MS的中断里调用的,那个时候经常报这个错误,然后放200MS里实际发现这个错误只有一次,出过错以后 我特意开开 仿真 看了大半天 没再出现 OB错误。 不行我放到更长的中断里看看。还不行估计只有像你们说的那样 放OB1里看看 能不能找出来那个地方超时。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc230005.html