回复:【分享】得到准确ms级的代码执行周期,做自己的多功能定时器块

Zane

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

  • 帖子

    21058
  • 精华

    399
  • 被关注

    1484

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2015-08-15 15:47:31

9楼

我又要呵呵了


先评一下#cycT的获取,首先通过两次时间标签的差值获取扫描周期的值是可以的,但SFC的读取值是有溢出复位的,也就是说在溢出的那瞬间最新读到的时间标签值会比前一次的时间标签值小,楼主没做处理而是简单地以前一次的差值也就是cycT代替了当前的cycT,这也没问题。但后续楼主说自己的做法的精度比OB1_PREV_CYCLE如何如何的高,问题就来了,扫描周期是波动的,前后两个扫描周期差个一倍时间也很正常,要讲精度,楼主的做法造成的误差可能是几十次或上百次OB1_PREV_CYCLE误差的累积,说要解决精度的问题,却把精度给丢了,好比大厦建在沙堆上,基础没做好后面做啥再好都是白搭。


后面关于定时器,实际的响应精度都受制于扫描周期,1毫秒精度有啥意义,而且系统本已提供了SFB4,我未见楼主的程序比SFB4    好在哪了。


至于数字量的滤波,需要定时高精度吗,不最后还是受制于扫描周期吗?楼主的这做法比用定时器延时更好吗?一点都木有看出来!


A     #IN_Buf

=     #IN_Flg

A     #INPUT

=    #IN_Buf


开关量滤波根本就不需要那么兴师动众,上面4句指令就实现了一个扫描周期的滤波,可以不用定时器的嘛。


总结一下,楼主的这次分享含金量着实的不高,但楼主的分享精神值得鼓励,望不要气馁,再接再厉,争取再出好帖,其他点赞起楼的,对不起我都删了,没意见吧?

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

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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