T33指令使用问题

CPU 224xp 定时器T33指令使用问题:
 网1
 LDN    T33
 TON    T33, 120
 网2
 LD     T33
 MOVB   120, VB50
 程序的问题是,我无法看到VB50存放了120。请问这是为什么?

问题补充:
将上述的T33全改成,T37就可以查看v中有存储值。请高手告诉我,为什么?

最佳答案

T33(10ms)不能这样编程,T37(100MS)可以。
   改成这样: 
   LD SM0.0
   TON T33,120
   LD T33
   MOVB   120, VB50
   AENO
   R      T33, 1
   原因是这两种定时器的工作原理、刷新机制不同造成的。
   具体原理我也没搞清楚,我把西门子的说明复制在下面,看你能不能搞懂。

  使用10毫秒定时器时,因为从扫描顶端至执行定时器方框均打开定时器位T33。一旦执行了定时器方框,定时器的当前值及T位均被设为零。
 注意事项:用定时器本身触点激励输入的定时器,时基为1ms和10ms 时不能可靠工作,不宜使用本身触点作为激励输入。 

 

提问者对于答案的评价:
这个问题,我想了想并查了资料:
 使用T33时,T33在扫描周期的开始刷新T33的位。那么扫描时间等于定时器的时间时,能流在到达第一个常闭触点前时,T33的位就为1.那么,常闭触点就为1.——》定时器位变为0——》常开触点为0。
 第二次能流再到达第一个常闭触点前时,T33的位就为0。那么常闭触点就为0.——》定时器位变为0——》常开触点为0。所以常开触点始终为0无输出。
 使用T37时,能流经过t37时才改变状态位。那么当一个周期,经过常闭,到达定时器时(此时正好为定时的时间),定时器位位1。据推断可知,经过前一个常闭指令损耗时间,肯定未达到定时器的定时时间,所以,那时的常闭位为0(先经过常闭,后经过定时器)。然后由常闭0——》定时器位1——》常开位1,可以判定,下个扫描周期的常闭1——》定时器位0——》常开0。可以看到,常开触点有输出。
 希望各位,给点看法。QQ761153454

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:53
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论