PLC Instructions III ‘Counters’


 A counter is set to some preset value and, when this value of input pulses has been received, it will operate its contacts.
 The counter accumulated value ONLY changes at the off to on transition of the pulse input.
 Typically counters can count from 0 tto 9999, -32,768 to +32,767 or 0 to 65535.

The normal counters are typically “software” counters – they don’t physically exist in the plc but rather they are simulated in software. A good rule of thumb is simply to always use the normal (software) counters unless the pulses you are counting will arive faster than 2X the scan time.

Counter Types

 Up-counters counts from zero up to the preset value. These are called CTU, CNT, C, or CTR.
 Down-counters count down from the preset value to zero. These are calllled CTD.
 Up-down counters count up and/or down. These are called CTUD.
 For CTU or CTD counter we need 2 inputs, but in CTUD we need 3 (up, down and preset).

To use counters we must know 3 things:
1. Where the pulses that we want to count are coming from. Typically this is from one of the inputs.
2. How many pulses we want to count before we react.
3. When/how we will reset the counter so it can count again.

Counter Formats

Some manufacturers consider the counter as a relay and consist of two basic elements:
One relay coil to count input pulses and one to reset the counter, and the associated contacts of the counter being used in other rungs.

Others (Siemens for example) treat the counter as an intermediate block in a rung from which signals emanate when the count is attained.

High Speed Counter
Most manufacturers also include a limited number of high-speed counters (HSC). Typically a high-speed counter is a “hardware” device. Hardware counters are not dependent on scan time.


The sequencer is a form of counter that is used for sequential control. It replaces the mechanical drum sequencer that was used to control machines that have a stepped sequence of repeatable operations.

The PLC sequencer consists of a master counter that has a range of presets counts corresponding to the different steps and so, as it progresses through the count, when each preset count is reached can be used to control outputs.