Lemonergy · Studio block
Bounded counter
Counts at sample instants with explicit initial value, increment, limits and wrap or saturate behavior.
- Implementation ID
native-counter- Reviewed
- 2026-10-27
Behavior
count[0] = initial; candidate = count[k−1] + increment. Saturate: count[k] = clamp(candidate, minimum, maximum). Wrap: count[k] = minimum + (candidate − minimum) modulo (maximum − minimum + 1).
Interface
| Name | Direction | Unit | Meaning |
|---|---|---|---|
out0 | output | 1 | Signal; real scalar. |
Parameters
Defaults are initial model values. Select values for your own model and operating conditions.
| Parameter | Unit | Default | Meaning and limits |
|---|---|---|---|
Sample periodsampleTimeS | s | 0.25 | Positive interval between sample instants. Values are held between samples. Minimum 0 |
Initial countparams[0] | 1 | 0 | Configured value for Initial count. |
Incrementparams[1] | 1 | 1 | Configured value for Increment. |
Minimumparams[2] | 1 | 0 | Configured value for Minimum. |
Maximumparams[3] | 1 | 3 | Configured value for Maximum. |
Boundary (0 saturate, 1 wrap)params[4] | 1 | 1 | Configured value for Boundary (0 saturate, 1 wrap). |
Equations and rules
count[0] = initial; candidate = count[k−1] + incrementSaturate: count[k] = clamp(candidate, minimum, maximum)Wrap: count[k] = minimum + (candidate − minimum) modulo (maximum − minimum + 1)
Worked example
Bounded counter — worked example
Use the configured source parameters. Signal at 0 s = 0; Signal at 0.75 s = 3; Signal at 1 s = 0.
Open Studio example after release →| Output | Time (s) | Expected value | Unit | Absolute tolerance |
|---|---|---|---|---|
Signalout0 | 0 | 0 | 1 | 1e-08 |
Signalout0 | 0.75 | 3 | 1 | 1e-09 |
Signalout0 | 1 | 0 | 1 | 1e-09 |
Explore the recorded outputs
Bounded counter recorded example
Bounded counter5 actual recorded samples. Lines are visual guides between samples. Synthetic example, not measured cell data.
Read the selected signal as a table
| Time (s) | Value |
|---|
Download the recorded samples (JSON) · Open this Studio example after release
Use in a workflow
Bounded counter — worked example
Counts at sample instants with explicit initial value, increment, limits and wrap or saturate behavior.
- Bounded counter: count[0] = initial; candidate = count[k−1] + increment. Saturate: count[k] = clamp(candidate, minimum, maximum). Wrap: count[k] = minimum + (candidate − minimum) modulo (maximum − minimum + 1).
- Use the block reference for settings and connections.
- Implementation tested locally; public release pending.
Connected concepts
Limits and interpretation
- Integer-valued scalar output stored as a real number; each limit and increment is bounded in magnitude by 4294967295.
Reference basis
This software operation is defined by its public contract and worked example; no external research result is claimed.
Implementation sources
This reference follows the public interface and locally verified numerical checks for an upcoming release.
Contract: Lemonergy Studio public contract · Verification record: verification-2026-10-27
docs/glossary/native-block-verification.json
This implementation and its workflow uses (JSON) · Knowledge graph (JSON-LD)