回复:编程时新手容易犯错的一点

ransad

  • 帖子

    163
  • 精华

    0
  • 被关注

    22

论坛等级:侠客

注册时间:2011-04-06

普通 普通 如何晋级?

发布于 2016-09-29 20:02:37

2楼

展开查看
以下是引用yanxiao在2016-09-29 19:34:02的发言 >1楼

书上是说的没错。

经过我的消化,是这样理解的:

1、与定时器有关的指令,可以分两类,一类是使用定时数据的,另一类是操作定时器的。就象一个闹钟,读时间就是使用闹钟,拨弄闹钟就是操作。

2、使用定时器,也就是读定时器状态或定时器当前的时间值,对定时器是没有影响的,而操作定时器,则会影响定时器的状态及当前值,而且是若有影响,立即生效。所以楼主的T38,定时到时,又被立即复位了,T38=1的状态到不了下面的网络。


这是一个很微妙的东西,我们也不知道它的内部是怎么样的运算方式。

有一点我们的认识是相同的,“而操作定时器,则会影响定时器的状态及当前值”但你说的T98定时到时,又被立即复位了,这个我不能理解。

因为这和扫描也有关系,如果扫描开始时,T98=0,扫描到程序触点T97时T98计时到时,那么网络2的T98是=0还是=1?(虽然这个可能性很小),因为这时操作了定时器,那么就该=1吗?

这一点也是我没想通的,而且T98定时到时下一个扫描周期刷新状态,那扫描开始是T98=1,那T97复位,T98应该也复位,但说明书上说的是“定时器位和当前值在每个程序扫描周期的开始刷新”,那么这个定时器位怎么理解?如果是T98状态,那它应该还没刷新,应该就是T98=1因为扫描开始的时候是1,,但实际是0。也许是我转牛角尖了,但我确实没理解。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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