仿真报错
刘玉蓉
发布于2014-10-10 16:53
72
0
标签:
Event 1 of 19: Event ID 16# 3502
OB request error
No relevance for user (Z1): 0000
Cause: Cyclic interrupt clock pulse generator 6
Causing OB: Cyclic interrupt OB (OB 35)
Causing priority class: 12
Requested OB: Timing error OB (OB80)
Priority class: 26
Internal error, Incoming event
09:12:21.878 AM 11/22/2011
现在仿真出现了CPU以下报错 不知道具体什么原因导致的 会不会是仿真器运行的时间太长 ?还是啥原因望解答。
Event 3 of 19: Event ID 16# 3501
Cycle time exceeded
Run time of the last cycle (ms): 42156
Cause: Current OB1 start event initiated by end of OB1 (free cycle)
Causing OB: Cyclic program (OB1)
Causing priority class: 1
Requested OB: Timing error OB (OB80)
Priority class: 26
Internal error, Incoming event
09:12:19.503 AM 11/22/2011
佳答案
根据事件1/19,事件识别号16#3502的诊断结果,很明显是由于你在使用循环中断组织块OB35时,你在CPU属性对话框中子项”Time-of-Day Interrupts:(循环中断页)中设定的OB35的循环间隔时间小于你在OB35中你编写的程序执行时间长,所以CPU出错。一般可以通过循环中断组织块OB35实现每隔一段预定的时间(可以设定)执行一次程序,循环中断组织块OB35的间隔时间较短,长为1min,短为1ms。在使用循环中断块时,必须保证设定的OB35的循环间隔时间大于执行该程序的时间。
事件2/19,事件识别号16#3501的诊断结果,可以看出主循环组织块OB1中程序无法进行,可能进入死循环,所以调用错误处理组织块OB80(时间错误处理组织,你已经下载该OB80到CPU中)。一般一个循环扫描周期为40-100ms,而扫描周期的长短与你的用户程序长短有关。该段诊断结果简单注释如下:
循环时间(扫描时间)超过
上一次循环运行时间(ms)为42156i
原因:由于在OB1循环结束时激活当前OB1启动事件(自由循环)
引起组织块:循环程序OB1
引起优先级:1
请求错误处理组织块:时间错误OB(0B80)
优先级:26
内部错误
根据以上分析,应该是你的组织块OB35和OB1中程序本身有问题,而不是仿真问题。