Zurück zur Übersicht
Beschreibung
Im Dashboard-Designer bietet das Javascript-Steuerelement ein JavaScript-Editor zum Erstellen von JavaScript-Steuerelementen. Man kann mehrere Ein- und Ausgänge selbst festlegen, um mit anderen Steuerelementen zu kommunizieren.
Eigenschaften
Global
|
Das Globale-Script wird immer beim Start vom Online Modus (Dashboard-Ansicht) ausgeführt.
Hier können folgende Objekte verwendet werden:
Control
Hier sind folgende Objekte und Funktionen verfügbar. (Control kann aber auch bei Eingang und Eigenschaften verwendet werden)
Cache |
Cache wird immer beim Start des Online Modus initialisiert. In ihm lässt sich gut eigener Code implementieren. Folgende Funktion wird immer bei einem Werteingang aufgerufen.:
Control.Cache = {
//id = Die ID des Eingangs, welcher einen Wert bekommnt
//value = Das Werteobjekt, welches am Eingang ankommt
OnInput: function(id, value) { }
}
|
GetPropVal |
Mit GetPropVal kann man selbst gesetzte Eigenschaften abrufen:
//Control.GetPropVal(PropID); //PropID = id(string), hinter dem namen der Eigenschaft [ID=p1]
Control.GetPropVal("p1"); //jetzt wird der Wert der Eigenschaft "p1" abgerufen
|
SetPropVal |
Mit SetPropVal kann man Eigenschaften setzten:
//Control.SetPropVal(PropID, value); //PropID = id(string), hinter dem namen der Eigenschaft [ID=p1]
//Bsp.:
Control.SetPropVal("p1", 5); //jetzt wird der Wert der Eigenschaft "p1" auf 5 gesetzt
|
IsEnabled |
IsEnabled gibt ein Boolean zurück, der angibt ob das Javascript-Control im „Aktiviert“ Eingang aktiviert ist.
Control.IsEnabled() //liefert ein Boolean zurück
//Bsp;
if (Control.IsEnabled() == true) { }
|
OnEnabledChanged |
Hier kann gesetzt werden, was passieren soll, wenn der Status des „Aktiviert“ Eingang verändert wird.
Control.OnEnabledChanged = function(enabled) { }
|
SendOutput |
Mit SendOutput kann man die festgelegten Ausgänge ansprechen und werte versenden.
//Control.SendOutput(OutputID, value); //OutputID = id(string)
Control.SendOutput("1", value); //sendet mit dem Ausgang 1 die Variable value.
|
OnTimer |
Bei OnTimer kann man setzten, was bei jedem tick von dem Timer passieren soll.
//Bsp.:
Control.OnTimer=function(){
Control.SendOutput(1,1);
};
|
SetTimerInterval |
Mit SetTimerInterval wird angegeben, in welchem Abstand OnTimer aufgerufen wird.
//Control.SetTimerInterval(millisecond);
//Bsp.:
Control.SetTimerInterval(3000); //Alle 3 Sekunden wird OnTimer aufgerufen
|
StartTimer |
Mit StartTimer kann der Timer gestartet werden.
Control.StartTimer();
|
StopTimer |
Mit StopTimer kann der Timer gestoppt werden. Der Timer wird automatisch beim beenden des Online Modus gestoppt.
Control.StopTimer();
|
|
Eingänge erstellen
|
In den Einstellungen lassen sich beliebig viele Eingänge mit hinzufügen und mit einem Namen benennen.
Das Script, welches man in der selben Registerkarte findet, wird immer dann ausgeführt, wenn der festgelegte Eingang von anderen Controls angesprochen wird. Dort lassen sich folgende Variablen und Objekte verwenden:
Value |
Gibt den Eingangswert, das von einem Control durch den festgelegten Werteeingang kommt, als String zurück. |
ValueObject |
Gibt das Eingangsobjekt, das von einem Control durch den festgelegten Werteeingang kommt. |
Name |
Gibt den Name des Eingangs als String zurück (z.B. „Eingang#1“). |
ID |
Gibt die ID des Eingangs als String zurück (z.B. „in1“). |
Control |
Control ist das Objekt des kompletten Steuerelements. Dort stehen einige Funktionen zur Verfügung. |
App |
App ist das Objekt des kompletten Dashboards. |
|
Ausgänge erstellen
|
Unter dem Reiter „Ausgänge“ lassen sich in den Einstellungen beliebig viele Ausgänge mit anlegen und benennen.
Sie können folgendermaßen verwendet werden:
//Control.SendOutput(OutputID, Wert);
Control.SendOutput(1, value);
Die OutputID ist die Nummer, die nach „ID=out“ steht. |
Eigenschaften
|
Unter dem Reiter „Eigenschaften“ lassen sich in den Einstellungen beliebig viele Eigenschaften mit anlegen und benennen. Sie können dort den Typ (z.B.: Text oder Zahl) einstellen und einen Initial-Wert festlegen.
Sie können die Eigenschaften im späteren Code folgendermaßen verwendet werden:
Abrufen:
Control.GetPropVal(PropID); //PropID = id(string), hinter dem namen der Eigenschaft [ID=p1]
Control.GetPropVal("p1"); //jetzt wird der Wert der Eigenschaft "p1" abgerufen
Setzen:
Control.SetPropVal(PropID, value); //PropID = id(string), hinter dem namen der Eigenschaft [ID=p1]
//Bsp.:
Control.SetPropVal("p1", 5); //jetzt wird der Wert der Eigenschaft "p1" auf 5 gesetzt
Unter dem Reiter Scripte können sie ein Script schreiben, welches aufgerufen wird, wenn sie den Wert ändern. |
Beispiel
Hier ist das Script aus dem Reiter Global von einem Javascript-Control, welches zwei Eingänge addiert und mal die einen Wert in den Eigenschaften nimmt. Das Ergebnis wird danach ausgegeben.