GC — Counters
Configures and reads user-definable counters (C00–C99). Counters accumulate values and trigger signal Cxx when their threshold is reached. Three types are supported: Counter, Timer, and Distancer.
Format
- Query counter definition:
>QGC{NN}< - Query counter value:
>QGC{NN}V< - Set (configure):
>SGC{NN}{TYPE}{RECYCLE}{THRESHOLD}{INCREMENT}< - Set (operation):
>SGC{NN}{OP}< - Response (definition):
>RGC{NN}{TYPE}{RECYCLE}{THRESHOLD}{INCREMENT}< - Response (value):
>RGC{NN}V{VALUE}<
| Field | Values | Description |
|---|---|---|
NN | 00–99 | Counter index |
TYPE | C,T,D | C=Counter, T=Timer, D=Distancer |
RECYCLE | C,R | C=Continue (hold), R=Recycle (reset on threshold) |
THRESHOLD | 5 digits | Threshold value (00000–99999) |
INCREMENT | 5 digits | Increment per trigger event (00000–99999) |
OP | S,R,I,V,U | S=Suspend, R=Resume, I=Increment, V=Value, U=Delete |
Parameters
Counter Types:
| Type | Signal | Description |
|---|---|---|
C | Cxx | Increments by INCREMENT each trigger; signals when ≥ THRESHOLD |
T | Cxx | Accumulates elapsed time (seconds) while signal is active |
D | Cxx | Accumulates distance (meters) |
Special Counters (built-in):
| Counter | Extended Tag | Query Command | Description |
|---|---|---|---|
| Ignition | CE | >QXACE< | Accumulated ignition ON time |
| Idle | CL | >QXACL< | Accumulated idle time |
| Over-speed | CS | >QXACS< | Time spent over speed limit |
Examples
Configure counter C00: fire signal every 100 events, recycle:
>SGC00CR0010000001<
Configure timer C01: signal after 3600 seconds (1 hour), no recycle:
>SGC01TC0360000001<
Query current value of C00:
>QGC00V<
>RGC00V00042< ← current value = 42
Manually increment C00:
>SGC00I<
Delete counter C00:
>SGC00U<