Skip to content

Engineering ​

Left spine: folder tree (default 320 px, resizable). Tag column + inspector. Live pane at the bottom (height resizable).

Folders ​

Name filter keeps matching folders and their ancestors open. Rename on the toolbar. Width localStorage vion.pane.folders.

Folder metadata.area / metadata.maintenance bake into tag alarms at compile time.

Tag ​

Name: [A-Za-z_][A-Za-z0-9_]* (1–64); otherwise tag.name.invalid.

Important behavior fields:

FieldMeaning
dataTypefloat64, int64, bool, string, datetime, …
source / connectionId+pointField source
scaleraw → engineering
displayDecimals0–8 display
states[{value,label}]bool/int64 labels
alarmAlarm limits
totalizeraccumulator; reset is operate-like

CSV: …/export|import/tags.csv.

UDT / udtInstance ​

Type members expand to tags on the instance. Nested types are limited (single-level faceplate view).

Live pane ​

Runtime tags as table or cards; quality filter all/good/uncertain/bad. Format displayDecimals. Height vion.pane.live.

Inject ​

Engineer/admin: POST|DELETE /api/v1/tags/{id}/inject — hold / substitute (command token).

Operate ​

Select-before-operate: POST /commands/select → lease (~5 s) → POST /commands/operate (or operate-bulk 1–16).

  • Inhibit / maintenance → 409 command.inhibited
  • Expected value mismatch → 409 command.unexpected
  • Range → 400 command.range
  • VION_COMMAND_REASON_REQUIRED → empty reason 400
  • Step-up: if VION_COMMAND_STEP_UP is set, POST …/step-up

Totalizer ​

POST …/totalizer/reset. Persistence VION_TOTALIZER_PATH.