首页 历史故事C语言中的计数器实现

C语言中的计数器实现

【摘要】:计数值达到设置值时计数停止,计数器的触点变为“ON”。计数器属于加法式软元件。在“END”处理过程中,不对当前值进行更新,触点也不变为“ON”,如图4-17所示。图4-18 计数器时序图计数器的复位即使“OUT C”指令变为“OFF”时,也不能对当前计数器值进行清除。

1.定义

978-7-111-34215-1-Chapter04-17.jpg

图4-15 定时器精度(10ms情况下)

978-7-111-34215-1-Chapter04-18.jpg

图4-16 累计定时器的梯形图示例和时序图

计数器为顺序控制程序,在输入条件的上升沿进行计数的软元件。计数值达到设置值时计数停止,计数器的触点变为“ON”。计数器属于加法式软元件。

2.计数器种类

计数器主要分为以下两种类型:

1)在顺序控制程序中,对输入条件的上升沿进行计数的计数器。

2)对发生的中断进行计数的中断计数器。

3.计数过程

(1)执行OUT C指令

计数器的线圈变为“ON”,当前值进行更新(计数值+1)。在当前值等于设定值时,触点变为“ON”。

在“END”处理过程中,不对当前值进行更新,触点也不变为“ON”,如图4-17所示。

978-7-111-34215-1-Chapter04-19.jpg

图4-17 OUT C0指令的执行和处理内容

(2)当前值更新(计数值+1)

只在控制“OUT C”指令的触点上升沿(OFF→ON)对当前值进行更新,如图4-18所示。当计数器线圈变为“OFF”或保持为“ON”或从“OFF”变为“ON”时,计数器当前值不更新。

978-7-111-34215-1-Chapter04-20.jpg

图4-18 计数器时序图

(3)计数器的复位

即使“OUT C”指令变为“OFF”时,也不能对当前计数器值进行清除。对计数器的当前值进行清除或将触点置“OFF”时,要使用“RST C”指令。执行“RST C”指令时,计数器值被清除,同时触点也变为“OFF”,具体时序如图4-19所示。

978-7-111-34215-1-Chapter04-21.jpg

图4-19 计数器复位时序图