计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在CPU的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计数器为2个字节(Byte),称为计数字。在S7—300中,计数器区为512个字节(Byte),因此最多允许使用256个计数器。
计数器的第0到第11位存放BCD码格式的计数值,三位BCD码表示的范围是0~999。第12~15位没有用途。
S7中的计数器用于对RLO正跳沿计数。S7中有三种计数器,它们分别是:加计数器、减计数器和可逆计数器。只要计数器的计数值不是“0”,计数器的输出就为“1”。
当计数器启动时,累加器1低字的内容被当作计数初值装入计数字中。这一过程是由操作系统控制自动完成的,用户只需给累加器l装入不同的数值,即可设置需要的计数初值。
L C# xyz
其中:
xyz=记数初值,取值范围:1到999。
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”。 |