Procedures
What the operator starts on a unit: the run's window, the recipe, datalog, alias set and evaluation it composes, the fields it prompts, the occurrences it arms, the actions it emits and what a completed run produces.
A procedure is what the operator starts on a unit: a run envelope (the mode, and for a Temporal run its duration and cycles) plus optional references into the model's Setup libraries. Its page reads as the run it composes, one stage per thing that happens, each stating what the current choice produces ("Runs 3 cycles of 1 min 30 s", "Records 6 channels every 500 ms"); a stage nothing is chosen for stays visible and faint, because the shape of what a run does includes what it does not do. Procedures live under Process > Models > model > Setup > Procedures and need the Edit recipes & evaluations permission. Staging and starting one happens on the unit's rows under Operate (see Runs and comments).
The Procedures folder
Selecting the Procedures row opens the folder page ("What the operator starts on a unit: a recipe to apply, an evaluation to judge it, a datalog to record and the metadata to capture.") with one card per procedure, by name; clicking a card opens it and the X removes it. With none, the page says "No procedures yet. Add one."
| Command | What it does | Greyed when (situation) | Not drawn when (role) |
|---|---|---|---|
| Procedure (detail bar, folder selected; right-click Add procedure) | Adds Procedure <n>: Instant, referencing nothing, prompting only the required fields, arming and emitting nothing, counting no production. Selects it. |
Any unit holds a run, or the runtime is stopped. | Without Edit recipes & evaluations. |
The procedure's page
The header carries the name, the line "What the operator starts on a unit: the window a run gets, the model libraries it applies, records, names and judges with, and what it emits.", a pill with the mode and, for a Temporal procedure, a pill with the duration and the cycles ("90000 ms ×3"). When the composition does not validate, a caution note under the header says why (see Validation below); the draft is still saved. Every field autosaves, and a write the station refuses puts the field back.
Definition
| Field | What it is | Values / default |
|---|---|---|
| Name | What the procedure is called in the tree, in the Procedure picker of every unit and in the run file. Renaming it never changes its code. | Free text; Procedure <n> at creation. |
| Notes | Free text for whoever reads it. | Multiline; empty by default. |
What a run does
Five stages, each carrying the icon of the library it reaches for, its name, the result of the current choice in one line, and the fields that decide it.
| Stage | Fields | Values / default | The result line |
|---|---|---|---|
| Window | Mode: the run's envelope. | Instant (default): one shot, apply, record one row, judge once. Temporal: a bounded window, optionally repeated. Controlled: open-ended, bounded by Start and Stop. | Instant: "Applies, records and judges once, then ends." Controlled: "Runs until the operator stops it." |
| Duration (ms) * (Temporal only): the window's length. | A number of milliseconds; a negative entry is stored as 0. Required and positive in Temporal mode. Every member of the run shares this one window. | "Runs for 1 min 30 s.", or "Set a duration: a temporal window of no length records nothing." | |
| Cycle count (Temporal only): how many times the window repeats, as one continuous run record. | 1 or more (an entry below 1 is stored as 1); 1 by default. Evaluations re-anchor per cycle and failed cycles are counted. | "Runs 3 cycles of 1 min 30 s, 4 min 30 s in all." | |
| Apply | Recipe: the recipe applied. | "(none)" or a recipe of the model. A recipe whose kind does not fit the mode is listed as "<name> (incompatible)" and disabled, with the reason as tooltip ("Temporal mode needs a temporal recipe. An instant set has no timeline." or "<Mode> mode needs an instant recipe. A temporal profile has no single tick."). A temporal recipe draws its profile under the stage, by the same preview the Recipe page draws. |
"No setpoints are written.", "Writes 4 setpoints at start.", "Writes 4 setpoints at start and 2 setpoints on the way out.", "Drives 3 segments over 2 min 30 s and writes 2 setpoints on the way out." |
| Record | Datalog: the datalog recorded. | "(none)" or a datalog of the model. | "Nothing is recorded: this run leaves no datalog.", "Records 6 channels every 500 ms.", and for a Temporal window "…, about 540 samples per channel." |
| Name | Alias set: the alias set pinned to the procedure. | "(none)" or an alias set of the model. The set is applied to the unit when the procedure is staged on it and the unit's aliases differ from it; the alias frozen in the run is the unit's own. | "The unit keeps the channel names it already has.", "Renames 5 channels on the unit when this procedure is staged on it." |
| Judge | Evaluation: the evaluation the run is judged against. | "(none)" or an evaluation of the model. | "No verdict is issued: a run finishes without a judgement.", "Judges 4 criteria, and a Major NOK aborts the run.", "Judges 4 criteria, and a NOK never aborts the run." |
| Abort on NOK ≥ (drawn once an evaluation is chosen): ends the run at the first confirmed NOK criterion at or above this severity. On a cyclic run this is the stop-or-continue control: a threshold ends the whole test at the first cycle failing at or above it; (never) runs every cycle and only counts the failures. | (never) (default), Minor, Major, Critical. | Folded into the Judge line above. |
Metadata
One card, headed by a pill counting the fields "prompted at start", holds what a run asks for and the two things that serve its sequential fields.
| Control | What it is | Values / default |
|---|---|---|
| The checklist | One box per field of the model's metadata catalogue, in catalogue order, labelled <name> (<kind>), or <name> * (<kind>) for a required field. |
A required field is ticked and locked ("Required fields are prompted by every procedure"); the others start unticked. Ticking one adds it to what the Start prompt and the Metadata card of a panel ask for. With no field in the catalogue the card says "No fields in the catalogue yet. Add some under the model's Metadata." |
| Procedure code | The stable code the sequential fields that include "Procedure code" compose with ("Every prompted sequential field that includes “Procedure code” reads this one."). Renaming the procedure never changes it. | Free text, committed when you leave the field; placeholder "optional until used". |
| COUNTERS (drawn when a prompted sequential field counts per Procedure or per Procedure and Unit) | One row per such field: per Procedure, one row labelled "This Procedure"; per Procedure and Unit, one row per unit of the model. Each row shows LAST EMITTED and an editable Next, and warns "May repeat an identifier" while Next is at or below the last emitted value. | Next accepts 0 up to the field's maximum; an entry outside it is refused with "Next value for '<field>' must be between 0 and <max>." The help under the rows: "Last is never rewritten. Lowering Next or wrapping after the maximum may repeat an identifier." |
Occurrences armed during this procedure
A pill counts the armed occurrences, and the checklist offers every occurrence of the model by name. A ticked occurrence is judged during this procedure's runs over the recorded rows; an occurrence armed Always watches regardless of the tick. With none in the model the card says "No occurrences in this model yet. Add some under the model's Occurrences."
Actions this procedure emits
A pill counts the selected actions, and the checklist offers every action of the model in list order, each with its emission line ("Label at Start, Label and report at Completion") and, once selected, a Ready or Review pill. Review lists what this procedure lacks for the action's markers (a metadata field it does not prompt, a criterion its evaluation does not declare, a cycle it does not run), each with its remedy. The emission order and the rest of the card are on Actions.
Production output
The last card, headed by an Included or Excluded pill, declares what a completed run contributes to the unit's production indicators (see Productivity).
| Field | What it is | Values / default | Effect |
|---|---|---|---|
| Output unit | The physical unit of the output. | Free text, committed when you leave the field; placeholder "pieces, kg…"; empty by default. While output is counted the field cannot be blanked: an empty entry is ignored. | Names the quantity on every indicator. |
| Produced on | Which boundary of a run counts as production. | Do not count production (default), Each completed run, Each completed cycle, Fixed quantity per completed run. A counting mode is disabled until the output unit is set ("Set the physical output unit first."); the cycle mode is disabled outside Temporal mode ("A cycle completion exists only on a Temporal Procedure."); and "Do not count production" is disabled while a named quantity in force sums this procedure ("Remove this Procedure from the named quantities on the Productivity screen first."): the model's own quantities, plus those of the units that have detached. A unit that went back to following the model keeps the quantities it had, and they count for nothing until it detaches again. | Legend: "Which boundary of a run counts as production, and how much reaching it adds." Effect: "Each completed run produces 1 pieces. Snapshots and Evaluate never count.", "Each completed cycle produces 1 pieces. …", "Each completed run produces 25 kg. …", or "This Procedure does not contribute production output." Choosing a count mode sets the quantity back to 1. |
| Quantity per completion (fixed mode) | The batch quantity a completed run contributes. | A positive number; 1 by default. | |
| Reference rate (while output is counted) | The target output rate ("Measured against elapsed time, holds and restarts included."). | A positive number or empty; empty by default. Without it, quantity and actual rate still compute, but no productivity percentage. | |
| Reference period (while output is counted) | The time basis of the reference rate ("Indicators normalize this to output per hour."). | per hour (default), per day. |
Aborted and failed runs seal their output record with zero quantity. A completed cycle stays counted even when a later cycle aborts the containing run.
Validation
The caution note under the header, which is also the gate Start enforces, says one of:
- "Nothing to run: this procedure references neither a datalog nor a recipe."
- "An evaluation judges over recorded rows. This procedure carries one but no datalog."
- "Temporal mode needs a duration. Set one."
- "Instant mode needs an instant recipe (or none). A temporal profile has no single tick."
- "Controlled mode needs an instant recipe (or none). Setpoints apply at Start, safe-state at Stop."
- "Temporal mode needs a temporal recipe (or none). An instant set has no timeline."
- "The recipe profile (
<n>ms) is longer than the temporal window (<n>ms)." - "Procedure '
<name>' can count completed cycles only in Temporal mode.", "… needs a positive finite productive-output quantity.", "… count-based productive output must contribute exactly one unit per completion.", "… needs a productive-output unit." - "Occurrence '
<name>' is invalid: …" for an enabled, armed occurrence whose condition does not validate. - "Occurrence '
<name>' watches 'Channels.<channel>', which this procedure's datalog does not record." An occurrence judges over the recorded columns, so one watching a channel the datalog leaves out could only mark the signal unavailable for the whole run. - "Occurrence '
<name>' watches recorded samples. This procedure arms it but has no datalog."
Deleting a referenced library entry degrades the procedure instead of breaking it: the reference empties, and the stage reads what it now does without it.
Remove procedure
Remove procedure stands in the detail bar's danger cluster with the procedure selected, on its right-click menu, and as the X on the folder page's card. It asks first ("Delete procedure", "This removes the procedure from the model."). The procedure also leaves every named quantity that summed it on the Productivity screen, at the model's level and at each unit's; a quantity left with no source goes with it. It needs Edit recipes & evaluations and is greyed under the engineering lock and the stopped runtime. Recorded runs of the procedure stay in Histories.
What a procedure does not do
- It starts nothing here. A unit stages and starts it on its rows under Operate, or through the automation that selects it (see Automation and the stop interlock).
- It holds nothing per unit: every unit runs the same composition over its own bindings.
- It does not order its actions or occurrences; the order is the model's.
- It carries no template of its own: what a run prints or publishes is an action's.