Counter Input » History » Revision 1
Revision 1/2
| Next »
Adam Klama, 06/21/2026 02:16 PM
Counter Input¶
Overview¶
A Counter Input keeps a running count that goes up and down as trigger
inputs fire. Three inputs drive it: one increments, one decrements, and one
resets it. Use it to tally events — shift counts, button presses, fault
occurrences — or to maintain a step value you nudge up and down.
Prerequisites & hardware¶
You need up to three trigger inputs, each referenced by alias:
- An up input that increments the count.
- A down input that decrements it.
- A reset input that reloads the reset value.
Triggers are typically boolean signals such as a Compare Input
or a Digital Input; the counter steps on each trigger edge.
Any trigger you do not need can be left unset.
Add it in the app¶
- Add a new input and choose Counter Input as the type.
- Choose the up / down / reset trigger inputs.
- Give it a clear alias (e.g.
Shift Count). - Set the step, the min / max limits, the start and reset
values, and whether the count rolls over.
Settings reference¶
Schema:
config/CounterInputConfiguration.proto.
| Setting | Meaning | Unit | Range / values | Notes |
|---|---|---|---|---|
| Up input | Trigger that increments the count | — | an existing input (by alias) | Counts up by Step on each edge. |
| Down input | Trigger that decrements the count | — | an existing input (by alias) | Counts down by Step on each edge. |
| Reset input | Trigger that reloads Reset value | — | an existing input (by alias) | When it fires, the count jumps to Reset value. |
| Step | Amount added/subtracted per trigger | count | int32 | The increment size. Usually 1. |
| Min value | Lowest the count may reach | count | int32 | Clamp limit (see Rollover). |
| Max value | Highest the count may reach | count | int32 | Clamp limit (see Rollover). |
| Start value | Count at power-up | count | int32 | The value loaded when the controller starts. |
| Reset value | Value loaded on reset | count | int32 | What the count becomes when the reset input fires. |
| Rollover | Wrap around the limits instead of clamping | — | on / off | On: counting past Max wraps to Min (and below Min wraps to Max). Off: the count stops at the limit. |
Edge triggering: the count changes once per trigger event, not continuously
while a trigger is held. At the limits, Rollover decides between wrapping and
clamping.
Common settings¶
Counter Input also uses the shared setting — alias. See Common IO Settings.
Example — count gear shifts¶
- Type Counter Input, alias
Shift Count. - Up input = a Compare Input that fires on each shift.
-
Reset input = a
Trip Resetbutton input. -
Step
1, Start value0, Reset value0. -
Min
0, Max999999, Rollover off so it simply tallies up until
reset.
Troubleshooting¶
-
Count never changes: check the trigger inputs actually toggle and that Up
/ Down are assigned. -
Counts more than once per event: the trigger is noisy — debounce it at the
source (e.g. the Digital Input filter). - Count wraps unexpectedly: turn Rollover off to clamp at Min / Max.
-
Wrong value at power-up: set Start value; after a reset it uses Reset
value instead.
Related¶
- Compare Input — generate the trigger events to count.
- Digital Input — count switch/button edges.
- Frequency Input — measure pulse frequency/speed instead.
Updated by Adam Klama 1 day ago · 2 revisions