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