S7中的计数器用于对RLO正跳沿计数。计数器是一种复合单元,它由表示当前计数值的字和表示其状态的位组成。S7中有加计数器、减计数器和可逆计数器三种计数器。
1)计数器组成 本文来自www.eadianqi.com 在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,称为计数器字。计数器字中的第0~11位表示计数值(二进制格式),计数范围是0~999。当计数值达到上限999时,累加停止。计数值到达下限0时,将不再减小。对计数器进行置数(设置初始值)操作时,累加器1低字中的内容被装入计数器字。计数器的计数值将以此为初值增加或减小。可以用多种方式为累加器1置数,计数器的格式与图1所示的定时器相似,只是从第12~15位不用。 本文来自www.eadianqi.com 2)计数器梯形图方块指令 自动控制网www.eadianqi.com版权所有 计数器梯形图方块指令介绍见表1。 自动控制网www.eadianqi.com版权所有 表1 计数器梯形图方块指令 本文来自www.eadianqi.com 本文来自www.eadianqi.com 本文来自www.eadianqi.com 使用复位指令R可复位计数器。计数器被复位后,其计数值被清零,计数器输出状态也为0(常开触点断开)。计数器的各项操作应按下列顺序(编程顺序)进行:加计数、减计数、计数器置数、计数器复位、使用计数器输出状态信号和读取当前计数值。 自动控制网www.eadianqi.com版权所有 在图2中使用了可逆计数器梯形图方块指令,输入I0.1的每次正跳沿使计数器C10的计数值加1,输入I0.2使计数值减1。计数器C10的状态用于控制输出Q4.0,若C10的数值不为0,则Q4.0为1。给C10预置的初始值放在 MW10中,当I0.3有正跳沿时,该值被置入计数器C10。当I0.4有正跳沿时,计数器C10复位。 本文来自www.eadianqi.com
自动控制网www.eadianqi.com版权所有
图2 可逆计数器梯形图方块指令 自动控制网www.eadianqi.com版权所有 计数器线圈指令 自动控制网www.eadianqi.com版权所有
计数器线圈指令与计数器梯形图指令功能相同,有关内容见表2。 自动控制网www.eadianqi.com版权所有 表2 计数器线圈指令 自动控制网www.eadianqi.com版权所有 本文来自www.eadianqi.com 图3以加计数器为例说明计数器线圈指令的用法。它用于对输入I0.2的正跳沿计数。每一个正跳沿使计数器C10的计数值加1。输入I0.1的信号状态从0变为1,则计数器C10被置初始值100,C#表示以BCD码格式输入一个数值。若没有正跳沿,计数器C10的计数值保持不变。输入I0.3若为1,计数器被复位。计数器C10的计数值若不等于0,则C10输出状态为1,Q4.0也为1。 本文来自www.eadianqi.com 本文来自www.eadianqi.com 图3 加计数器线圈指令 本文来自www.eadianqi.com |