配色: 字号:
S7-1200 计数器
2021-11-16 | 阅:  转:  |  分享 
  
图13错误程序2
正确原因:当计数值达到10,"DB77".Static_15(False)作为计数器R的输入,并没有复位,Q输出"DB77".Static_15为True,在下一周期
时执行复位指令,使得计数值清零,之后Q输出"DB77".Static_15为False,实现自复位计数器并产生脉冲。
错误1原因:当计数值达到10,首先置位"数据块_2".QU,紧接着"数据块_2".QU作为计数器R的输入,使得计数值清零,同时复位"数据块
_2".QU,在下一网络段"DB77".Static_15依然是False,无法实现脉冲。
错误2原因:当计数值达到10,"数据块_2".CV=10,紧接着"数据块_2".CV与"数据块_2".PV的比较结果(True)作为计数器R的输入,使得
计数值清零,同时复位"数据块_2".QU,在下一网络段"DB77".Static_15依然是False,无法实现脉冲。
从例子可知,计数器的执行是先处理输入,再处理输出,在指令块执行过程中,内部变量(例如QU、CV)可能出现多次变化。
献花(0)
+1
(本文系南山卧龙原创)