回复:FB的问题,老师请进

划痕

  • 帖子

    2009
  • 精华

    23
  • 被关注

    16

论坛等级:侠圣

注册时间:2009-08-14

普通 普通 如何晋级?

发布于 2012-09-05 23:48:33

8楼

从使用数量和时基的角度对比:
1、从可使用的个数来讲——使用SFB4没有数量的限制(仅受限于CPU内存大小限制);而使用系统提供的TIMER时支持的个数是有限制的(不同类型CPU,支持的TIMER个数也不一样)。
2、从定时时基来讲,TIMER的时基是固定的;而使用SFB4(或其他IEC_T)的没有时基之说,基本原理是用读取CPU的运行时间作差处理来进行定时的,比如调用SFB4,定时时间10S,当条件满足时SFB4中将记录此时CPU运行时间t1,然后没调用执行一次SFB4将查看当前CPU的运行时间t2,当t2-t1>=10s时,定时器的输出将置位。

总结:使用Timer时,既可以在OB1中使用,也可以其它子程序或中断程序中使用,定时是准确的;而SFB4(或IEC_T)推荐在OB1中使用,并且应该每个扫描周期都要能够执行SFB4,若要在周期中断中使用,一定注意此时的定时时间应该为该中断周期的整数倍,否则定时时间误差会比较大。
此处提供一个使用SFB4出现定时误差为1s的程序代码(见附件),供大家测试。也希望大家和网友“jianghehupo”一样将你的测试结果与大家分享——学习经验的同时也传递一份知识!
点击此处查看附件
No discussion, no outcome.

精华帖版主置评:知其然,还要知其所以然。虽然是基本功,但要做到触类旁通能举一反三,还是要下一些功夫的。划痕应该是论坛里的最小字辈了,不能说十全十美,但也让我们看到年轻一代工程师的希望,封精鼓励,望戒骄戒躁,始终保持虚心学习的态度

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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