关于定时器问题

network1

 LD     SM0.1
 MOVW   0, VW0

 network2

 LD     I0.2
 TON    T37, +50

 network3

 LD     T37
 =      Q0.0
 MOVW   0, T37
 INCW   VW0

 当I0.2接通时,计数到49又重新计数,T37不会被置位,network3中的代码不会被执行,为什么?

问题补充:
LD     T37
  =      Q0.0
  MOVW   0, T37
  INCW   VW0
  把上面的改成
  LD     T37
  S     Q0.0,1
  INCW   VW0
  MOVW   0, T37
  改后Q0.0有输出了,但是INCW指令还是不执行,VW0没有变化

 注释掉 MOVW   0, T37 这个后,VW0有变化,为什么?

最佳答案

你在程序里看不到变化,不等于它不变化,要在状态表里看。
 LD       SM0.5
 EU
 INCW     VW100
 VW100每秒加1,你在程序里能看到VW100的值吗?应该在状态图里看。

 你看VW0的值方法不对,请在状态图里看,如果在程序里看,当T37不等于1的时候,你是看不到VW0的值的。
 LD     T37
 =      Q0.0
 MOVW   0, T37
 INCW   VW0
 VW0值肯定在变化,Q0.0也等于1,只不过时间非常短,你从外部看不到。
   
   T37不会置位,是因为MOV  0  T37,就是复位T37了。 
 

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论