# Setup

> Die Gruppe eines Modells, die sich ändert, wenn sich das Produkt auf dem Prüfstand ändert, mit ihren sieben Ordnern in der Reihenfolge, in der ein Ablauf sie zusammensetzt.

**Setup** ist die drittletzte Gruppe eines Modells im Baum von Process (Process > Modelle > Modell >
Setup). Ihre Seite sagt, wofür sie da ist: "Was sich ändert, wenn das Produkt auf dem
Prüfstand wechselt: was überwacht wird, unter welchen Namen die Kanäle gelesen werden, was
aufgezeichnet wird, welche Sollwerte ein Lauf anwendet, wonach er bewertet wird und die Abläufe, die
all das zusammensetzen." Während [Definition](process-definition) die Struktur des Prozesses ist und
sich nur ändert, wenn sich der Prozess selbst ändert, ist Setup gewöhnlich Sache des Prüfplaners:
Ein neues Produkt auf demselben Prüfstand heißt neue Sollwerte, neue Grenzen, neue Namen und einen
neuen Ablauf, der sie über denselben Kanälen zusammensetzt.

## Die Gruppenseite {#the-group-page}

Die Auswahl von **Setup** öffnet die Seite der Gruppe: den Kopf mit der Zeile von oben und eine
Karte **Inhalt** ("Was diese Gruppe enthält. Klicken Sie eines an, um direkt dorthin zu springen.") mit
einer Kachel je Ordner, jede mit dem Icon des Ordners, seinem Namen und der Anzahl der Zeilen, die
er hält. Die Ordner stehen fest; auf dieser Seite wird nichts hinzugefügt oder entfernt.

| Reihenfolge | Ordner | Was er hält | Seite |
| --- | --- | --- | --- |
| 1 | **Ereigniseinträge** | Beobachtete Bedingungen des geprüften Dings, während der Läufe oder immer beurteilt. | [Ereigniseinträge](process-occurrences) |
| 2 | **Aliasse** | Benannte Sätze von Kanalnamen, auf eine Einheit angewendet oder an einen Ablauf geheftet. | [Aliassätze](process-aliases) |
| 3 | **Datalogs** | Aufzeichnungskonfigurationen: ein Abtastintervall und die aufgezeichneten Kanäle. | [Datalogs](process-datalogs) |
| 4 | **Rezepte** | Die Sollwerte, die ein Lauf schreibt: ein direkter Satz oder ein zeitgeführtes Profil aus Sprung, Rampe und Halten. | [Rezepte](process-recipes) |
| 5 | **Bewertungen** | Die Kriterien für das Bestehen, nach denen ein Lauf beurteilt wird. | [Bewertungen](process-evaluations) |
| 6 | **Aktionen** | Benannte Pakete aus Etiketten, Berichten, Logic-Aktionen und Datenbankzeilen, die ein Lauf an seinen Grenzen ausgibt. | [Aktionen](process-actions) |
| 7 | **Abläufe** | Was der Bediener auf einer Einheit startet: der Rahmen des Laufs und die Teile darüber, die er zusammensetzt. | [Abläufe](process-procedures) |

## Warum der Ablauf zuletzt kommt {#why-the-procedure-comes-last}

Die ersten sechs Ordner sind lose Bausteine, und der Ablauf ist, wo sie sich zusammensetzen: Ein
Ablauf wählt ein Datalog zum Aufzeichnen, ein Rezept zum Anlegen, eine Bewertung zum Beurteilen,
einen Aliassatz zum Anheften, die Ereigniseinträge, die er scharfschaltet, und die Aktionen, die er
ausgibt. Die Gruppe wird in der Reihenfolge gelesen, in der sie gefüllt wird, bis Sie also Abläufe
erreichen, hat jede Auswahl etwas anzubieten. Aktionen stehen nach Bewertungen und vor Abläufen,
weil sie der eine lose Baustein sind, der weder etwas anlegt noch aufzeichnet noch beurteilt: Sie
sagen nur, was ein Lauf ausgibt, und sie sind das Letzte, was ein Ablauf zusammensetzt.

Jeder Ordner listet seine Zeilen nach Namen, außer **Aktionen**, die die eigene Reihenfolge der
Liste behalten, denn diese Reihenfolge ist die Reihenfolge, in der jeder Ablauf die Aktionen
ausgibt.

## Was sich ändert, wenn sich das Produkt ändert {#what-changes-when-the-product-changes}

Nichts in Setup erklärt die Struktur des Modells neu. Jeder Baustein bezieht sich über ihre Kennung
und sonst nichts auf die abstrakten Kanäle des Modells: Ein Rezept schreibt Kanäle, ein Datalog
zeichnet Kanäle auf, eine Bewertung beurteilt Kanäle, ein Ereigniseintrag liest Kanäle, ein
Aliassatz benennt Kanäle. Das macht jede Einheit des Modells von Bauart her mit jedem Baustein
verträglich, und das lässt einen Prüfstand seine Kanäle und Verknüpfungen behalten, während seine
Produkte kommen und gehen. Das Umbenennen eines Kanals schreibt jeden Verweis in der Gruppe mit; das
Entfernen eines Kanals kehrt seine Zeilen aus jedem Baustein heraus, nach einer Bestätigung, die
zählt, was geht (siehe [Kanäle und Verknüpfungen](process-channels)).

Ein gelöschter Baustein schwächt das ab, was ihn verwendet hat, statt es zu zerbrechen: Ein Ablauf,
dessen Rezept, Datalog, Bewertung oder Aliassatz entfernt wird, leert schlicht diesen Verweis; ein
entfernter Ereigniseintrag ist in jedem Ablauf nicht mehr scharfgeschaltet; eine entfernte Aktion
wird von den Abläufen, die sie gewählt hatten, nicht mehr ausgegeben. Der Bestätigungsdialog nennt
den Baustein, bevor er geht.

## Berechtigungen und Sperren {#permissions-and-locks}

Die Berechtigung **Rezepte und Bewertungen ändern** des Bereichs Process ist es, die diese Gruppe
ändert: Jeder anlegende Befehl, jedes Feld und jeder Befehl Entfernen in den sieben Ordnern ist
durch sie freigegeben. Für eine Rolle, die sie ohne **Process verwalten** hält, schrumpft der Baum:
Jedes Modell zeigt nur seinen Zweig Setup und die Wurzel Vorlagen entfällt, die Rolle erreicht also
genau das, was sie ändern darf. Eine Rolle, die Modelle nur ansieht oder Abläufe ausführt, sieht
weiterhin den ganzen Baum, aber die Seiten von Setup werden schreibgeschützt gehalten, und keiner
der Befehle wird gezeichnet.

| Befehl | Wo er steht | Was er anlegt |
| --- | --- | --- |
| **Ereigniseintrag** | Ordner Ereigniseinträge gewählt (Rechtsklick **Ereigniseintrag hinzufügen**) | `Ereigniseintrag <n>`, Warnung, während der Abläufe scharfgeschaltet, aktiviert, leere Bedingung. |
| **Aliassatz** | Ordner Aliassätze gewählt (Rechtsklick **Aliassatz hinzufügen**) | `Aliassatz <n>`, benennt noch nichts. |
| **Datalog** | Ordner Datalogs gewählt (Rechtsklick **Datalog hinzufügen**) | `Datalog <n>`, 1000 ms, keine Spalten. |
| **Rezept** | Ordner Rezepte gewählt (Rechtsklick **Rezept hinzufügen**) | `Rezept <n>`, Direkt, Bei Fehlschlag Anhalten, keine Sollwerte. |
| **Bewertung** | Ordner Bewertungen gewählt (Rechtsklick **Bewertung hinzufügen**) | `Bewertung <n>`, keine Kriterien. |
| **Aktion** | Ordner Aktionen gewählt (Rechtsklick **Aktion hinzufügen**) | `Aktion <n>` (die erste freie Nummer), keine Befehle. |
| **Befehl** | Eine Aktion gewählt (Rechtsklick **Befehl hinzufügen**) | Ein Etikett, bei Abschluss für Läufe mit OK ausgegeben, noch ohne Vorlage. |
| **Ablauf** | Ordner Abläufe gewählt (Rechtsklick **Ablauf hinzufügen**) | `Ablauf <n>`, Direkt, bezieht sich auf nichts. |
| **Entfernen …** | Die Zeile gewählt: die Gefahrengruppe der Detailleiste, das Rechtsklickmenü und das X auf der Karte der Ordnerseite | Löscht die Zeile nach einer Bestätigung, die sie nennt. |

Alle bleiben gezeichnet und ausgegraut, solange die Station eine Konfiguration abweist: Jede Einheit
der Station, die von einem Lauf belegt ist, hält die Projektierungssperre, und eine gestoppte
Runtime weist jede Änderung ab. Der Tooltip sagt, welche von beidem. Jede Seite der Gruppe speichert
von selbst: Ein Feld wirkt, sobald Sie es verlassen, ein Schalter oder eine Auswahl bei der
Änderung, und ein Schreibvorgang, den die Station abweist, stellt die Seite wieder her, wie sie war,
und meldet den Grund im Aktionsprotokoll.

## Was diese Gruppe nicht tut {#what-this-group-does-not-do}

- Sie hält nichts je Einheit. Die Verknüpfungen, Aliasse, Drucker und die Automatik einer
  Einheit stehen auf den Bildschirmen der [Definition](process-definition), eine Einheit nach der
  anderen.
- Sie hält keine Vorlagen. Die Berichtslayouts und Etikettenvorlagen, die eine Aktion nennt, sind
  die zwei stationsweiten Bibliotheken unter [Vorlagen](process-templates).
- Sie führt nichts aus. Das Vorbereiten und Starten eines Ablaufs geschehen auf den Zeilen der
  Einheit unter [Betrieb](process-operate).
