恭喜,你发布的帖子
发布于 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句指令就实现了一个扫描周期的滤波,可以不用定时器的嘛。
总结一下,楼主的这次分享含金量着实的不高,但楼主的分享精神值得鼓励,望不要气馁,再接再厉,争取再出好帖,其他点赞起楼的,对不起我都删了,没意见吧?
请填写推广理由:
分享
只看
楼主