回复:再试200的100毫秒分辨率定时器,实例还原部分真相

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2018-02-05 22:53:53

15楼

展开查看
以下是引用winter938在2018-02-04 18:38:55的发言 >12楼

或者这样说:CPU内部有个公用的1毫秒分辨率的计时器,100毫秒级定时器是每次执行定时指令时去读他,有N*100+n毫秒增量当前值就加N(N>=0,100>n>1),但n不丢弃转入下一次增量计算。1毫秒级定时器则是定时启动后每隔1毫秒就会去读那个公用的计时器并实时刷新当前值和位。10毫秒级定时器是每次扫描开始时去读他,有N*10+n毫秒增量当前值就加N(N>=0,10>n>1),但n不丢弃转入下一次增量计算。

100ms定时器是否每个定时器自己计算时间增量,这个还需要进一步用实例来证实。


我一直以为,100ms的定时器,虽然是定时器指令执行(指TON/TOF/TONR)时更新,但更新所用的定时器增量值,则统一使用在扫描周期开始时的公共计算值。

这一现象的程序证实方法:

1、如果在每个扫描周期中对100ms执行两次TON指令,定时时间值就会快1倍(200%),说明它使用的增量不是私有的。

2、如果是间隔一个扫描周期执行一次TON指令,定时时间会慢1倍(50%),扫描周期只有几个ms也是这个现象,间隔一个扫描周期应不会错过一个100ms的事件,间接说明它的增量是公共的。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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