# Value

> The formatted live readout: one point written out with unit, decimals, a declared field width and optional meaning bands.

**Value** is the basic readout: it writes one point of the live address space into its
cell, formatted the way you declare. The reading takes the whole cell — a caption for it
is a [Label](component-label) you place beside it, or the component's own corner title
from the shared Appearance section. It is a *Display* component; a new one occupies
4 × 2 cells.

A Value never shows a stale number. A point that fails to read draws the gap dash (`—`)
in the quiet secondary ink, and the component wears the shared bad-reading mark
described on the [components page](components#addresses-and-live-readings). A point that
answers in good quality but holds no value right now (a bench between runs, a counter
outside a cycle) draws the same dash *without* the mark: that silence is normal, not a
failure.

## Data {#data}

| Field | What it does | Values | Default |
|---|---|---|---|
| Address | The rooted Logic address of the point shown. The list suggests live points of every value category — a readout formats whatever the point holds: a number, a text, a flag, an instant. | Free text; suggestions from the live point list | empty |

Under the field, the editor shows what the chosen point reads right now, so the binding
confirms itself before the screen ever runs.

## Format {#format}

| Field | What it does | Values | Default |
|---|---|---|---|
| Unit | Unit suffix written beside the value, at a smaller size, in the secondary ink. It is part of the reserved field width, so it never wraps off the line. Hidden while the point is not reading. | Free text | empty |
| Decimals | Fixed decimal places for numeric readings. Blank follows the station's decimal preference (see the [Settings page](settings-localization)). Entries outside the band are taken at the nearest edge, and the panel says so. The clock and words formats write no fraction, so the count is not read there. | 0 to 15, or blank | blank (station preference) |
| Digits / Characters | How much the field holds — the declaration behind the value display contract. As **Digits** (numeric formats): places before the decimal separator; a reading needing more is *marked*, never written short. As **Characters** (the Text format): how many characters the line holds; a longer reading is written short with an ellipsis. The field is named for whichever measure the chosen format declares. | Digits: 1 to 15 · Characters: 1 to 40, or blank | 5 digits · 12 characters |
| Type size | Whether the cell decides the type size or you state it. | `As big as the cell affords` · `A size I state` | `As big as the cell affords` |
| Points | The stated type size. Only shown in the stated mode. A stated size is literal: it renders at that size in any cell and is never reduced to make the reading fit — what no longer fits is marked, not shrunk. | 9 to 144 points | 12 |
| Reads as | How the reading is written out. | `Number` · `Percentage` · `Duration` · `Text` | `Number` |
| The value counts | What one unit of the value means while **Reads as** is `Duration`. The elapsed time arrives as a plain number, and the same number is milliseconds on one point and minutes on another, so the component states which. Only shown for the duration format. | `Seconds` · `Milliseconds` · `Minutes` | `Seconds` |

### The four formats {#the-four-formats}

- **Number** writes the engineering number on the station's decimal preference, or on the
  explicit **Decimals**. A reading that is not a number at all (a flag, a text, an
  instant) still answered, so it is written as itself rather than gapped.
- **Percentage** writes the same number followed by `%`. The value is *not* rescaled —
  the point already is a percentage; the math of the value pipeline stays in the
  Connector's conversion stages.
- **Duration** writes a clock: `hh:mm:ss`, or `d.hh:mm:ss` from one day up. A negative
  count keeps its sign. It is the same clock the run occurrences, the Histories rows and
  the PDF report use.
- **Text** writes the words the point answers in — an order, a batch, the name of a
  profile — exactly as they come. Choosing it is also the declaration that the field
  width counts **characters** instead of digits, which changes the width field's name,
  its default and its conduct (ellipsis instead of the overflow mark).

## How the reading is drawn {#how-the-reading-is-drawn}

The type size never follows the value. In automatic mode the cell decides the size,
bounded by the width the declaration reserves (digits + separator + decimals + unit, or
the declared characters); in the stated mode the size is exactly the points you typed.
Two cells of the same size holding the same declarations always come out the same size,
and a value ticking between four and six characters never moves the type.

What happens when content exceeds its declaration:

| Situation | What the cell shows |
|---|---|
| A number needs more digits than declared | The `####` overflow mark, with the whole reading (unit included) in the tooltip. The mark means exactly one thing: this field cannot hold this number. |
| A stated size needs more width than the cell has | The same `####` mark — a literal size is never shrunk. Under a stated size the tooltip always carries the whole reading. |
| A Text reading is longer than the declared characters | Truncated with an ellipsis, whole text in the tooltip. Words never wear the number's mark. |
| The point is not reading | The gap dash `—`. Absence of a reading and absence of room never borrow each other's mark. |

Numbers rest on the right of their field in tabular figures, so a column of Value
components aligns with itself and the separator holds its place as the integer part
grows.

## Scale {#scale}

The optional band declaration shared by the reading kinds: each band covers the value's
range up to its bound, starting where the band above it in the list ended, and a reading
past the last bound belongs to no band. Bands *tint* the number with the interface's own
meaning tones; a reading no band claims keeps the ordinary ink.

| Field | What it does | Values | Default |
|---|---|---|---|
| Up to | Where the band ends (inclusive), in the point's engineering unit. A new band starts with the field empty, and an empty bound is not zero: the band claims nothing and tints nothing until a bound is typed. | Any number | empty |
| Meaning | What a reading inside the band means. The tone names the meaning; the running theme decides the paint. | `Neutral` · `Information` · `Success` · `Caution` · `Critical` | `Neutral` |
| Names this state | Optional wording for the band ("Warm-up", "Over pressure"). Wording any band adds a state line under the number that writes the current band's word, in the band's tone. | Free text | empty |

The state line exists only while at least one band is worded. It holds its height while
nothing is named, so the number above never resizes as a reading crosses a bound, and it
ellipsizes with the whole word in its tooltip. The move up / move down arrows trade a
band's meaning and wording with its neighbour while leaving the typed bounds in place.

Value is a display component: it commands nothing, so it never wears the lock mark. The
shared Appearance, Position and layer and Actions sections are described on the
[components page](components#the-shared-property-sections).
