Der Adressraum einer Einheit

Jeder Punkt, den eine Einheit unter Process.Modell.Einheit veröffentlicht, sein Typ und seine Bedeutung, welche Punkte beschreibbare Befehle sind und was ein Skript aus Logic davon lesen darf.

Als Markdown ansehen

Jede Einheit veröffentlicht ihre Laufdaten als gewöhnliche Adressen aus Logic unter Process.<Model>.<Unit>, so dass Dashboards, Ausdrücke aus Logic, der eingebettete OPC UA Server und der Agent sie ohne zusätzliche Verdrahtung erreichen. Der Zweig wird auf der Seite Logic unter "Von anderen Seiten" (Aus anderen Seiten) und in jeder Adressauswahl durchsucht. Ein Modell, eine Einheit, einen Kanal, ein Metadatenfeld, eine Bewertung oder ein Kriterium umzubenennen ersetzt die entsprechenden Adressen und schreibt lebende textliche Verweise mit; aufgezeichnete Dateien behalten die Namen eingefroren, wie sie beim Schreiben lauteten. Die Abschnitte sind die bereinigten Namen: Eine Einheit namens "Einheit 1" des Modells "Klimakammer" wird als Process.Klimakammer.Einheit_1 adressiert.

Zweig Was er offenlegt Beschreibbar
Channels.<Channel> Den laufenden gebundenen Wert jedes Kanals, typisiert, wie der Kanal es erklärt. Ein beschreibbarer Kanal (Rolle Nur schreiben oder Lesen und schreiben) ist ein beschreibbarer Punkt über den Schreibtrichter; eine Quelle, die ein Lauf hält, weist jeden anderen Schreiber ab.
Procedure.<point> Den Laufzustand, ein Skalar je Punkt (Tabelle unten). Nein.
Commands.<command> Start, Hold, Resume, Stop, Abort und Comment. Ja: Schreiben setzt ab (Tabelle unten).
Next.<point> Den Vorbereitungsbereich, den der nächste Start verbraucht. Allein die Metadatenfelder von Hand.
LastRun.<point> Die Aufzeichnung des letzten Laufs, den die Einheit beendet hat (LastRun). Nein.
Productivity.Today.<branch> und Productivity.Rolling.<branch> Die Produktivitätsprojektion der Einheit für jeden Zeitraum. Nein.

Kanäle

Ein Punkt eines Kanals liest den Wert hinter der Verknüpfung der Einheit, auf den Datentyp des Kanals projiziert, und liest sich als Lücke, wenn der Kanal ungebunden oder seine Quelle nicht verfügbar ist. In einem Skript aus Logic ist der Punkt eine nur lesbare typisierte Projektion des gebundenen Tags oder der gebundenen Variable und nie das Tag selbst: Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited, ValueRounded, die Umwandlungen ValueToBool(), ValueToInteger(), ValueToReal(), ValueToString() und ValueToDateTime(), die Qualität State(), die Stempel SourceTimeStamp() und ApplicationTimeStamp(), Refresh(), Name und EngineeringUnit. Die Glieder der Wertkette antworten bei einer Verknüpfung mit einem Tag; eine Verknüpfung mit einer Variable antwortet mit dem Wert und dem Stempel der Anwendung.

Ablauf

Jeder Punkt wird aus dem laufenden Lauf berechnet und liest mit guter Qualität; ein Punkt, der nichts zu sagen hat, liest sich als Lücke.

Punkt Typ Bedeutung
Status Text Preparing, solange die Einheit reserviert ist und noch kein Lauf besteht, Idle, solange nichts sie besitzt, sonst der Laufzustand: Running, Held, Saving, Completed, Aborted, Failed.
Running Wahrheitswert Streng der Zustand Läuft; nie wahr bei der Vorbereitung, bei Angehalten, bei Wird gespeichert oder beim Abschluss.
Busy Wahrheitswert Die ganze belegte Spanne: Reservierung, Läuft, Angehalten, Wird gespeichert und das endgültige Schließen der Laufdatei.
Verdict Text Ok, Nok, Indeterminate oder None, genau so geschrieben, unabhängig davon, welches Wort die Oberfläche oder ein gedrucktes Etikett zeigt: Ein Vergleich lautet Process.<Model>.<Unit>.Procedure.Verdict == "Nok". Der beurteilte Nachweis bleibt nach dem Ende des Laufs lesbar, bis der nächste Lauf startet.
Mode Text Die Form des aktiven Laufs, Instant, Temporal oder Controlled; ein Einzelbefehl (Momentaufnahme, Jetzt bewerten) meldet ebenfalls. Lücke, solange die Einheit bereit ist.
ActiveProcedure Text Der Name des aktiven Laufs ("Ablauf · Einheit"). Lücke, solange die Einheit bereit ist.
SegmentIndex Ganzzahl Das aktuelle Segment des zeitgeführten Profils, ab 0 gezählt. Lücke ohne Profil.
CycleIndex Ganzzahl Der aktuelle Zyklus, ab 0 gezählt. Lücke, solange die Einheit bereit ist.
CycleCount Ganzzahl Die Gesamtzahl der Zyklen des Laufs (1 bei einem einzelnen Durchgang). Lücke, solange die Einheit bereit ist.
Cycle Text "2 / 10" bei einem zyklischen Lauf; eine Lücke, wenn der Lauf nicht zyklisch ist, damit eine gebundene Anzeige das Lückenzeichen statt eines irreführenden einzelnen Durchgangs zeigt.
FailedCycles Ganzzahl Bisher als NOK beurteilte Zyklen. Lücke, wenn der Lauf nicht zyklisch ist.
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid Ganzzahl Die Zähler des Nachweises der Bewertung, von der Bewertungsmaschine unteilbar aktualisiert. Lücke ohne beurteilten Nachweis.
Elapsed Dezimalzahl Sekunden seit dem Start des Laufs. Lücke, solange die Einheit bereit ist.
StartedAt Datum und Uhrzeit Wann der aktive Lauf gestartet ist. Lücke, solange die Einheit bereit ist.
Metadata.<Field> Text Ein Punkt je Metadatenfeld des Modells: der Wert, den der laufende Lauf beim Start eingefroren hat. Lücke, solange die Einheit bereit ist, und für ein Feld, das dieser Lauf nicht abfragt; ein leer gelassenes Feld liest sich als leerer Text. Das liest eine beim Start ausgelöste Aktion vom beginnenden Lauf, denn Next.<Field> zeigt schon den danach.

Befehle

Einen Befehlspunkt zu lesen beantwortet "kann das jetzt ausgeführt werden", so dass eine gebundene Schaltfläche sich selbst abschaltet; ihn zu schreiben setzt den Befehl über die Laufkonsole ab, ins Journal geschrieben mit der Quelle der schreibenden Fläche und aufgezeichnet mit der Identität dessen, der gedrückt hat. Ein Befehl ist ein Dienstaufruf und nie ein in die Warteschlange gestellter Schreibvorgang auf einen Punkt.

Punkt Liest wahr, wenn Schreiben
Start Die Einheit ist nicht beschäftigt, die Runtime nimmt Vorgänge an, die Verriegelung ist Normal, und ein Ablauf ist vorbereitet. Startet den vorbereiteten Ablauf mit den vorbereiteten Metadaten.
Hold Ein Lauf läuft, und sein Ablauf ist zeitgeführt. Friert das Fenster ein.
Resume Ein Lauf ist angehalten, und die Verriegelung ist Normal. Löst das Anhalten.
Stop Ein Lauf läuft. Beendet den Lauf als Abgeschlossen.
Abort Ein Lauf läuft oder ist angehalten. Beendet den Lauf als Abgebrochen.
Comment Nie: Der Punkt hat keinen Messwert. Hängt den geschriebenen Text als Kommentar an den aktiven Lauf an oder, solange die Einheit bereit ist, als Notiz nach dem Lauf an den letzten fertigen Lauf der Einheit. Eine Einheit ganz ohne Lauf weist ab ("Die Einheit hat keinen Lauf zum Kommentieren."), und leerer Text ebenso.

Jeder Befehl liest falsch, solange die Station Schreibvorgänge abweist (die Runtime ist gestoppt).

Vorbereitet

Punkt Typ Bedeutung
Next.Procedure Text Der Name des vorbereiteten Ablaufs. Hier nur lesbar: Das Vorbereiten geschieht auf der Karte Lauf des Einheitenbereichs.
Next.<Field> Text Ein Punkt je Metadatenfeld, das der vorbereitete Ablauf abfragt; der Zweig formt sich um, wenn die Einheit neu vorbereitet wird, und ein Feld eines anderen Ablaufs liest sich als Lücke. Ein Feld von Hand (Text oder numerisch) ist ein beschreibbarer Punkt des Vorbereitens, und genau darauf schreibt eine daran gebundene Komponente Eingabefeld. Ein fortlaufendes Feld ist eine nur lesbare Vorhersage der Kennung, die der Zähler jetzt zusammensetzen würde; sie zu lesen reserviert sie nie.

Das Vorbereiten gilt stationsweit, liegt im Arbeitsspeicher und ist flüchtig: Es wird zurückgesetzt, wenn die Anwendung startet, und von Start verbraucht statt geleert.

Produktivität

Zwei Zeiträume, Today (seit Mitternacht Ortszeit) und Rolling (das auf dem Modell oder auf der Einheit erklärte Fenster), jeder mit drei Zweigen (Produktivität):

Zweig Punkte Typ
Summary ProductivityPercent, YieldPercent, TypicalElapsedSeconds Dezimalzahl; eine Lücke, bis der Nenner besteht.
Summary Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed Ganzzahlige Zählungen.
Outputs.<key> Quantity, RatePerHour Dezimalzahl; ein Schlüssel je benannter Menge oder je produktivem Ablauf, wenn das Modell keine Menge erklärt.
Procedures.<key> Quantity, RatePerHour und die Punkte der Zusammenfassung oben Wie oben, je produktivem Ablauf.

Die Schlüssel leiten sich aus der stabilen Kennung und der eingefrorenen Ausbringungseinheit ab und nicht aus dem Anzeigenamen, eine Umbenennung verschiebt also nie einen Ausdruck. Jeder Punkt ist nur lesbar, und die Projektion wird aus dem Laufindex gelesen, nie aus Laufdateien.

LastRun

Die Aufzeichnung des letzten Laufs, den die Einheit beendet hat: welcher es war, wie er endete, was der Bediener beim Start eingegeben hat und wie jedes Kriterium ausging. Das liest eine bei Laufabschluss ausgelöste Aktion aus Logic (Aktionen), und jeder andere Verbraucher liest es genauso: ein Bild, das das letzte Teil zeigt, ein Alarm, die Server der Station. Jeder aufgezeichnete Lauf der Einheit zählt, auch ein gescheiterter und eine Momentaufnahme oder ein Jetzt bewerten; ein importierter Lauf zählt nie.

Punkt Typ Bedeutung
RunId Text Die Kennung des Laufs.
Procedure Text Der Name des Ablaufs, so wie der Lauf ihn aufgezeichnet hat.
Status Text Completed, Aborted oder Failed, genau so geschrieben.
Verdict Text Ok, Nok, Indeterminate oder None, geschrieben wie bei Procedure.Verdict; ein gescheiterter Lauf liest None.
StartedAt, FinishedAt Datum und Uhrzeit Wann der Lauf gestartet ist und wann er endete.
Elapsed Dezimalzahl Sekunden vom Start bis zum Ende.
CycleCount Ganzzahl Die Zyklen des Laufs (1 bei einem einzigen Durchgang).
FailedCycles Ganzzahl Die mit NOK beurteilten Zyklen.
Metadata.<Field> Text Ein Punkt je Metadatenfeld des Modells: der Wert, den der Lauf beim Start eingefroren hat. Ein Feld, das der Lauf nicht abgefragt hat, liest eine Lücke; ein leer gelassenes Feld liest sich als leerer Text.
Evaluations.<Evaluation>.<Criterion>.<point> Wie unten Ein Ordner je Bewertung des Modells und darunter einer je Kriterium, benannt nach dem Namen des Kriteriums, oder nach dem seines Kanals, wenn es keinen hat.

Jedes Kriterium trägt ein Ergebnis, über alle Zyklen gefaltet, in denen es beurteilt wurde, daher ist die Adresse dieselbe für einen einzigen Durchgang und für einen Lauf von hundert Zyklen:

Punkt Typ Bedeutung
Outcome Text Ok, Nok oder Indeterminate, genau so geschrieben: ein NOK-Zyklus ergibt Nok, sonst ergibt ein unbestimmter Zyklus Indeterminate, sonst Ok.
Passed Wahrheitswert Nur wahr, wenn Outcome Ok ist.
Value Dezimalzahl Der gemessene Wert des beobachteten Kanals: der letzte bewertete Abtastwert des Fensters, im Modus Ein Messwert der beurteilte, aus dem jüngsten Zyklus, der einen gemessen hat.
MinValue, MaxValue Dezimalzahl Der kleinste und der größte bewertete Wert, über alle Zyklen.
Limits Text Die Grenzen, wie sie aufgezeichnet wurden, etwa 5 .. 45.
WorstExcursion Dezimalzahl Der größte Abstand jenseits einer Grenze, über alle Zyklen.
FailedCycles Ganzzahl Die Zyklen, die dieses Kriterium mit NOK beurteilt haben.

Der Zweig hat die Form des Modells, nie die Form des letzten Laufs: Jedes Metadatenfeld des Katalogs und jedes Kriterium jeder Bewertung ist ein Punkt, daher besteht ein Skript, das einen davon nennt, die Prüfung vor jedem Lauf, und nach einem Lauf eines Ablaufs, der nach einer anderen Bewertung beurteilt hat.

Situation Was die Punkte lesen
Noch kein Lauf der Einheit ist beendet Eine Lücke mit schlechter Qualität, in jedem Punkt.
Ein Lauf endet Die neue Aufzeichnung, bereits an ihrem Platz, bevor Procedure.Status der Einheit sagt, dass der Lauf beendet ist.
Ein anderer Lauf der Einheit läuft Die vorige Aufzeichnung, bis dieser Lauf endet.
Die Anwendung startet erneut Der letzte beendete Lauf der Einheit, kurz nach dem Start aus seiner Laufdatei zurückgelesen; eine Lücke, bis er gelesen ist.
Ein Kriterium, das der letzte Lauf nicht beurteilt hat (einer anderen Bewertung, oder seither angelegt) Eine Lücke in jedem Punkt.
Zwei Bewertungen, oder zwei Kriterien, deren Namen sich gleich lesen Nichts: Die Adresse löst zu keinem der beiden auf, und die Seite der Bewertung sagt es (Bewertungen).

Ein Metadatenfeld, eine Bewertung, ein Kriterium oder den Kanal eines Kriteriums ohne Namen umzubenennen verschiebt diese Adressen wie jede andere Umbenennung auf dieser Seite.

Was ein Skript darf

Skripte von Variablen, Alarmen und Aktionen aus Logic dürfen hier alles lesen: Kanalwerte, Laufzustand, Bereitschaft der Befehle, vorbereitete Werte, den letzten Lauf und Punkte der Produktivität. Sie können keinen Befehl absetzen, kein Feld des Vorbereitens schreiben und keinen Kommentar anhängen; diese Schreibvorgänge gehören den ausdrücklichen Verbrauchern der Befehle: den Bedienbereichen, den Schaltflächen und Eingabefeldern auf Dashboards, der Automatik der Einheit und den Werkzeugen des Agenten.

Ein Kanalpunkt liest sich als die typisierte Projektion aus Kanäle; jeder andere Punkt hier liest sich als sein reiner Wert, ohne .Value dahinter, anders als eine Variable:

if (Process.Oven_soak.Oven_1.LastRun.Verdict === "Ok") {
  Variables.Last_serial = Process.Oven_soak.Oven_1.LastRun.Metadata.Serial;
}