西门子S7系列PLC 计数器的结构
发表时间:2018-09-08
计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在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”。