Validierung
Die Seite für den Zustand der Konfiguration: was die Station in Abläufen, in der Logik und auf Dashboards prüft, jeder Befund, den sie melden kann, und wie er formuliert ist, was eine Zeile öffnet, das Kennzeichen in der Navigationsleiste und warum hier nichts repariert wird.
Die Seite Validierung listet auf, worauf die Station nicht stehen kann: eine Kanalverknüpfung, eine Verriegelung, ein Feld der Automatisierung, einen Ausdruck, ein Skript oder eine Bedingung der Logik oder eine Dashboard-Komponente, die auf ein Tag, eine Variable, einen Ablauf oder eine Adresse zeigt, die die Station nicht mehr hat, sowie eine Aktion aus Process, deren Dokumente ein Lauf nicht wie konfiguriert ausgeben könnte, und einen Ablauf, den der Start eines Laufs ablehnen würde. Sie ist der Eintrag Validierung am Fuß der Navigationsleiste, öffnet für eine Identität mit der Berechtigung Validierung anzeigen und antwortet unter /validation. Sie ist eine laufende Seite, in voller Breite gezeichnet, weil jeder Befund ein Satz ist. Sie ist das Geschwister des Runtime-Zustands in der Statusleiste: Jener sagt, ob die Station liest, diese sagt, ob die Konfiguration noch auflöst.
Die Seite meldet; sie repariert nie. Eine Zeile öffnet den Editor, dem der Fehler gehört, auf der Entität, die ihn hält, und die Reparatur ist Ihre Änderung dort.
Die Zustandskarte
Die Karte ganz oben ist die ganze Antwort der Seite über die Konfiguration und der einzige Ort, an dem eine saubere Station angesagt wird:
| Zustand | Punkt | Titel | Einzelheit |
|---|---|---|---|
| Sauber | Grün | Nichts zu beheben | Jeder Verweis in Abläufen, in der Logik und auf Dashboards löst auf, jeder Ablauf würde starten, und jede Aktion hat, was sie zum Herauskommen braucht. |
| Befunde | Gelb | N Punkte zu beheben ("1 Punkt" bei einem) | Hier wird nichts repariert. Eine Zeile öffnet den Editor, dem der Fehler gehört, auf der Entität, die ihn hält. |
Die Karte trägt den einen Befehl der Seite, Erneut prüfen (Tooltip: "Die ganze Konfiguration jetzt erneut prüfen. Die Liste aktualisiert sich außerdem von selbst, sobald sich etwas ändert."). Er ist ausgegraut, während eine Prüfung läuft. Weil eine Prüfung, die dasselbe findet, die Liste genau so lässt, wie sie war, wird das Ergebnis im Aktionsprotokoll der Statusleiste gemeldet: "Erneute Prüfung fertig: nichts zu beheben.", "Erneute Prüfung fertig: N Punkte zu beheben." oder "Erneute Prüfung fehlgeschlagen: Grund".
Erneut prüfen brauchen Sie selten. Der Prüfer ist immer an, auf der Station, und prüft von selbst erneut, 750 Millisekunden nach jedem Schwall von Änderungen auf einer der Flächen, die er liest: Geräte, Leitungen und Tags des Connectors; Modelle aus Process; die Betriebsmittel; Variablen, Aktionen und Alarme der Logik; Dashboards; Etikettenvorlagen; Berichtslayouts. Die Seite und das Kennzeichen in der Navigationsleiste folgen dem Ergebnis. Eine Prüfung, die der Connector kreuzt, während er Geräte hinein- oder herausbewegt (eine Aktualisierung eines Treibers, ein Gerät, das hinzugefügt wird), wird wiederholt, sobald der Connector zur Ruhe kommt, ein Verweis wird also nie nur deshalb kaputt genannt, weil sein Gerät gerade unterwegs ist.
Die Gruppen
Befunde werden nach der Fläche gruppiert, der sie gehören, in fester Reihenfolge. Eine Gruppe ohne Inhalt wird nicht gezeichnet, eine Station mit einem Dashboard-Fehler zeigt also eine Gruppe.
| Gruppe | Arten von Befund | Die Zeile unter dem Titel |
|---|---|---|
| Process | Verknüpfungen (Kanalverknüpfungen, Verriegelungen, Automatisierung), Abläufe und die von ihnen scharfgeschalteten Ereigniseinträge sowie Dokumente von Aktionen | N Punkte. Kanalverknüpfungen, Verriegelungen und Automatisierungen von Einheiten, die ein Tag, eine Variable oder einen Ablauf nennen, den die Station nicht mehr hat, Abläufe, die ein Start ablehnen würde, sowie Aktionen, deren Dokumente ein Lauf nicht wie konfiguriert ausgeben könnte. |
| Logic | Ausdrucksvariablen, Aktionen, Alarme | N Punkte. Ausdrücke, Aktionsskripte und Alarmbedingungen, die eine Adresse lesen, die nicht mehr auflöst. |
| Dashboards | Komponenten | N Punkte. Komponenten, deren Eigenschaften auf eine Adresse zeigen, die nicht mehr auflöst. Sie werden gezeichnet, lesen aber nichts. |
Eine Zeile
Jede Zeile ist ein Befund, und sie sagt, worum es geht, ohne dass etwas geöffnet werden muss:
- Ein Zeichen für die Art: eine Einheit bei einer Verknüpfung aus Process, ein Druckzeichen bei den Dokumenten einer Aktion, das Zeichen der geschriebenen Zusammenstellung bei einem Ablauf, eine Fahne bei einem Ereigniseintrag, die Zeichen für Variable, Aktion und Alarm aus dem Baum der Logik, das Dashboard-Zeichen bei einer Komponente.
- Der Name der Entität, dann ihr Typ, wenn der Typ etwas sagt, was der Name nicht sagt (eine Komponente, die der Integrator nie benannt hat, fällt auf ihre Art zurück, und die Zeile liest sich nicht als "Zeigerinstrument Zeigerinstrument"), dann "in Ort", wo es einen gibt.
- Der Befund: bei einem Feld, das ein Ziel nennt, "Feld zeigt auf
Verweis, den es nicht mehr gibt." mit dem Verweis in dicktengleicher Schrift; bei einem Feld, das die Runtime nicht benutzen kann, "Feld: was falsch ist." - Ein Pfeil rechts: Die Zeile öffnet etwas. Der Tooltip der Zeile und ihr Name für Hilfstechnik sind der ganze Satz plus dem Ort, an dem der Klick landet ("Die Einheit in Process öffnen.", "Die Aktion in Process öffnen.", "Den Ablauf in Process öffnen.", "Den Ereigniseintrag in Process öffnen.", "Die Komponente im Editor öffnen.", "Die Variable in Logic öffnen.", "Die Aktion in Logic öffnen.", "Den Alarm in Logic öffnen.").
Jeder Befund, den die Prüfung erzeugen kann
Die Formulierungen unten sind die der Seite selbst. Ein Verweis, der als tag:… oder var:… gezeigt wird, ist die gespeicherte Kennung eines Tags oder einer Variable, die es nicht mehr gibt; ein Schlüssel, der als Text gezeigt wird, ist der gespeicherte Schlüssel einer Verknüpfung.
Process: Kanalverknüpfungen
Typ "Kanalverknüpfung"; Name: der Name des Kanals (oder "(entfernter Kanal)"); Ort: "Modell · Einheit". Öffnet den Bildschirm Kanäle des Modells auf der Einheit.
| Feld | Formulierung |
|---|---|
| Tag | zeigt auf den gespeicherten Tag-Schlüssel, den es nicht mehr gibt |
| Variable | zeigt auf den gespeicherten Variablenschlüssel, den es nicht mehr gibt |
Process: Verriegelungen
Typ "Verriegelung"; Name: der Name der Einheit; Ort: "Modell · Einheit". Eine Einheit wird danach beurteilt, was sie tatsächlich beobachtet: ihre eigene Quelle oder die Vorgabe des Modells, wenn sie dem Modell folgt. Öffnet den Bildschirm Automatisierung des Modells auf der Einheit.
| Feld | Formulierung |
|---|---|
| Quelle | sie folgt dem Modell, dessen Vorgabe keine Wahrheitswertquelle nennt. |
| Quelle | es ist keine Wahrheitswertquelle konfiguriert. |
| Quelle | es sind ein Tag und eine Variable zugleich gewählt. |
| Tag | zeigt auf tag:…, das es nicht mehr gibt |
| Tag | ein DateTime-Tag ist nicht in einen Wahrheitswert wandelbar. (ebenso Tags vom Typ Guid und ByteString) |
| Variable | zeigt auf var:…, die es nicht mehr gibt |
| Variable | eine DateTime-Variable ist nicht in einen Wahrheitswert wandelbar. (ebenso Variablen vom Typ Image, Icon und Color) |
Die ersten drei werden nur gemeldet, solange die Stopp-Verriegelung des Modells aktiviert ist.
Process: Automatisierung
Typ "Automatisierung"; Name: der Name der Einheit; Ort: "Modell · Einheit". Nur eine aktivierte Automatisierung wird beurteilt: eine ausgeschaltete treibt nichts an und zieht sich aus der Liste zurück. Öffnet den Bildschirm Automatisierung des Modells auf der Einheit.
| Feld | Formulierung |
|---|---|
| Befehle | es ist keine Startquelle konfiguriert. |
| Ablauf | der feste Ablauf ist nicht verfügbar. (feste Auswahl) |
| Auswahl | ein Quellenbefund (unten), bei einer Ganzzahlquelle |
| Auswahlcode n | er wählt einen Ablauf, der entfernt wurde. |
| Quelle Start, Quelle Stopp und so weiter, eine je Befehlsquelle | ein Quellenbefund, bei einer Wahrheitswertquelle |
| Metadaten | eine Zuordnung füllt einen Ablauf oder ein Feld, das entfernt wurde. |
| Metadaten "Feld" | ein Quellenbefund (numerisch bei einem numerischen Feld; Wahrheitswert, Ganzzahl, Dezimalzahl, Text oder Datum bei den übrigen) oder: dieses Feld unterstützt keine automatische Erzeugung. |
| Rückgabe Ready, Rückgabe Active, Rückgabe SelectedCode, Rückgabe CommandResult | zeigt auf tag:…, das es nicht mehr gibt; oder: das Tag, in das sie schreibt, ist nicht beschreibbar. / sie verlangt ein Tag vom Typ Wahrheitswert. (Ready, Active) / sie verlangt ein Ganzzahl-Tag. (SelectedCode, CommandResult) |
Ein Quellenbefund ist einer von diesen: "es ist keine Quelle konfiguriert.", "es sind ein Tag und eine Variable zugleich gewählt.", "das Tag, das sie liest, wurde entfernt (tag:…).", "das Tag, das sie liest, ist nicht lesbar." (das Tag ist deaktiviert oder nur beschreibbar), "ein Tag vom Typ Typ passt hier nicht.", "die Variable, die sie liest, wurde entfernt (var:…).", "eine Variable vom Typ Typ passt hier nicht.". Die Verträglichkeit folgt der Rolle des Feldes: Eine Wahrheitswertquelle braucht ein Tag oder eine Variable vom Typ Wahrheitswert; eine Ganzzahlquelle einen Ganzzahltyp; eine numerische Quelle einen Ganzzahl- oder Dezimaltyp; eine Metadatenquelle einen beliebigen Typ aus Wahrheitswert, Ganzzahl, Dezimalzahl, Text oder Datum.
Process: Abläufe
Typ "Ablauf"; Name: der Name des Ablaufs; Ort: der Name des Modells. Beurteilt wird an demselben Tor, durch das der Start eines Laufs geht, ein Ablauf, den diese Liste lauffähig nennt, ist also einer, den die Anlage annimmt. Öffnet die eigene Seite des Ablaufs.
Das Tor schreibt diese Ablehnungen auf Englisch, und die Zeile zitiert sie so, wie sie kommen, in welcher Sprache die Station auch eingestellt ist.
| Feld | Formulierung |
|---|---|
| Aufbau | An evaluation judges over recorded rows. This procedure carries one but no datalog. |
| Aufbau | Occurrence 'name' watches recorded samples. This procedure arms it but has no datalog. |
| Aufbau | Nothing to run: this procedure references neither a datalog nor a recipe. |
| Aufbau | Instant mode needs an instant recipe (or none). A temporal profile has no single tick. |
| Aufbau | Controlled mode needs an instant recipe (or none). Setpoints apply at Start, safe-state at Stop. |
| Aufbau | Temporal mode needs a duration. Set one. |
| Aufbau | Temporal mode needs a temporal recipe (or none). An instant set has no timeline. |
| Aufbau | The recipe profile (N ms) is longer than the temporal window (M ms). |
| Aufbau | Occurrence 'name' watches 'Channels.channel', which this procedure's datalog does not record. |
| Aufbau | Eine Ablehnung dazu, was ein abgeschlossener Lauf zur Produktion beiträgt, oder zu einem Rezeptwert, der den Kanal nicht erreicht, auf den er gerichtet ist, in den Worten des Editors, dem sie gehört. |
Process: Ereigniseinträge
Typ "Ereigniseintrag"; Name: der Name des Ereigniseintrags; Ort: der Name des Modells. Gelesen wird nur ein Ereigniseintrag, den ein Ablauf scharfschaltet, und er wird einmal gelesen, wie viele Abläufe ihn auch scharfschalten, denn die Bedingung ist eine und die Reparatur auch. Öffnet die eigene Seite des Ereigniseintrags.
| Feld | Formulierung |
|---|---|
| Bedingung | Die Ablehnung der Bedingung selbst, in den Worten des Editors für Ereigniseinträge: ein Kanalverweis, den dieses Modell nicht hat, eine Bedingung, die sich nicht lesen lässt, eine, die etwas anderes als Bool zurückgibt, oder zwei Kanäle, die auf denselben Namen hinauslaufen. Auch sie ist auf Englisch geschrieben. |
Eine Bedingung, die für sich steht und trotzdem nicht beurteilt werden kann, weil das Datalog des Ablaufs den beobachteten Kanal auslässt, ist stattdessen ein Befund an jenem Ablauf: das Datalog ist die Wahl des Ablaufs.
Process: Dokumente einer Aktion
Typ "Aktion"; Name: der Name der Aktion; Ort: der Name des Modells. Beurteilt wird dasselbe, woraus die eigene Seite der Aktion ihren Hinweis "Prüfung erforderlich" zieht, eine Aktion, die dort bereit heißt, ist hier also bereit. Öffnet die eigene Seite der Aktion.
| Feld | Formulierung |
|---|---|
| Befehle | Fügen Sie einen Befehl hinzu: diese Aktion gibt noch nichts aus. |
| Befehl n · Etikett bei Start, Befehl n · Bericht bei Abschluss und so weiter | Die erste Bemerkung zu diesem Befehl, dann "(k weitere zu diesem Befehl)", wenn es mehr gibt. Ein Befehl mit mehreren Bemerkungen ist trotzdem eine Reparatur, auf einer Seite gemacht, also eine Zeile. |
Die Bemerkungen, die ein Befehl tragen kann, in der Reihenfolge, in der sie repariert werden:
- Wählen Sie mindestens ein Abschluss-Prüfergebnis. (ein Befehl bei Abschluss ohne angekreuztes Prüfergebnis)
- Wählen Sie einen Bericht. / Den gewählten Bericht gibt es nicht mehr.
- Wählen Sie eine Etikettenvorlage. / Die Vorlage wurde geleert oder gelöscht; gespeicherte Zuordnungen bleiben erhalten. / Die gewählte globale Vorlage gibt es nicht mehr.
- Die gewählte Vorlage hat noch keine Druckerbefehle; schreiben oder importieren Sie sie, bevor ein Lauf diesen Befehl erreicht.
- Die Platzhalter der Vorlage können nicht gelesen werden: Fehler
{{marker}}braucht eine Quelle. /{{marker}}ist mehr als einmal zugeordnet.{{marker}}: wählen Sie eine Quelle / diese Quelle ist bei Start nicht verfügbar / wählen Sie ein Feld aus dem Metadatenkatalog dieses Modells / wählen Sie ein Kriterium aus einer der Bewertungen dieses Modells / setzen Sie einen ausdrücklichen, bei null beginnenden Zyklus von 0 bis n / entfernen Sie die Nachkommastellen bei dieser Datums- oder Zeitquelle / verwenden Sie das Vorgabeformat für diese numerische Quelle / die Nachkommastellen müssen zwischen 0 und 9 liegen / entfernen Sie die Zahlen- oder Datumsformatierung bei dieser Textquelle{{marker}}wurde aus der aktuellen Vorlage entfernt; entfernen Sie ihre gespeicherte Zuordnung.
Logic
Kein Ort: Die Arten aus Logic stehen auf oberster Ebene. Eine Zeile je unterschiedlicher Adresse, die nicht auflöst, mit der Adresse so geschrieben, wie der Ausdruck sie schreibt. Geprüft werden nur Ausdrucksvariablen; eine Merkervariable hat keinen Ausdruck, der gelesen werden könnte.
| Typ | Feld | Formulierung |
|---|---|---|
| Ausdrucksvariable | Ausdruck | zeigt auf address, die es nicht mehr gibt |
| Aktion | Skript | zeigt auf address, die es nicht mehr gibt |
| Alarm | Bedingung | zeigt auf address, die es nicht mehr gibt |
Dashboards
Typ: die Art der Komponente, wie der Editor sie nennt (Zeigerinstrument, Liniendiagramm, Wert…); Name: der für die Komponente getippte Name, sonst ihre Beschriftung, sonst das, was der Editor ableitet; Ort: der Name des Dashboards. Eine Zeile je Adressfeld, eine Komponente, deren Wert und deren Farbe zwei entfernte Punkte lesen, sind also zwei Reparaturen.
| Feld | Formulierung |
|---|---|
| Adresse, Akzentadresse, Datenreihe 2 › Adresse und jedes andere Adressfeld dieser Art (eine verschachtelte Liste liest sich als ihr Pfad) | zeigt auf address, die es nicht mehr gibt |
Gelesen werden nur Adressfelder und nur ein Wert, der sich als verwurzelte Adresse mit mindestens einem Abschnitt lesen lässt: Ein Etikett, das "Process.Press 1.Temperature" hält, ist Text und kein Verweis und wird nie gemeldet. Dieselbe Adresse im selben Feld ist ein Befund. Bilder, die auf einem Modell aus Process festgelegt sind, werden übersprungen: Sie verknüpfen Kanäle über einen Platzhalter für die Einheit, und kein Punkt antwortet auf diese Adressen, bis eine Einheit das Bild öffnet.
Was eine Zeile öffnet
| Art | Öffnet | Wo es landet |
|---|---|---|
| Komponente | Das Dashboard im Änderungsmodus (/d/{dashboard}?edit=true&focus={component}) |
Mit ausgewählter Komponente und sichtbaren Eigenschaften, dort, wo die Adresse neu getippt wird. Das Ändern braucht die Berechtigung Dashboards ändern; ohne sie öffnet das Dashboard zum Ansehen. |
| Kanalverknüpfung | Den Arbeitsbereich Process (/process?focus={unit}&screen=channels) |
Den Bildschirm Kanäle des Modells, mit ausgewählter Zeile dieser Einheit und jedem Ordner darüber aufgeklappt. |
| Verriegelung, Automatisierung | Den Arbeitsbereich Process (/process?focus={unit}&screen=automation) |
Den Bildschirm Automatisierung des Modells, mit ausgewählter Zeile dieser Einheit. |
| Dokumente einer Aktion | Den Arbeitsbereich Process (/process?focus={action}&screen=action) |
Die eigene Seite der Aktion in der Spalte. |
| Ablauf | Den Arbeitsbereich Process (/process?focus={procedure}&screen=procedure) |
Die eigene Seite des Ablaufs in der Spalte. |
| Ereigniseintrag | Den Arbeitsbereich Process (/process?focus={occurrence}&screen=occurrence) |
Die eigene Seite des Ereigniseintrags in der Spalte. |
| Ausdrucksvariable, Aktion, Alarm | Die Seite Logic (/logic?focus={id}) |
Die Entität in ihrem Editor ausgewählt, mit ihrem Abschnitt des Adressraums aufgeklappt. |
Das Öffnen setzt Sie auf den Fehler; die Zielseite wendet dann ihre eigenen Berechtigungen auf die Änderung an (Process verwalten auf den Bildschirmen von Process, Logic konfigurieren in Logic). Eine Entität, die nicht mehr auflöst, wenn die Seite ankommt (inzwischen gelöscht), wird übergangen, und die Seite öffnet dort, wo sie es sonst täte.
Das Kennzeichen in der Navigationsleiste
Der Eintrag Validierung in der Navigationsleiste trägt eine warnende Pille mit der Anzahl der zu behebenden Punkte, "99+" jenseits von neunundneunzig, und keine Pille, solange die Konfiguration sauber ist. Die Zählung ist die des Prüfers selbst, im Hintergrund von derselben erneuten Prüfung aktuell gehalten, der die Seite folgt, sie bewegt sich also, während Sie auf irgendeiner Seite ändern, ohne dass diese Seite offen ist.
Was die Seite nie tut
- Sie repariert nichts: kein Neuverknüpfen, kein Löschen, kein Umbenennen. Jede Zeile ist ein "Öffnen"; es gibt keine andere Aktion auf einer Zeile und keine Sammelaktion.
- Sie beurteilt nie die Runtime: Ein Gerät, das nicht kommuniziert, ist der Zustand in der Statusleiste und kein Befund hier. Ein Verweis auf ein Tag, das es gibt und das schlechte Qualität liest, löst auf.
- Sie meldet nie eine deaktivierte Automatisierung, ein auf einem Modell festgelegtes Bild, freien Text, der wie eine Adresse aussieht, eine Merkervariable oder eine zweite und weitere Bemerkung desselben Aktionsbefehls (die Zählung sagt, wie viele weitere auf jener Seite warten).
- Sie liest nie einen Ereigniseintrag, den kein Ablauf scharfschaltet, und führt denselben scharfgeschalteten Eintrag nie zweimal auf, wie viele Abläufe ihn auch scharfschalten: eine Bedingung ist eine Reparatur.
- Sie prüft nie, während der Connector mitten in einem Übergang steckt; sie wartet und misst einmal.
- Sie ist auf jedem Bildschirm dieselbe Liste, im Fenster der Station wie in einem Browser, und dieselbe für jede Identität, die sie öffnen darf: Die Berechtigung gibt die Seite frei, nicht ihre Zeilen.
- Solange die Runtime gestoppt ist, weicht die Seite dem Hinweis auf die Pause wie jede Seite; das Kennzeichen behält seine letzte Zählung.