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
| Source | Quantity per pulse | Output type | Notes |
|---|---|---|---|
| Magnetic or ultrasonic flowmeter | Configurable: 1, 10, 100 gallons, or cubic feet | Open-collector transistor or relay | Set the quantity so the rate at full flow suits the input |
| Mechanical water meter with register | Fixed by the register: often 10 or 100 gallons | Reed switch, sometimes two for direction | Slow; bounce; a magnet on the register drives the reed |
| Energy meter | Watt-hours or kilowatt-hours per pulse | Open-collector or solid-state | Per the meter setting; fast at high load |
| Rain gauge | A hundredth of an inch or a tenth of a millimeter per tip | Reed switch in the tipping bucket | Slow; bounce |
| Chemical metering pump | One pulse per stroke; volume per stroke from the pump | Relay or transistor | Stroke volume depends on the stroke length setting |
| Gas or chemical feeder | Per unit fed | Relay | Slow |
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
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
Field
The meter register before and after a known period, compared with the controller total for the same period, with the scale factor.
- 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
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.
Related topics
- Frequency SignalsFrequency as a process signal: the instruments that produce it, how frequency differs from pulse counting, the K-factor and the conversion to flow, frequency inputs and period measurement at low rates, converters to 4-20 mA, noise, and how to verify one.
- Digital SignalsDiscrete signals between instruments and controllers: dry and wetted contacts, sinking and sourcing transistor outputs, two-wire sensor leakage, NAMUR sensors with wire-break detection, contact ratings at low current, and wiring conventions.
- Magnetic FlowmetersFaraday's law applied to a pipe: how a mag meter works, the conductivity and full-pipe requirements, and why grounding decides whether it reads.
- Retentive MemoryWhat survives a power cycle in a controller and what does not, how retention is backed up by battery, capacitor, or nonvolatile storage, what should be retentive, and how retained data gets lost.
- Modbus TCPModbus over Ethernet: what the MBAP header changes, why the CRC disappears, how the unit identifier works, and what does not get easier just because it is on Ethernet.
- Reporting from the HistorianTurning history into the reports a utility must produce: the monthly operating report, compliance reports for the regulator, daily operator summaries, pump run and energy reports, the calculations behind daily minimums, maximums, and totals, handling bad quality and gaps, and building reports once so they run every month without an engineer.
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.