The unit address space

Every point a unit publishes under Process.Model.Unit, its type and meaning, which points are writable commands, and what a Logic script may read from it.

View as Markdown

Every unit publishes its run data as ordinary Logic addresses under Process.<Model>.<Unit>, so dashboards, Logic expressions, the embedded OPC UA server and the agent reach it with no extra plumbing. The branch is browsed on the Logic page under "From other pages" (From other pages) and in every address picker. Renaming a model, unit, channel or metadata field replaces the corresponding addresses and rewrites live textual references; recorded files keep the names frozen when they were written. The segments are the sanitized names: a unit called "Unit 1" of the model "Climatic chamber" is addressed as Process.Climatic_chamber.Unit_1.

Branch What it exposes Writable
Channels.<Channel> The live bound value of each channel, typed as the channel declares. A writable channel (Write only or Read and write role) is a writable point through the write funnel; a source a run holds refuses every other writer.
Procedure.<point> The run state, one scalar per point (table below). No.
Commands.<command> Start, Hold, Resume, Stop, Abort and Comment. Yes: writing dispatches (table below).
Next.<point> The staging area the next Start consumes. Manual metadata fields only.
Productivity.Today.<branch> and Productivity.Rolling.<branch> The unit's productivity projection for each period. No.

Channels

A channel point reads the value behind the unit's binding, projected to the channel's data type, and reads as a gap when the channel is unbound or its source is unavailable. In a Logic script the point is a read-only typed projection of the bound tag or variable, never the tag itself: Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited, ValueRounded, the conversions ValueToBool(), ValueToInteger(), ValueToReal(), ValueToString() and ValueToDateTime(), the quality State(), the stamps SourceTimeStamp() and ApplicationTimeStamp(), Refresh(), Name and EngineeringUnit. The pipeline members answer for a tag binding; a variable binding answers the value and the application stamp.

Procedure

Every point is computed from the live run and reads with good quality; a point that has nothing to say reads a gap.

Point Type Meaning
Status Text Preparing while the unit is reserved and no run exists yet, Idle while nothing owns it, otherwise the run state: Running, Held, Saving, Completed, Aborted, Failed.
Running Boolean Strictly the Running state; never true for preparation, Held, Saving or finalization.
Busy Boolean The whole occupied span: reservation, Running, Held, Saving and the final close of the run file.
Verdict Text OK, NOK, Indeterminate or None. The judged evidence stays readable after the run ends until the next run starts.
Mode Text The active run's mode, Instant, Temporal or Controlled; a single command (snapshot, evaluate now) reports too. Gap when idle.
ActiveProcedure Text The active run's name ("Procedure · Unit"). Gap when idle.
SegmentIndex Integer The temporal profile's current segment, 0-based. Gap without a profile.
CycleIndex Integer The current cycle, 0-based. Gap when idle.
CycleCount Integer The total cycles of the run (1 for a single pass). Gap when idle.
Cycle Text "2 / 10" for a cyclic run; a gap when the run is not cyclic, so a bound readout shows the gap mark instead of a misleading single pass.
FailedCycles Integer Cycles judged NOK so far. Gap when the run is not cyclic.
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid Integer The evaluation's evidence counters, updated atomically by the evaluation engine. Gap without judged evidence.
Elapsed Decimal Seconds since the run started. Gap when idle.
StartedAt Date and time When the active run started. Gap when idle.

Commands

Reading a command point answers "can this execute now", so a bound Button disables itself; writing it dispatches the command through the run console, journaled with the writing surface's source and recorded with the identity of whoever pressed. A command is a service call, never a queued point write.

Point Reads true when Writing
Start The unit is not busy, the runtime accepts operations, the interlock is Normal and a procedure is staged. Starts the staged procedure with the staged metadata.
Hold A run is Running and its procedure is Temporal. Freezes the window.
Resume A run is Held and the interlock is Normal. Releases the hold.
Stop A run is Running. Ends the run as Completed.
Abort A run is Running or Held. Ends the run as Aborted.
Comment Never: the point has no reading. Appends the written text as a comment to the active run, or as a post-run note on the unit's latest finished run when it is idle. A unit with no run at all refuses ("The unit has no run to comment on."), and so does empty text.

Every command reads false while the station is refusing writes (the runtime stopped).

Next

Point Type Meaning
Next.Procedure Text The staged procedure's name. Read-only here: staging is done on the Run card or with the Procedure picker component.
Next.<Field> Text One point per metadata field the staged procedure prompts; the branch reshapes when the unit is re-staged, and a field of another procedure reads a gap. A manual (text or numeric) field is a writable staging point, which is what an Input component bound to it writes. A sequential field is a read-only prediction of the identifier the counter would compose now; reading never reserves it.

Staging is station-wide, in-memory and transient: it resets when the application starts and is consumed, not cleared, by Start.

Productivity

Two periods, Today (since local midnight) and Rolling (the window declared on the model or the unit), each with three branches (Productivity):

Branch Points Type
Summary ProductivityPercent, YieldPercent, TypicalElapsedSeconds Decimal; a gap until the denominator exists.
Summary Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed Integer counts.
Outputs.<key> Quantity, RatePerHour Decimal; one key per named quantity, or per productive procedure when the model declares no quantity.
Procedures.<key> Quantity, RatePerHour and the summary points above As above, per productive procedure.

Keys derive from the stable id and the frozen output unit, not from the display name, so a rename never moves an expression. Every point is read-only, and the projection is read from the history index, never from run files.

What a script may do

Logic variable, alarm and action scripts may read everything here: channel values, run state, command readiness, staged values and productivity points. They cannot dispatch a command, write a staging field or append a comment; those writes belong to the explicit command consumers: the operating panels, dashboard Buttons, Inputs and the Procedure picker, the unit automation and the agent tools.