恭喜,你发布的帖子
发布于 2016-09-29 20:02:37
2楼
书上是说的没错。
经过我的消化,是这样理解的:
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。也许是我转牛角尖了,但我确实没理解。
请填写推广理由:
分享
只看
楼主