回复:老问题欢迎讨论:怎样通过改变编程方法减小程序扫描周期?

Zane

版主 西门子1847工业学习平台

  • 帖子

    21054
  • 精华

    399
  • 被关注

    1484

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2009-04-04 22:20:30

0楼

感谢“微步”与“五经”的踊跃发言,有些概念需要更正一下,请二位再斟酌,也请其他网友积极参加。
1.即使OB1一句指令也没有,它也是有处理时间的,如“五经”所言,用于I/O映像区的刷新,通讯,系统功能及诊断处理等后台工作。如果这时有中断产生,那么中断处理的时间都会被计入OB1的时长,因为OB1的优先级最低。
2.承上结论,把程序都放入中断去处理,在OB1中执行的程序不会因为放到中断去执行了,其执行周期就会缩短,不一定能减少扫描周期,反而还会增加,从微观上说处理中断系统还要额外地处理中断现场的保护与恢复。
3.对于西门子的大多数系统应用来说,尤其是S7-300,无论程序是否在OB1中执行,I/O的刷新都是在OB1的开始。
3.从广义上讲,OB1也是间隔的,只不过间隔周期不固定,因此原先在OB1中执行的程序在中断(尤其是间隔较短的中断,如5MS)中处理,是有好处的,稳定,但这种中断不宜太多,最好是一层中断比较好处理,而且逻辑处理最好在同一个优先级的中断处理程序中,I/O的刷新最好与中断同步。也有都在中断中编程的系统,如AB的PLC,PAC及SIMOTION,都是基于事件和时间片的编程方式,这又是另外一种编程概念了,另论。

Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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