回复:关于循环中断的CPU报系统故障,151-8

Letham

西门子1847工业学习平台

  • 帖子

    2023
  • 精华

    43
  • 被关注

    360

论坛等级:至圣

注册时间:2006-04-15

钻石 钻石 如何晋级?

发布于 2016-10-07 08:22:50

12楼

展开查看
以下是引用Haohaobb在2016-10-06 19:41:34的发言 >11楼

我最初提到的异常情况是仿真是出现的,现在下载到实际的plc里面,并没有出现类似的异常报警。

ob35自身里面的程序如果执行周期大于循环中断的设定时间,比如我现在设定的循环时间是10ms,如果ob35执行的时间大于10ms会调用OB80是吧?


如果ob1的扫描时间大于10ms,也就是大于ob35的循环时间,这个不算是异常情况是吧?只是有可能存在一个ob1周期里面调用2次ob35是吧?

以下是引用Letham在2016-10-06 08:30:55的发言 >10楼:从你的缓冲区 信息来...

引用10楼详细内容:

从你的缓冲区 信息来看就是你的OB35导致的停机。检查OB35程序(如楼上所说OB35执行时间大于OB35扫描时间了!可以进行一下测试OB35程序 第一句来个BEU,下载到CPU,删除程序不能代表你剩余程序没有问题)!

OB35的中断周期 可以根据需要自由设定,10毫秒,20毫秒,等。但是要保证OB35里程序扫描时间小于中断周期!

OB1的扫描时间本来就是不确定的,它是自由循环,执行完成后重新开始新一轮循环。它优先级最低,所以任何中断执行时,OB1将暂时停止执行CPU转到高优先级中断处理程序,完成后返回OB1继续执行剩余程序,所以OB1执行程序等于读写过程映像区时间+本次OB1循环中,所执行的高优先级OB程序扫描时间,你可以在CPU硬件组态里 根据实际情况增大程序扫描监控时间。



OB1 扫描时间 只要 不大于CPU硬件里设置的监控时间,就可以!OB35中断周期过短 ,是可能发生一个OB1执行周期里,数次中断OB1执行的情况,所以要根据需要设定循环中断的周期。


OB35执行周期大于循环中断周期,CPU会调用OB80.

人生就像一场旅行!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。