Suche:

Javascript-Control

Dashboard-Steuerelement

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.

 

Diesen Beitrag teilen