Datalogs
The recording configurations of a model: one snapshot per interval, the channels it captures, and the column order every run follows.
A datalog is a reusable recording configuration of the model. It declares what a run writes down: one snapshot per interval, carrying every channel the datalog lists, each value paired with the quality it was read at (Good or Unavailable). It declares nothing about how the model draws itself: a chart is a component on a dashboard, not a setting here. Datalogs live under Process > Models > model > Setup > Datalogs and need the Edit recipes & evaluations permission.
A model holds as many datalogs as it needs. A procedure points at one through its Record stage, and that reference is what makes a run record at all: a procedure with no datalog records no samples and can carry no evaluation, because an evaluation judges over recorded rows. The Snapshot and Evaluate now commands of a panel also record through a datalog, one row at a time.
The Datalogs folder
Selecting the Datalogs row opens the folder page ("Reusable recording configurations: one periodic snapshot interval and the channels captured into every run that references one.") with one card per datalog, by name; clicking a card opens it and the X removes it. With none, the page says "No datalogs yet. Add one."
| Command | What it does | Greyed when (situation) | Not drawn when (role) |
|---|---|---|---|
| Datalog (detail bar, folder selected; right-click Add datalog) | Adds Datalog <n> at 1000 ms with no columns, and selects it. |
Any unit holds a run, or the runtime is stopped. | Without Edit recipes & evaluations. |
The datalog's page
The header carries the name and the line "What is recorded: one periodic snapshot containing every selected channel, at the configured interval." Every field autosaves.
Recording
| Field | What it is | Values / default | Effect |
|---|---|---|---|
| Name | What the datalog is called in the tree, in a procedure's Record picker and in the Snapshot pickers of a panel. | Free text; Datalog <n> at creation. |
Renames the row. |
| Snapshot interval (ms) | How often one snapshot is recorded. The line under the field says "How often one snapshot is recorded. 50 ms is the fastest a run records." | A whole number of milliseconds, 50 or more; 1000 by default. A shorter value is refused under the field ("Enter a number of at least 50.") and the box goes back to what it held. | Sets the recording rate of every run and snapshot that uses this datalog. |
Channels
"Model channels recorded during the run. These define the run columns." The card's head carries Channel, which adds a column, and the grid holds one row per recorded column.
| Column | What it is | Values / default |
|---|---|---|
| Channel | The model channel this column records, as Ch<number> · <name>. |
Only readable channels are offered (Read only and Read and write): a Write only channel is never sampled, so a column on one would stay empty. A new row starts on the first readable channel of the model; when the model has none, the row is added with an empty picker. |
| Row actions | Move channel up, Move channel down (the ends stay greyed), Remove (asks "Delete column": the channel's name, "This removes the column from the datalog."). |
Row order is column order: it is what the run file, the CSV and the XLSX sheets follow, so the two arrows decide what an export looks like. A move the station refuses puts the row back where it was. The grid does not stop you from listing the same channel on two rows; each row becomes a column of its own.
Nothing else is declared here. The name, the engineering unit, the type and the chart ink of every column come from the channel itself. Renaming a channel rewrites this reference with every other one in the model, and removing a channel sweeps its column away after a confirmation that counts what goes.
Where a datalog is used
| Surface | What it does with the datalog |
|---|---|
| A procedure's Record stage | Records through it during every run of the procedure. The stage line says what that amounts to: "Records 6 channels every 500 ms", and for a Temporal procedure "…, about 180 samples per channel." A procedure with no datalog reads "Nothing is recorded: this run leaves no datalog." |
| The Single commands card of a panel | Snapshot records one row through the chosen datalog as a born-and-finished Instant run in Histories; Evaluate now records one row and judges it against an evaluation whose channels the datalog records. |
| An evaluation | Judges only channels the procedure's datalog records: a criterion whose channel (or reference channel) is not a column of that datalog cannot be judged, and the evaluation's page says so. |
| An occurrence armed during a run | Reads the recorded columns, so a channel the datalog does not record is unavailable to it during the run. A procedure that arms an occurrence over a channel this datalog leaves out is refused, as is one that arms an occurrence and records nothing at all. |
Remove datalog
Remove datalog stands in the detail bar's danger cluster with the datalog selected, on its right-click menu, and as the X on the folder page's card. It asks first ("Delete datalog", "This removes the datalog and the columns it records."). Every procedure that recorded through it empties its Record reference and survives. It needs Edit recipes & evaluations and is greyed under the engineering lock and the stopped runtime.
What a run does with it
Start freezes the datalog's channel layout into the run file: the columns, in
order, each with its number, its name, the alias in force on the unit, its engineering unit and
its resolved chart ink. The run keeps them through every later edit of the datalog, and even
after the model itself is deleted. Every tick records one application-level snapshot holding all
columns: an unavailable source or an unconvertible value is stored as a gap flagged Unavailable,
while a correctly received value such as NaN or an engineering sentinel stays Good. The rest of
the lifecycle is on Runs and comments; browsing and exporting what was recorded
is Histories.
What a datalog does not do
- It draws nothing. How a model shows what it records is a dashboard or the Channels card of a panel.
- It records nothing by itself. A datalog referenced by no procedure and fired by no snapshot records no row.
- It has no per-unit variant: every unit records the same columns, over its own bindings.
- It does not filter, average or compress: one row per interval, every column, as read.