Variablen
Der Editor einer Variablen, Karte für Karte: Identität und Adresse, die Arten Ausdruck und Merker, die Ausgabetypen, die laufende Karte Wert, Wert setzen, Qualität und Remanenz, die Befehle und was der Editor ablehnt.
Eine Variable ist ein typisierter Wert, den die Station berechnet oder hält, unter Variables über ihren Ordnerpfad und ihren bereinigten Namen adressiert. Wählen Sie eine Zeile einer Variablen in der Spalte von Logic (oder legen Sie eine mit Neu… > Neue Variable oder mit Neue Variable an einem Ordner an), um ihren Editor zu öffnen. Der Editor setzt Logic anzeigen zum Lesen voraus, Logic konfigurieren, um irgendein Feld zu ändern, und Logic bedienen, um einen Wert eines Merkers zu schreiben.
Die Kopfzeile des Bereichs zeigt die Marke der Zeile (die Marke eines Ausdrucks oder eines Merkers), den Namen und eine Zeile je Art: "Ein Wert, den diese Station aus einem Ausdruck über dem Adressraum berechnet, in jedem Zyklus neu." oder "Ein Wert, den diese Station hält: geschrieben von einem Skript, einem Dashboard oder Ihnen, und überall über seine Adresse lesbar." Die Spalte des Formulars enthält die Karte IDENTITÄT und dann den Editor AUSDRUCK oder die Karte MERKER; die Schiene rechts enthält WERT und, bei einem Ausdruck, GELESENE PUNKTE.
Identität
| Feld | Was es ist | Werte / Standard | Wirkung |
|---|---|---|---|
| Name | Der angezeigte Name; sein bereinigtes Segment ist die letzte Ebene der Adresse. | Freier Text; eine neue Variable heißt VariableN. |
Wird über das sichere Umbenennen übernommen (unten). Ein leerer Name wird abgelehnt ("Ein Name der Variablen ist erforderlich."). |
| Zeile mit der Adresse | Die Adresse, auf die die Variable antwortet, unter dem Namen wiederholt: die Wurzel des Abschnitts, die Ordnerebenen, das Segment. | Wird nur gelesen. | Folgt dem Namen, während Sie tippen; der Teil des Ordners ändert sich nur über Verschieben nach im Baum. |
| Art | Wie der Wert entsteht. | Ausdruck (Standard) oder Merker. | Auf Merker zu wechseln setzt den Wert aus dem Anfangswert neu; auf Ausdruck zu wechseln leert ihn zu einer Lücke, bis der nächste Zyklus läuft. |
| Ausgabetyp | Die Kategorie, in die jedes Ergebnis und jeder Schreibvorgang gewandelt wird. | Wahrheitswert, Ganzzahl, Dezimalzahl (Standard), Zeichenkette, Datum und Uhrzeit, Bild, Icon, Farbe. | Ihn zu ändern setzt eine Variable der Art Merker neu (und speichert den Anfangswert, wenn sie remanent ist) oder leert eine Variable der Art Ausdruck zu einer Lücke; die Vorschau löst unter dem neuen Typ neu auf. |
| Einheit (wahlweise) | Die technische Einheit, neben dem Wert gezeichnet. | Freier Text, standardmäßig leer. | In der Karte WERT gezeigt und in Skripten als .EngineeringUnit lesbar. |
| Beschreibung (wahlweise) | Freier Text. | Standardmäßig leer. | Keine bei der Auswertung. |
Name und Adresse
Das Feld Name ist ein Umbenennungsfeld: Tippen bleibt örtlich, eine Zeile unter dem Feld zeigt nach einer kurzen Pause die Auswirkung ("Verweise werden geprüft…", dann "Das Umbenennen aktualisiert die 3 Stellen, die diese Adresse lesen.", "Keine Verweise nutzen die aktuelle Adresse." oder "Die wirksame Adresse ändert sich nicht; kein Verweis muss aktualisiert werden.", wenn der neue Name auf dasselbe Segment führt), und die Eingabetaste oder das Verlassen des Feldes übernimmt. Die Übernahme benennt die Variable um, schreibt jeden Ausdruck, jedes Skript, jede Bedingung und jede Verknüpfung im Dashboard um, die die alte Adresse verwendet hat, behält den laufenden Wert und die Bindungen der Kanäle (ein Kanal bindet über den festen Schlüssel der Variablen, nie über ihren Namen) und meldet "Variable umbenannt und N Verweise aktualisiert." Ein Name, der auf seiner Ebene zusammenstößt, wird an Ort und Stelle abgelehnt: "'X' antwortet bereits auf 'Variables.X'. In einem Ordner abgelegte Namen müssen auf verschiedene Segmente führen." Die Regeln der Schreibweise und des Zusammenstoßens stehen auf Der Adressraum.
Ausdruck
Gezeigt, solange die Art Ausdruck ist: der Editor AUSDRUCK mit seiner Schaltfläche Durchsuchen… und dem Hinweis "Ein einzelner JavaScript-Ausdruck über dem Adressraum (z. B. Connector.Simulated.Pump.Flow.ValueToReal() * 0.1, Variables.Setpoint.Value). Für eine Ausgabe Bild, Icon oder Farbe geben Sie eine Adresse unter Assets.Images, Assets.Icons oder Assets.Colors zurück (z. B. Variables.Level.Value > 50 ? Assets.Colors.Red : Assets.Colors.Green). Tippen Sie, um zu vervollständigen, oder wählen Sie mit Durchsuchen…" Der Text speichert bei jedem Tastendruck automatisch und wird jede halbe Sekunde geprüft; ein Problem erscheint in der Karte WERT. Die Sprache, die Lesefläche und jede Regel stehen auf Ausdrücke. Der Text des Ausdrucks bleibt erhalten, wird aber übergangen, solange die Art Merker ist.
Merker
Gezeigt, solange die Art Merker ist.
| Feld | Was es ist | Werte / Standard | Wirkung |
|---|---|---|---|
| Anfangswert | Der Startwert, als Text. Darunter: "Beim Start nach dem Ausgabetyp gelesen. Leer lassen für keinen Wert." | Beliebiger Text, standardmäßig leer. | Wird nach dem Ausgabetyp gelesen, wenn die Variable angelegt wird, wenn die Art oder der Ausgabetyp wechselt und bei jedem Start einer nicht remanenten Variablen. Leer bedeutet keinen Wert: Die Variable beginnt als Lücke. Text, der sich nicht lesen lässt, wird in der Karte WERT gekennzeichnet ("Der Anfangswert ließ sich nicht als Dezimalzahl lesen.") und setzt eine Lücke. |
| Remanent: der zuletzt geschriebene Wert übersteht Neustarts | Ob Schreibvorgänge gespeichert werden. | Standardmäßig aus. | Eine remanente Variable wird etwa eine Sekunde nach dem Ende der Schreibvorgänge gespeichert und nie später als fünf Sekunden nach dem ersten noch nicht gespeicherten Schreibvorgang; die Runtime zu stoppen schreibt weg, was aussteht. Beim nächsten Start wird der gehaltene Text unter dem aktuellen Ausgabetyp gelesen; lässt er sich nicht mehr lesen, wird stattdessen der Anfangswert verwendet. Eine nicht remanente Variable geht beim Start auf den Anfangswert zurück. |
Wert setzen
Das Feld Wert setzen und seine Schaltfläche Schreiben werden nur für eine Rolle mit Logic bedienen gezeichnet und sind mit "Runtime gestoppt" ausgegraut, solange die Station nur lesend ist; die Projektierungssperre rührt sie nicht an. Tippen Sie einen Wert und drücken Sie Schreiben: Der Text wird nach dem Ausgabetyp gelesen; Text, der sich nicht lesen lässt, wird abgelehnt ("'abc' ließ sich nicht als Ganzzahl lesen."), und es wird nichts geschrieben; ein leeres Feld schreibt keinen Wert, was die Variable zurück auf eine Lücke setzt. Der Schreibvorgang läuft über den einen Kanal: Er wird abgelehnt, solange ein laufendes Rezept oder eine Verriegelung die Variable hält ("'Variables.X' ist von '<Halter>' schreibgeschützt."), als alter auf neuen Wert unter der Quelle Bediener protokolliert, auf der Warteschlange der Logik angewendet und für die Remanenz vorgemerkt, wenn die Variable remanent ist. Das Aktionsprotokoll sagt "Wert geschrieben." Das Feld ist keine Anzeige; die Karte WERT ist es.
Ausgabetypen
| Ausgabetyp | Trägt | Hinweise |
|---|---|---|
| Wahrheitswert | wahr oder falsch | Über einen Kanal aufzeichenbar und darstellbar |
| Ganzzahl | eine 64-Bit-Ganzzahl | Aufzeichenbar und darstellbar |
| Dezimalzahl | eine reelle Zahl doppelter Genauigkeit | Aufzeichenbar und darstellbar; die Anzeige zeigt zwei Nachkommastellen |
| Zeichenkette | freier Text | |
| Datum und Uhrzeit | ein Zeitpunkt | Im Datums- und Zeitformat der Station gezeigt |
| Bild | die ID eines Assets, als Text | Ausgabe zur Darstellung: Der Ausdruck gibt eine Adresse unter Assets.Images.* zurück |
| Icon | ein Zeichen oder SVG-Markup, als Text | Ausgabe zur Darstellung: geben Sie eine Adresse unter Assets.Icons.* zurück |
| Farbe | eine Hexfarbe, als Text | Ausgabe zur Darstellung: geben Sie eine Adresse unter Assets.Colors.* zurück |
Die Wandlung ist dieselbe großzügige Umrechnung, die auch der Rest der Anwendung verwendet: Text wird gelesen, Zahlen werden gerundet oder gewandelt, und was sich nicht wandeln lässt, wird zu keinem Wert. Eine Variable der Art Merker mit einem Typ zur Darstellung hält das Literal, das Sie schreiben (eine ID eines Assets, ein Zeichen, einen Hexwert). Die drei Ausgaben zur Darstellung gibt es für Dashboards, wo die verknüpfte Komponente Bild, Icon oder Symbol zeichnet, worauf die Variable gerade auflöst; die Adressen, die sie zurückgeben, sind unter Assets aufgeführt.
Die Karte Wert
Die Schiene WERT zeigt den aktuellen Wert, zweimal je Sekunde aufgefrischt: bei einem skalaren Typ die Anzeige mit der Einheit daneben, bei Bild das Bild, bei Icon das Zeichen in seiner Größe, bei Farbe das Farbfeld mit seinem Hexwert. Eine Lücke wird als Strich gezeichnet. Bei einer Variablen der Art Ausdruck zeigt die Karte den Entwurf, den Sie gerade tippen, mit den aktuellen Werten ausgewertet, bevor der Zyklus ihn aufnimmt; solange der Ausdruck ungültig ist, bleibt die Anzeige ein Strich, und die Prüfmeldung erscheint in der Karte (ein Namenskonflikt wird auch hier gemeldet, wobei ein schlechter Name die Vorschau nie anhält). Unter der Anzeige eines skalaren Werts sagt die Karte "Binden Sie auf der Seite Erfassung einen Kanal an diese Variable, um sie aufzuzeichnen."; die Bindung entsteht auf dem Bild Kanäle eines Modells von Process.
Bei einer Variablen der Art Ausdruck führt die Karte GELESENE PUNKTE jede Adresse auf, die der Ausdruck nennt, mit ihrem aktuellen Messwert, und "?", wenn die Adresse nicht mehr auflöst, eine schlechte Eingabe ist also auf einen Blick sichtbar.
Qualität
Der Wert einer Variablen ist entweder ein typisierter Wert oder überhaupt kein Wert (eine Lücke). Ein Punkt ist nur dann gut, wenn sein eigener Wert existiert: Eine Variable der Art Merker ist gut, sobald sie einen Wert hält, und ein leerer Startwert ist bis zum ersten echten Schreibvorgang eine Lücke; eine Variable der Art Ausdruck trägt die Qualität ihrer letzten Auswertung, fehlt also irgendein gelesener Punkt oder ist er schlecht oder ohne Wert, wird der Ausdruck nicht ausgewertet, und die Variable wird zu einer Lücke schlechter Qualität. Ein leerer Messwert wird nie stillschweigend zu null. Skripte lesen die Qualität als .State(); ein Kanal, der an die Variable gebunden ist, zeichnet die Lücke als Lücke auf.
Befehle
| Befehl | Wirkung | Ausgegraut, wenn | Nicht gezeichnet, wenn |
|---|---|---|---|
| Kopieren | Verdoppelt die Variable an die Wurzel Variables unter einem freien Namen (Name (2)…) und öffnet die Kopie; die Kopie hat einen frischen Schlüssel, es ist also noch kein Kanal an sie gebunden. |
Station gesperrt oder nur lesend. | Der Rolle fehlt Logic konfigurieren. |
| Variable löschen | Fragt "'X' löschen? Damit verschwindet die Variable. Verweise auf ihre Adresse werden unauflösbar. Das lässt sich nicht rückgängig machen." und löscht sie dann samt ihres remanent gehaltenen Werts. | Station gesperrt oder nur lesend. | Der Rolle fehlt Logic konfigurieren. |
| Verschieben nach (Rechtsklick) | Legt die Variable in einem anderen Ordner oder an der Wurzel ab; die Adresse und jeder Verweis folgen. | Station gesperrt oder nur lesend. | Der Rolle fehlt Logic konfigurieren. |
Eine Variable hat kein Aktivieren und kein Deaktivieren: Sie wird immer ausgewertet oder immer gehalten.
Was der Editor ablehnt
- Einen leeren Namen oder einen Namen, dessen Segment auf seiner Ebene schon vergeben ist.
- Einen Ausdruck, der nicht ein einzelner, nur lesender JavaScript-Ausdruck ist, der einen Punkt nennt, den es nicht gibt, oder eine andere Variable der Art Ausdruck, oder der bei einer Probeauswertung fehlschlägt (die genauen Meldungen stehen auf Ausdrücke).
- Einen Anfangswert oder einen Wert unter Wert setzen, der sich unter dem Ausgabetyp nicht lesen lässt, und jeden Wert, der NaN oder unendlich ist.
- Jede Änderung, solange die Station durch einen Lauf gesperrt oder gestoppt ist: Das Feld lädt auf das zurück, was die Station hält, und das Aktionsprotokoll sagt, warum.
Was der Editor nicht tut
Er stellt nichts dar und zeichnet nichts auf (das tut ein Kanal), schreibt keine Tags (ein Skript oder ein Bedienelement im Dashboard trägt einen Wert eines Merkers weiter), verweist nicht auf andere Variablen der Art Ausdruck, führt keine Historie der Werte und speichert einen nicht remanenten Wert nicht über einen Neustart hinweg.