一、软元件的作用和功能
1、计数器编号(10 进制表示)
根据编号的不同,C 分为 16 位和 32 位两类,它们都由RST 指令清零、复位。
16 位 C 是增计数器,计数设定值可用K直接设定,亦可用数据寄存器间接设定,设定范围为 1~ 32767。
32 位 C 是环形可逆计数器,可进行增、减计数。计数值到达临界值的变化特点:K-2147483648 减 1 变为 K2147483647;K2147483647 加 1 变为 K-2147483648。
32 位C 的设定值与 16 位类似,既可用K 直接设定,亦可用数据寄存器间接设定,但必须占用编号连续的两个数据寄存器,例如(D1001、D1000)。
、
3、程序应用
32 位计数器都可以实现增、减计数,可通过设置方向位来确定计数方向,高速计数器还可以通过对应的方向端子 X 来设定计数方向。
下表为 C200~C255 的方向位对应关系。即 M8200 为 C200 的计数方向设置位,方向位与计数方向的关系:M8200 为 OFF 时,C200 增计数;M8200 为 ON 时,C200 减计数,其余计数器类推。
16 位 2 进制增计数器,其有效设定值为K1~K32767(10 进制常数)。设定值 K0 和 K1 具有相同的含义, 即在第一次计数开始时输出触点就动作。
计数输入 X001 每接通一次,计数器 C0 的当前值就增加 1,当当前值累加到 10 时,输出触点动作。以后即使计数输入 X001 再接通,计数器的当前值不变。
如果复位输入 X000 接通,则执行 RST 指令,计数器的当前值为 0,输出触点复位。
计数器的设定值,除用上述常数 K 设定外,还可由数据寄存器指定。例如,指定 D1000,如果 D1000
的值为 K10,计数结果和用常数 K10 设定是一样的。
没有计数输入信号时,以MOV 等指令将大于设定值的数据写入计数器当前值寄存器 C,当有下一个计数输入信号时,输出触点闭合,当前值寄存器数据和设定值相同。
32 位的 2 进制增计数/减计数的设定值有效范围为-2147483648~2147483647(十进制常数)。利用特殊的辅助继电器 M 指定计数的方向。
利用 X000 控制C200 计数方向,X001 清零、复位C200,X002 驱动 C200 计数。
在计数器的当前值由-6→-5 增加时,输出触点置位。在由-5→-6 减少时,输出触点复位。
输出触点的置位、复位不影响计数当前值的增减。如果 32 位计数器从 2147483647 开始增计数,则成为
-2147483648;如果从-2147483648 开始减计数,则成为 2147483647。(这类动作被称为环形计数)
如果复位输入 X001 为 ON,则执行 RST 指令,计数器C200 的当前值变为 0,输出触点也复位。
32 位计数器可作为 32 位数据寄存器使用。
没有计数信号输入时,以 DMOV等 指令将大于设定值的数据写入当前计数器 C,当有下一个计数输入时,计数器的计数值会在当前写入值的基础上继续计数,计数器触点闭合。
6、设定值指定方法
计数器按使用方法分为:根据设定值动作输出触点;将计数值(当前值)作为数值数据使用。
计数器的当前值寄存器的结构如下图所示,如果在应用指令的操作数中指定计数器编号时,与数据寄存器相同,可以作为 16 位或 32 位的数据软元件处理。
32 位计数器是作为 1 个 32 位数据处理,无法写成两个 16 位数据的形式,故读取、赋值、比较等只能使用 32 位指令。
16 位计数器,处理数值的范围(10 进制):0~32767
楼主最近还看过