西门子S7-300/400之S5定时器问题

我用S7定时器做了1秒和1分钟的脉冲,用来累计时间,方法类似下面程序,但是客户反映累计时间小于实际运行时间,分钟计数的运行一个小时以上后,误差有五六分钟。我自己用PLCSIM仿真时发现,居然一次也累计不了,各位大神有知道为什么的吗?

           AN T 1
           L S5T#1S
           SD T1

           A T1
           JNB M001
           L MW100
           +1
           T MW100
M001:NOP 0

图片说明:

西门子S7-300/400之S5定时器问题   

最佳答案

如果需要时间的累加,建议使用OB35中断组织块中做。
1)在硬件组态中,设置OB35中断时间为1000mS(1秒)(系统默认100mS
2)新建组织块OB35,在OB35中直接编辑
      A     I      0.0               //开始计时
      JNB   _001
      L     MW   100
      L     1
      +I    
      T     MW   100
_001: NOP   0

      A     I      0.1               //清除计时
      JNB   _002
      L     0
      T     MW   100
_002: NOP   0

因为西门子S5T#定时器工作于异步扫描周期。

提问者对于答案的评价:
谢谢您的讲解,下面是我自己查的资料,希望别人能更明白一点。
定时器的刷新不受循环扫描周期的影响,定时时间到可能出现在程序执行的任意一刻,对于PLC来说时序对程序的执行是很重要的,定时器定时时间到出现的位置不同对程序是有影响的,你那段代码不累加的原因就是,定时器定时时间到出现在定时器指令和累加指令之间的概率太小,几乎为零。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午2:56
下一篇 2018年12月1日 上午2:56

相关推荐