西门子S7系列PLC 计数器的结构

计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在CPU的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计数器为2个字节(Byte),称为计数字。在S7300中,计数器区为512个字节(Byte),因此最多允许使用256个计数器。

 

 

 

 


计数器的第0到第11位存放BCD码格式的计数值,三位BCD码表示的范围是0999。第1215位没有用途。 

 

 

 

 

 

S7中的计数器用于对RLO正跳沿计数。S7中有三种计数器,它们分别是:加计数器、减计数器和可逆计数器。只要计数器的计数值不是“0”,计数器的输出就为“1”。

当计数器启动时,累加器1低字的内容被当作计数初值装入计数字中。这一过程是由操作系统控制自动完成的,用户只需给累加器l装入不同的数值,即可设置需要的计数初值。

L C# xyz

其中: xyz=记数初值,取值范围:1999

FBD符号:

可逆计数器 加计数器 减计数器

端子说明: CU —— 加计数输入 CD —— 减计数输入

S —— 预置输入 PV —— 设置计数初值

R —— 复位输入 Q —— 计数器状态输出

CV —— 当前计数值输出(十六进制格式)

BCD—— 当前计数值输出(BCD码格式)

3.3.1

FBD 功能图如下:

STL语句表如下:

A I 0.0

CU C 10 \\计数器加计数

A I 0.1

CD C 10 \\计数器减计数

A I 0.2

S C 10 \\计数初值预置

L C#55 \\装入计数初值到ACCU1

A I 0.3

R C 10 \\计数C10复位

A C 10

= Q 4.0

l 当输入信号I 0.2由“0”变为“1”时,计数初值55被装入计数C10

l 如果输入信号I 0.0由“0”变为“1”,计数C10的计数值加1(除非C10的计数值已达到999);

l 如果输入信号I 0.1由“0”变为“1”,计数C10的计数值减1;(除非C10的计数值已减到0);

l 如果输入信号I 0.3由“0”变为“1”,计数C10被复位,计数值为0

l 只要计数器C10的计数值不为0,则Q 4.0输出就为“1”。