Skip to main content
Call Eric:863-698-8266
CURRYCONTROLS.COMControls & Automation Knowledge Hub
ReferenceInstrumentationSignalsFlowPLCDocumentation

Pulse Signals

Pulse outputs for totalizing: flowmeters, energy meters, rain gauges, and feeders, output types, scaling in volume per pulse, counter inputs, pulse width and rate, debouncing reeds, totalizer retention and rollover, and verifying against the register.

7 min readUpdated Sep 5, 2026Published Sep 5, 2026By Eric Sullivan

The short answer

Pulse Signals

A pulse output sends one pulse for each unit of quantity, a gallon, a kilowatt-hour, a hundredth of an inch of rain, a stroke of a chemical pump, and the receiver counts them to keep a total. It is the simplest and most exact way to totalize, because each pulse is a defined quantity and nothing drifts, and it fails in simple ways: pulses too fast or too narrow for the input, a reed contact that bounces and counts double, a scaling that says gallons when the meter sends tens of gallons, a counter that rolls over without the program noticing, and pulses lost while the controller was down or the wire was open. The design chooses a pulse rate and width the input can catch, a counter input that survives the scan, a scale factor written on the I/O list, a totalizer that retains through power loss and handles rollover, and a periodic check of the counted total against the meter register, which is the only proof that no pulses were lost.

Key points

  • Each pulse is a fixed quantity; the total is the count times the scale factor, and the factor is on the I/O list.
  • Use a counter input; an ordinary input misses pulses faster than the scan and counts bounce as pulses.
  • Pulse width and maximum rate must suit the input; configure the meter for a rate the input can catch at full flow.
  • Retain the totalizer through power loss and handle rollover explicitly.
  • Pulses sent while the controller is down are gone; compare the total with the meter register on a schedule.

Sources and outputs

SourceQuantity per pulseOutput typeNotes
Magnetic or ultrasonic flowmeterConfigurable: 1, 10, 100 gallons, or cubic feetOpen-collector transistor or relaySet the quantity so the rate at full flow suits the input
Mechanical water meter with registerFixed by the register: often 10 or 100 gallonsReed switch, sometimes two for directionSlow; bounce; a magnet on the register drives the reed
Energy meterWatt-hours or kilowatt-hours per pulseOpen-collector or solid-statePer the meter setting; fast at high load
Rain gaugeA hundredth of an inch or a tenth of a millimeter per tipReed switch in the tipping bucketSlow; bounce
Chemical metering pumpOne pulse per stroke; volume per stroke from the pumpRelay or transistorStroke volume depends on the stroke length setting
Gas or chemical feederPer unit fedRelaySlow

Catching the pulses

A controller input is read once per scan, so an ordinary input reliably catches pulses only when each state lasts longer than a scan, which limits it to a pulse or two per second on a typical program. A high-speed counter input counts in hardware, independent of the scan, at rates up to kilohertz, and reports the count to the program. Between them sit counter functions in some input modules and the counter inputs on small controllers. The rule is that anything above about one pulse per second, and anything where a missed pulse matters, goes to a counter input, and the pulse quantity at the meter is set so that the rate at maximum flow is comfortably below the input maximum and the pulse width is above the input minimum.

f_max = Q_max ÷ V_pulse

  • f_max = pulse rate at maximum flow, pulses per unit time
  • Q_max = maximum flow in volume per unit time
  • V_pulse = volume per pulse configured at the meter

Reed contacts

A reed switch closes when a magnet passes and bounces on closure and opening for a few milliseconds, which a fast counter reads as several pulses. A reed output is debounced with a filter time in the counter configuration or a small resistor and capacitor at the input, set longer than the bounce and shorter than the shortest genuine pulse. A reed switch also has a limited contact life and a current rating in milliamperes; the counter input current is within it.

Totalizing

  • The total is kept in a retentive register that survives power loss and a program download, in a data type wide enough for the life of the meter: a 32-bit integer of gallons rolls over in four billion gallons, a 16-bit one in sixty-five thousand.
  • The hardware counter rolls over at its own limit; the program reads the difference each scan and adds it to the total rather than copying the counter.
  • Scaling from pulses to volume happens once, with the factor on the I/O list and in the tag description.
  • A daily total is computed from the running total at a fixed time, not by resetting the counter, so that a missed reset does not corrupt a day.
  • The total is displayed with its unit and compared with the meter register on a schedule; a difference beyond the expected bounce is lost pulses or a wrong factor.

Verifying

  1. 1

    Bench

    A pulse generator or a calibrator into the input at a known rate and width, and the count read from the program; then at the maximum rate the meter can produce.

  2. 2

    Field

    The meter register before and after a known period, compared with the controller total for the same period, with the scale factor.

  3. 3

    Bounce

    A reed output at a slow rate with the filter off and then on; the count should equal the number of magnet passes only with the filter.

  4. 4

    Retention

    A controller power cycle with a known total; the total should be intact afterward.

Frequently asked questions

Pulse or Modbus for the total?
Modbus, where the meter offers it, gives the register value itself with no lost pulses and the rate as well. Pulse is simpler and works with any controller. Many designs use both: pulse for the running total and a periodic register read for reconciliation.
The controller total is 3 percent lower than the register.
Lost pulses: an input too slow for the rate, pulses during outages, or a filter too long. Check the maximum rate at full flow against the input, the pulse width, and the outage log. A total that is higher than the register is bounce or noise.
What pulse quantity should I set on the meter?
The largest that gives the resolution the process needs, so that the rate is low: ten or a hundred gallons per pulse for a plant flow, one gallon for a chemical feed. The rate at maximum flow should be a fraction of the input maximum.
Can I use the same pulse for rate and total?
Yes: the counter difference per interval gives the rate and the accumulated count gives the total. At low rates the rate from pulses is coarse, and a 4 to 20 milliamp rate signal alongside the pulse total is the usual arrangement.

Direct contact

Have a controls question?

Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.