你用的是什么类型的计数器?比如, 有加法计数器(它们只能正向计数1,2,3,...). 它们在英语中被缩写为CTU(count up, 升值计数), CNT, C, 或者CTR. 有减法计数器(它们只能逆向计数9,8,7,...). 当它们作为一条独立的指令时, 通常被叫做CTD(count down, 减值计数). 还有双向计数器(它们可双向计数1,2,3,4,3,2,3,4,5,...). 当它们作为一条独立的指令时, 通常被叫做UDC(up-down down counter, 加-减计数器).
许多厂家只有一种或两种类型的计数器, 但这些计数器应能完成加计数, 减计数或双向计数. 是不是有些混淆了? 难道就没有一相标准吗? 不要担心, 计数器就是计数器, 不要管生产商怎样称呼它们.
更容易引起混淆的是, 大多数的生产商还加入了一定数量的高速计数器. 通常叫它们HSC(high-speed counter),CTH(CounTer High-speed?)或者别的名称.
典型的高速计数器是一个"硬件"设备. 而上面所列的普通计数器多是"软件"计数器. 换句话说, 它们并不是真正存在于PLC中, 它们只是用软件模拟的计数器. 而硬件计数器却是真正存在于PLC中的, 它们不依赖PLC的扫描时间.
按照拇指理论(rule of thumb), 一般情况下多使用普通(软件)计数器, 除非所要计数的脉冲比2倍的扫描时间还要快. (例如扫描时间为2ms, 而所计脉冲每4ms或更长时间才来一次, 那么此时我们使用软件计数器. 如果脉冲间隔小于4ms(例如3ms), 那么使用硬件(高速)计数器. (2*扫描时间 = 2*2ms = 4ms)