西门子S7系列PLC 计数器的结构
2018-03-13  来源:网络或本站原创

    计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在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 —— 减计数输入

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

—— 复位输入       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”。