西门子S7-1200 PLC编程及应用教程(第2版)
上QQ阅读APP看书,第一时间看更新

1.10.2 计数器指令

S7-1200 PLC提供3种计数器:加计数器、减计数器和加减计数器。它们属于软件计数器,其最大计数速率受到它所在OB的执行速率的限制。如果需要速度更高的计数器,可以使用内置的高速计数器。

与定时器类似,使用S7-1200的计数器时,每个计数器需要使用一个存储在数据块中的结构来保存计数器数据。在程序编辑器中放置计数器即可分配该数据块,可以采用默认设置,也可以手动自行设置。

使用计数器需要设置计数器的计数数据类型,计数值的数据范围取决于所选的数据类型。如果计数值是无符号整型数,则可以减计数到零或加计数到范围限值。如果计数值是有符号整数,则可以减计数到负整数限值或加计数到正整数限值。支持的数据类型包括有短整数SInt、整数Int、双整数DInt、无符号短整数USInt、无符号整数UInt、无符号双整数UDInt。

1.加计数器

加计数器如图1-64a所示,图1-64b为其工作时序图。在图1-64a中,CTU表示加计数器,图中计数器数据类型是整数,预设值PV(Preset Value)为3,其工作原理如下。

当接在R输入端的复位输入I0.1为“0”状态,接在CU(Count Up)输入端的加计数脉冲从“0”到“1”时(即输入端出现上升沿),计数值CV(Count Value)加1,直到CV达到指定的数据类型的上限值。此后CU输入的状态变化不再起作用,即CV的值不再增加。

当计数值CV大于等于预置计数值PV时,输出Q变为“1”状态,反之为“0”状态。第一次执行指令时,CV被清零。

各类计数器的复位输入R为“1”状态时,计数器被复位,输出Q变为“0”状态,CV被清零。

打开计数器的背景数据块,可以看到其结构如图1-65所示,其他计数器的背景数据块与此类似,不再赘述。

图1-64 加计数器及其时序图

a)加计数器 b)时序图

图1-65 计数器的背景数据块结构

2.减计数器

减计数器如图1-66a所示,图1-66b为其工作时序图。在图1-66a中,CTD表示减计数器,图中计数器数据类型是整数,预设值PV为3,其工作原理如下。

减计数器的装载输入LD(LOAD)为“1”状态时,输出Q被复位为0,并把预置值PV装入CV。在减计数器CD(Count Down)的上升沿,当前计数值CV减1,直到CV达到指定的数据类型的下限值。此后CD输入的状态变化不再起作用,CV的值不再减小。

当前计数值CV小于等于0时,输出Q为“1”状态,反之输出Q为“0”状态。第一次执行指令时,CV值被清零。

3.加减计数器

加减计数器如图1-67a所示,图1-67b为其工作时序图。在图1-67中,CTUD表示加减计数器,图中计数器数据类型是整数,预设值PV为3,其工作原理如下。

在加计数输入CU的上升沿,加减计数器的当前值CV加1,直到CV达到指定的数据类型的上限值。达到上限值时,CV不再增加。

在减计数输入CD的上升沿,加减计数器的当前值CV减1,直到CV达到指定的数据类型的下限值。达到下限值时,CV不再减小。

图1-66 减计数器及其时序图

a)减计数器 b)时序图

图1-67 加减计数器及其时序图

a)加减计数器 b)时序图

如果同时出现计数脉冲CU和CD的上升沿,CV保持不变。CV大于等于预置值PV时,输出QU为“1”状态,反之为“0”状态。CV值小于等于0时,输出QD为“1”状态,反之为“0”状态。

装载输入LD为“1”状态,预置值PV被装入当前计数值CV,输出QU变为“1”状态,QD被复位为“0”状态。

复位输入R为“1”状态时,计数器被复位,CU、CD、LD不再起作用,同时当前计数值CV被清零,输出QU变为“0”状态,QD被复位为“1”状态。

视频“计数器”可通过扫描二维码1-24播放

二维码1-24

http://www.ad.siemens.com.cn/service/elearning/Course/507.html