Skripts in Grafiken

Im Evaluationseditor können Sie Ausdrücke basierend auf den Berechnungen und Ergebnissen mehrerer Datenpunkte oder Eigenschaften erstellen. Diese Ausdrücke werden erstellt, wenn Sie im Dropdown-Menü Typ im Bereich Ausdruck des Editors die Option Script wählen. Sie können die Berechnungen auch auf das Feld Bedingung anwenden. Die Skript-Ausdrücke verwenden die JavaScript-Syntax basierend auf dem ECMA-Standard für JavaScript (Standard ECMA-262 5.1 Edition.)

Die Statements der Methoden Read, ReadCnsDescription und Trace wurden speziell für die Arbeit mit dem System erstellt:

  • Die Methode Read erlaubt Ihnen, den aktuellen Wert des angegebenen Datenpunkts abzurufen.
  • Die Methode ReadCndDescription ermöglicht Ihnen, die aktuelle Beschreibung des angegebenen Datenpunkts abzurufen.
  • Mit der Methode Trace können Sie eine Trace-Nachricht an das Graphics.Scripting-Modul des Trace-Kanals protokollieren. Um diese Grafik-Skripte für Trace-Meldungen anzuzeigen, müssen Sie in der Applikation Trace-Viewer das Trace-Modul aktivieren.

Skript-Ausdrücke sind nützlich, wenn Sie Grafiken erstellen, die sich ändernde Werte darstellen, zum Beispiel einen Sensor oder positiven und negativen Luftdruck im Raum. Sie können auch die Skript-Funktion verwenden, um einen Ausdruck für einen Grundriss zu erstellen, der eine Farbänderung je nach Abstand der Bereichstemperatur vom Sollwert verursacht. Skript-Beispiele finden Sie unter Skript-Szenario.

Globale Anwendung von lokalen Variablen und Funktionen

Alle Grafikskripte innerhalb des gleichen Systemmanagers verwenden das gleiche Skriptmodul. Das heisst, dass alle lokalen Variablen und Funktionen die gleiche globale Reichweite haben.

Beispiel: Eine Grafik enthält zwei Textelemente:

Textelement 1 ist das Skript: var x=3; x;

Textelement 2 ist das Skript: var y=x+1; y;

Ein mögliches Ergebnis für den Wert der Textelementskripte ist: 3 für Textelement 1 und 4 für Textelement 2. Die resultierenden Werte hängen jedoch von der Reihenfolge ab, in der die Skripte ausgeführt werden, und diese kann nicht festgelegt werden. Wenn das Skript für Textelement 2 das nächste Mal ausgeführt wird, kann das Ergebnis für den Wert einen Fehler ausgeben, der angibt, dass x nicht definiert ist.

Hinweis:
Die Verwendung von Variablen in einem Skript ist kein Problem, selbst wenn zwei Skripte auf der gleichen Grafik den gleichen Variablennamen nutzen. Skripte werden nicht durch andere Skripte unterbrochen, sodass die Variable während der Ausführung unverändert bleibt.

 

Grundlegende Regeln für Variablen und IDs

Eine Variable dient beim Programmieren und in JavaScript als Speichermöglichkeit für einen Wert. Alle Variablen müssen in Ihrem Skript mit eindeutigen Namen identifiziert sein. Diese eindeutigen Namen werden IDs genannt.

Im Folgenden finden Sie einige Regeln für den Aufbau von Namen für Variablen und ihre eindeutigen IDs.

  • Kann Buchstaben, Zahlen, Unterstriche (_) und Dollarzeichen ($) enthalten
  • Muss mit einem Buchstaben beginnen
  • Kann auch mit $ und _ beginnen
  • Gross-/Kleinschreibung zu beachten
  • Leerzeichen nicht zulässig

 

Anforderungen an Skript-Ausdrücke

  • JavaScript-Objekte sind Zeichenketten, Zahlen, mathematische Operatoren, Arrays usw.
  • Die Ausdrücke unterstützen die folgenden Operatoren: +,-,*,/, %, ++ und – sowie gängige Operationen wie math.abs(), math.max(), math.min(), math.sqrt(), math.average(), math.sum() usw.
  • Ein Skript-Ausdruck wird evaluiert, wenn eine Grafik geladen wird oder sich der Wert eines Datenpunkts ändert.
  • Sie können eine Datenpunktreferenz mit der Maus aus dem System Browser in jeden Bereich des Felds Skript ziehen. Wenn Sie eine Datenpunktreferenz mit der Maus ziehen, wird sie automatisch mit der Read-Methode eingefügt. Weitere Informationen hierzu finden Sie im Abschnitt Read() Drag & Drop.
  • Verwenden Sie in einem Skript keine globalen Daten, ohne die Daten im gleichen Skript zu deklarieren und zu initialisieren.
  • Fehler in der Skriptsyntax werden durch einen roten Rahmen um das Feld Ausdruck und einen Tooltip mit dem eigentlichen Fehler gekennzeichnet. Ebenso wird eine Trace-Warnmeldung protokolliert.

 

Referenztabellen für Skripts

Die folgenden Tabellen geben eine kurze Übersicht über einige Ausdrücke, die Sie mit der Skriptfunktion schreiben können. Konsultieren Sie beim Erstellen eigener Skripts diese Tabellen.

Read-Methode

Die Methoden Read, ReadCnsDescription, und Trace sind drei Statements, die insbesondere für die Arbeit mit dem System entworfen wurden. Mit der Methode Read können Sie den aktuellen Wert des angegebenen Datenpunkts abrufen; mit ReadCnsDescription können Sie den aktuellen Wert des angegebenen Datenpunkts abrufen; und mit der Methode Trace können Sie eine Trace-Nachricht an das Graphics.Scripting-Modul des Trace-Kanals protokollieren. Um diese Grafik-Skripte für Trace-Meldungen anzuzeigen, müssen Sie in der Applikation Trace-Viewer das Trace-Modul aktivieren.

Read-Methode

Ausdruck

Resultat

Read("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;")

Zeigt den aktuellen Wert des Datenpunkts an.

Lesen("{*}")

Zeigt den Wert der Objektreferenz an.

Read("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;.Value") - Read("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;.SetPoint")

Zeigt den Unterschied zwischen den beiden Eigenschaften des Datenpunkts an.

(Read("System1.LogicalView:Logical.Site'AS01.A;.Value") +
Read("System1.LogicalView:Logical.Site'AS01.B;.Value")/ 2

Zeigt den Durchschnittswert der beiden Eigenschaften an.

Unterstützung von Drag & Drop für Read()

Sie können eine Datenpunktreferenz mit der Maus aus dem System Browser in jeden Bereich des Felds Skript ziehen. Sie wird automatisch mittels der Read()-Methode eingefügt, ausser Sie drücken die Taste UMSCHALT.

Die Abbildung unten zeigt das Ziehen einer Datenpunktreferenz in das Feld Ausdruck des Evaluationseditors für eine Evaluation eines Skripts.

Die Read-Methode wird dadurch direkt auf den eingefügten Datenpunkt angewendet:

? ?-Operator in der Read-Methode

In der Read-Methode kann das Fragezeichen als Teil der Datenpunktbezeichnung verwendet werden. Wenn mindestens eine Bezeichnung mit einem Fragezeichen endet, ist das Element verborgen, wenn ein Datenpunkt, der von der aktuellen Read-Methode referenziert wird, nicht existiert. Siehe letztes Beispiel in folgender Tabelle.

? in der Read-Methode

Ausdruck

Resultat

Read("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;?-1")

Der aktuelle Wert des Datenpunkts, wenn er existiert.

1 - wenn der Datenpunkt nicht existiert.

Read("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;?")

Der aktuelle Wert des Datenpunkts, wenn er existiert.

Das Element wird im Zeichenbereich verborgen, wenn der Datenpunkt nicht existiert.

Read("{*dp1}?{*dp2}?99")

Ausdruck in einem Symbol: Gibt den Wert von Datenpunkt 1 oder Datenpunkt 2 zurück.

99. Wird angezeigt, wenn weder der Datenpunkt noch die Eigenschaft existiert.

Read("xyz?dp1") + Read("xyz?abc?4")

Der Wert des Datenpunkts 1 + 4.

Read("dp1?") + Read("xyz")

Null. Das Element wird verborgen, auch wenn Datenpunkt 2 existiert.

 

Methode ReadCnsDescription

Die Read()-Methode meldet den aktuellen Wert des angegebenen Datenpunkts zurück, wenn der Pfad des Datenpunkts in Klammern eingeschlossen ist. In diesem Fall ist der angegebene Datenpunkt eine Zeichenkette. In Ausdrücken müssen alle Zeichenfolgen in Anführungszeichen eingeschlossen werden. Es ist wichtig, doppelte Anführungszeichen (") zu setzen, da Datenpunktbezeichnungen bereits einfache Anführungszeichen (') enthalten können.
Hinweis: In der Ansicht Texteigenschaften muss die Eigenschaft Texttyp auf Folgendes eingestellt werden: Rohwert. Der Datenpunkt muss online sein. Wenn der Datenpunkt offline (#COM) ist, wird der Datenpunkt im Skript nicht verarbeitet.

Die Beschreibung wird basierend auf der Ansicht, in der sich der Datenpunkt befindet, dynamisch aktualisiert. Daher kann die für einen Datenpunkt zurückgegebene Beschreibung variieren.

Methode ReadCnsDescription

Ausdruck

Resultat

ReadCnsDescription("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;")

Zeigt den aktuellen Beschreibung des Datenpunkts an.

ReadCnsDescription("{*}")

Zeigt die Beschreibung der Objektreferenz an.

ReadCnsDescription ("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;.Value") + ReadCnsDescription ("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;.SetPoint")

Zeigt die Verknüpfung zwischen den zwei oder mehr Eigenschaften des Datenpunkts an.

Hinweis: Sie können Strings nur zusammenfügen (+); Sie können den Subtraktionsoperator (-) nicht verwenden.


? Operator in der ReadCnsDescription-Methode

In der ReadCnsDescription-Methode kann das Fragezeichen (?) als Teil der Datenpunktbezeichnung verwendet werden. Wenn mindestens eine Bezeichnung mit einem Fragezeichen endet, ist das Element verborgen, wenn ein Datenpunkt, der von der aktuellen Read-Methode referenziert wird, nicht existiert. Siehe letztes Beispiel in folgender Tabelle.

? in der Methode ReadCnsDescription

Ausdruck

Methode Result

ReadCnsDescription("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;?-1")

Die aktuelle Beschreibung des Datenpunkts, wenn er existiert.

1 - wenn der Datenpunkt nicht existiert.

ReadCnsDescription ("System1.LogicalView:Logical.Site'AS01.B.Ahu10.FanSu;?")

Die aktuelle Beschreibung des Datenpunkts, wenn er existiert.

Das Element wird im Zeichenbereich verborgen, wenn der Datenpunkt nicht existiert.

ReadCnsDescription ("{*dp1}?{*dp2}?99")

Ausdruck in einem Symbol: Gibt die Beschreibung von Datenpunkt 1 oder Datenpunkt 2 zurück.

99 zeigt an, wenn weder der Datenpunkt noch die Eigenschaft existiert.

ReadCnsDescription("xyz?dp1") + Read("xyz?abc?4")

Die Beschreibung von Datenpunkt 1 verkettet mit dem Read-Ergebnis.

ReadCnsDescription("dp1?") + Read("xyz")

Null. Das Element wird verborgen, auch wenn Datenpunkt 2 existiert.

 

Trace-Methode

Der Channel Graphic.Scripting muss im Trace-Viewer aktiviert sein, damit die Trace-Methode funktioniert. Weitere Informationen zum Aktivieren eines Trace-Channels finden Sie im Abschnitt Hilfe des Trace-Viewers.

Trace-Methode

Ausdruck

Resultat

Var x = 1 +2;

Trace("Wert ist" + x);

3 und die Zeichenkette Wert ist 3 werden unter Nachrichtentext im Trace-Viewer protokolliert.

Geläufige JavaScript-Beispiele

Die Tabelle unten enthält geläufige JavaScript-Beispiele. Beachten Sie, dass "//" nicht Teil der Syntax ist. In JavaScript werden Kommentare mit "//" gekennzeichnet.

Geläufige JavaScript-Beispiele:

Ausdruck

Resultat

math.abs(3.4) // absolute

3

math.average (10, 20) // average

15

math.max (1.5, 2) // maximum

2

math.min(1.5,2) // minimum

1.5

math.sum (1,2,3) // sum

6

12%5 // % (modulus)

2

math.sqrt(9) // square root

3

var str = "Hello";

str.index0f("el");

1

var value = ["A"; "B", "C"];

value[1] + "." + values.length

"B.3"

Typkonvertierung

Die Typkonvertierung

Ausdruck

Resultat

7 > 2 * 3

True. Speichern unter: 7 > (2*3)

(7 > 2) * 3

3, weil True in 1 konvertiert wird

Geschweifte Klammern und Ersetzungen

Geschweifte Klammern sind für Ersetzungen reserviert, und die Ersetzungen werden aufgelöst, bevor das Skript evaluiert wird. Daher werden, wenn eine geschweifte Klammer Teil des Skripts ist, zwei geschweifte Klammern verwendet.

Geschweifte Klammern/Ersetzungen

Ausdruck

Resultat

var result = 1;

if (true)

{{

   var x = 2;

   result += x;

}}

result;

3

var f1 = function()

{{

   var result="a";

   if (false)

   return "x";

   return result + "b";

}}

f1();

Ab

var result = 1;

try

{{

   throw("my error");

   result = 2;

}}

   catch (e)

{{

   Trace(e);

   Ergebnis = 3;

}}

result;

3 und die Meldung my error ist aufgezeichnet.


Grafikeditor - Gegenüberstellung von Skript und Referenz

Die Ausführung eines Skripts ist im Allgemeinen langsamer als die Auswertung eines Referenzausdrucks. Versuchen Sie, die Nutzung von Skripts nach Möglichkeit einzuschränken.

Empfehlungen für Systemspezialisten:

  • Verwenden Sie Skripts für ein Symbol in einer Grafik. Wenn ein Symbol, inklusive aller verschachtelten Symbole, mehr als 5 Mal in einer Grafik angezeigt wird, sollte allerdings kein Skript genutzt werden.
  • Verwenden Sie Skripts, um Elemente aus einem Symbol zu entfernen.
  • Verwenden Sie Skripts, um die Anzahl der Platzhalter, Evaluationen oder Bedingungen zu reduzieren.
  • Beschränken Sie die Anzahl der Read()-Aufrufe.
  • Beschränken Sie die Anzahl der if- oder while-Statements. Skripte sollten nicht komplex sein.
  • Wenn eine Aufgabe mit einem Referenzausdruck ausgeführt werden kann, sollten Sie diesen anstelle eines Skriptausdrucks verwenden. Siehe auch das Beispiel für die Gegenüberstellung von Referenz und Skript.

Beispiel für die Gegenüberstellung von Skript und Referenz

In diesem Beispiel ist das Ziel, das Element in der Grafik zu verbergen, wenn der Wert eines bestimmten Datenpunkts (dp1) grösser als 25 ist. Die Elementeigenschaft Sichtbar empfängt die Auswertung des Ausdrucks, und abhängig vom Wert des Datenpunkts ist das Element in der Grafik sichtbar oder unsichtbar.

Im ersten Beispiel wird ein Skriptausdruck für dieses Szenario dargestellt.

Unten sehen Sie die gleiche Evaluation, bei der stattdessen ein einfacher Referenzausdruck verwendet wurde.

In diesem Beispiel ist der Referenzausdruck effizienter als der Skriptausdruck.

 

Grafikeditor –Skript-Timeout

Alle Skripts im gleichen Systemmanager werden nacheinander ausgeführt. Sie können daher andere Grafiken, die ebenfalls Skripts enthalten, verlangsamen. Um zu verhindern, dass Skripts verzögert oder durch Skripts in anderen Grafiken blockiert werden, hat jedes Skript eine maximale Ausführungszeit von 4 Sekunden. Danach wird das Skript gestoppt und gibt wie folgt einen Nullwert zurück:

  • Textelementanzeige: #COM
  • Traceanzeige: WARNUNG

 

Skript-Szenario: Farbe des Grundrisses ändern

Sie können Bereiche im Grundriss erstellen, deren Farbe sich abhängig von der Abweichung der Bereichstemperatur vom Sollwert ändert. Hierzu zeichnen Sie ein Polygon-, Rechteck- oder Pfad-Element auf der Grundrissgrafik. Die in der Eigenschaft Füllfarbe angegebene Elementfarbe bestimmt die Farbe des Raums basierend auf der Temperatur. Die Änderungen der Füllfarbe stellen einen Verlauf von blau (zu kalt) über weiss (genau richtig) bis rot (zu warm) dar, jeweils bezogen auf den Sollwert.

Die folgenden Beispiele veranschaulichen die Verwendung der Skriptfunktion im Evaluationseditor, um einen Grundriss mit Farbverlauf für die gemessene Temperatur zu erstellen. Um die Verwendung von Skripts mit Eigenschaftsevaluationen vollumfänglich darzustellen, werden mehrere Beispiele angeführt. Beispiel 1: Die einfachste Evaluation unter den drei Beispielen ist die empfohlene Methode für die Verwendung eines Skripts in diesem Szenario.

Die folgenden Beispiele veranschaulichen die Verwendung der Skriptfunktion im Evaluationseditor, um einen Grundriss mit Farbverlauf für die gemessene Temperatur zu erstellen. Um die Verwendung von Skripts mit Eigenschaftsevaluationen vollumfänglich darzustellen, werden mehrere Beispiele angeführt. Beispiel 1: Die einfachste Evaluation unter den drei Beispielen ist die empfohlene Methode für die Verwendung eines Skripts in diesem Szenario.

Beispiel 1 für Skripts (empfohlen)

Dies ist die gradlinigste und einfachste Art, ein Skript in einer Evaluation zu nutzen, um eine wechselnde Füllfarbe für ein Element anzugeben. Es wird ein diskreter Evaluationstyp mit Bedingungen verwendet. Zudem wird ein Skript mit zwei Read()-Methoden genutzt. Das Skript liest die Objektreferenz für die tatsächliche Temperatur und subtrahiert den Wert für die Sollwert-Objektreferenz. Der Wert wird durch die Evaluation untersucht. Abhängig vom Wert wird die entsprechende Bedingung ausgewählt und die Füllfarbe geändert.

 

 

Beispiel 2 für Skripts

In diesem Beispiel wird ebenfalls der Evaluationstyp Diskret mit Bedingungen verwendet. Das Skript deklariert und verwendet jedoch Platzhaltervariablen, um zu bestimmen, welche Bedingung auf die Füllfarbe angewendet wird.

 

 

 

 

 

/* Die im Skript verwendeten Variablen müssen zunächst deklariert werden. Die ersten beiden Variablen sind ActualTemp und SetPointTemp.*/

var ActualTemp = Read("{*}");

 

/*Die Ersetzung liest die Standard-Objektreferenz, indem sie nach dem von der Datenpunkteigenschaft abgeleiteten Wert sucht.*/

var SetPointTemp = Read("{SetPoint}");

 

/*Der Wert wird abgeleitet, indem danach gesucht wird, welcher Wert für die Ersetzung eingegeben wurde.*/

var TemperatureDifference = ActualTemp - SetPointTemp;

 

/*Deklariert die Variable TemperatureDifference, die dem Wert von ActualTemp minus dem Wert von SetPointTemp entspricht.*/

var ColorValue = 0;

 

/*Deklariert die Variable ColorValue, die die in der Evaluation gewählte Bedingung darstellt. Wenn ColorValue = "0", dann ist die Füllfarbe transparent.*/

if(TemperatureDifference >= 6)

{{

    ColorValue = 1;

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference grösser oder gleich 6 ist, der ColorValue auf "1" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FFCB1737 entspricht.*/

else if (TemperatureDifference >= 4)

{{

ColorValue = 2;

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference grösser oder gleich "4" ist, der ColorValue auf "2" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FFFF0000 entspricht.*/

else if (TemperatureDifference >= 2)

{{

ColorValue = 3;

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference grösser oder gleich 2 ist, der ColorValue auf "3" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FFFFC0CB entspricht.*/

else if (TemperatureDifference <= -6)

{{

ColorValue = 4;

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference grösser oder gleich -6 ist, der ColorValue auf "4" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FFADD8E0 entspricht.*/

else if (TemperatureDifference <= -4)

{{

ColorValue = 5;

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference grösser oder gleich -4 ist, der ColorValue auf "5" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FF0000FF entspricht.* */

else if (TemperatureDifference <= -2)

{{

ColorValue = 6; /*really cold */

}}

 

/*Dieser Scope-Baustein gibt an, dass wenn der Wert von TemperatureDifference kleiner oder gleich -2 ist, der ColorValue auf "6" gesetzt wird, was im Abschnitt der Evaluationsbedingungen der Farbe #FF000080 entspricht.*/

ColorValue;

 

/*Dies steht für das Ergebnis des Skripts, das bestimmt, welcher Wert verwendet wird und welche Bedingung genutzt wird, um die Farbe der Eigenschaft Füllfarbe in der Evaluation zu bestimmen.*/

Beispiel 3 für Skripts

Dieses Beispiel zeigt eine etwas komplexere Nutzung des Skripts für das ursprüngliche Szenario. Hierin wird eine einfache Evaluation verwendet. Im Gegensatz zu den ersten beiden Beispielen werden die Felder für Bedingung in diesem Beispiel nicht verwendet. Stattdessen wird mithilfe des Skripts ein hexadezimaler Farbwert für die Füllfarbe abhängig vom Temperaturunterschied im Raum erzeugt.

 

 

 

 

/*Die Variablen für die Evaluationen sind deklariert.*/

var ActualTemp = Read("{*}");

 

/*Die Ersetzung liest die Standard-Objektreferenz, indem sie nach dem Wert der Eigenschaft eines Datenpunkts sucht.*/

var SetPointTemp = Read("{SetPoint}");

 

/*Liest den für die Ersetzung deklarierten Wert.*/

var Range = Read("RangeValue)");

 

/*Ersetzungswert RangeValue legt das Schwellenwertverhältnis fest. Liefert Backdrop für den anzuwendenden Opazitätsbereich, abhängig vom Unterschied zwischen Sollwert und tatsächlicher Temperatur.*/

var TemperatureDifference = AcutalTemp - SetPointTemp;

 

/*Definiert den Temperaturunterschied.*/

var ColorValue = "#" + "00";

/*Deklariert den Initialwert der Farbe mit initialisiertem Alpha Channel und "0" Opazität in hexadezimaler Notation.*/

 

/*Die Evaluationen beginnen.*/

if(TemperatureDifference >3)

 

/*Wenn der Temperaturunterschied grösser "3" ist. Nun wird eine Opazität für die Farbe "rot" festgelegt*/

{{

var OpacityValue = math.abs(255*ActualTemp)/Range);

 

/*absoluter Wert etabliert, um einen Opazitätswert zu erhalten.*/

 

OpacityValue = math.round(OpacityValue);

 

/*Wert auf Ganzzahl gerundet - keine Dezimalzahlen in Hexadezimal-Farbreferenzen.*/

 

if (OpacityValue > 255)

OpacityValue = 255;

 

/*OpacityValue ist auf maximal 255 begrenzt. Hexadezimalwerte liegen zwischen 1 und 255*/

 

 

 

/*Aufbau der Hexadezimal-Farbreferenz beginnt, da nun alle Variablen deklariert sind*/

 

var OpacityHexValue = OpacityValue.toString(16);

ColorValue = "#" + OpacityHexValue + "FF0000"; //red

 

/*OpacityValue ist in hexadezimalen Wert konvertiert. Die hexadezimale Notation wird geliefert und der Wert des Opazitätswerts wird der Farbe "FF0000" (rot) hinzugefügt*/

}}

 

 

/*Aufbau der Evaluation, wenn die Temperatur kleiner als 3 ist - wir sind am anderen Ende des Spektrums - in unserem Fall, um eine kältere Temperaturdifferenz mit der Farbe Blau darzustellen.*/

if(TemperatureDifference < 3)

{{

var OpacityValue = Math.abs((255 * (Range - ActualTemp)) / Range);

OpacityValue = Math.round(OpacityValue);

if (OpacityValue > 255)

OpacityValue = 255;

var OpacityHexValue = OpacityValue.toString(16);

ColorValue = "#" + OpacityHexValue + "0000FF"; //blue

}}

result = ColorValue;

 

/*Farbwert ist nun gesetzt. Gibt Wert aus, der die Eigenschaft Füllfarbe bestimmt.*/

 

Verwandte Themen

Weitere Informationen zum Arbeitsbereich finden Sie unter Evaluationseditor-Ansicht.

Informationen zu verknüpften Verfahren finden Sie unter Evaluationen definieren.

Eine alternative Vorgehensweise zum Ändern der Grundrissfarbe finden Sie unter Farbe von Elementen basierend auf Alarmbedingungen ändern.