API-Funktionen

Folgende API-Funktionen stehen Ihnen in JavaScript zur Verfügung:

mainInterface.getProperty
mainInterface.setProperty
mainInterface.getVariable
mainInterface.setVariable
mainInterface.setVariableSync
mainInterface.log
mainInterface.playAudio
mainInterface.openView

mainInterface.getProperty

Diese Funktion gibt den Wert einer Eigenschaft einer Komponente zurück.

mainInterface.getProperty(property)

Parameter

  • property
    Der Parameter property gibt den Namen einer Eigenschaft an.

Ein Eigenschaftsname muss immer einer der folgenden Syntax entsprechen: Seitenname.Komponentenname.Eigenschaftsname

Um also beispielsweise den Text einer Textbox mit dem Namen edit1 auf der Seite Hauptseite auszulesen, muss als Parameter übergeben werden: „Hauptseite.edit1.Text


mainInterface.setProperty

Diese Funktion setzt den Wert einer Eigenschaft einer Komponente auf einen bestimmten Wert. Um einen Wert zu setzen, muss die Komponente einen Namen haben. 

mainInterface.setProperty(property, value)

Parameter

  • property
    Name der Eigenschaft, die gesetzt werden soll.

Ein Eigenschaftsname muss immer einer der folgenden Syntax entsprechen: Seitenname.Komponentenname.Eigenschaftsname

Um also beispielsweise den Text einer Textbox mit dem Namen edit1 auf der Seite Hauptseite auszulesen, muss als Parameter übergeben werden: „Hauptseite.edit1.Text

  • value 
    Der Wert, den die Eigenschaft bekommen soll 

mainInterface.getVariable

Diese Funktion gibt den Wert einer Variablen als String zurück.

mainInterface.getVariable(variable)

Also auch Variablen von Typen wie Boolean oder Int geben Ihren Wert immer als Stringrepräsentation zurück.

Dies ist beim weiteren Arbeiten mit zurückgegebenen Werten zu beachten. 

Parameter

  • variable 
    Der Name, mit der die Variable angelegt wurde.

Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.

Beispiel: DatenquellenName.VariablenName


mainInterface.setVariable

Funktion zum asynchronen Schreiben einer Variable.

mainInterface.setVariable(variable, value, checkValueIsDifferent = true)

Dieser Prozess läuft asynchron ab. Das heißt ein Abrufen der Variable mit „getVariable“ im folgenden Code muss nicht zwangsweise bereits den aktualisierten Wert zurückgeben.

Beste Lösung hierfür ist, den Wert vorher in einer lokalen Variable zwischenzuspeichern, um diese nicht erneut abfragen zu müssen.

Muss der Wert zwangsweise im Anschluss unmittelbar zur Verfügung stehen kann die Funktion „setVariableSync“ verwendet werden.

Hiervon wird aber abgeraten da dieser Funktionsaufruf für einen kurzen Zeitraum die Oberfläche blockiert. Bei einmaligem Aufruf ist dies nicht zu bemerken. Wird diese Funktion aber in einem Intervall oder oft nacheinander aufgerufen wird dies die Oberfläche spürbar beeinflussen. 

Parameter

  • variable
    Der Name, mit der die Variable angelegt wurde.

Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.

Beispiel: DatenquellenName.VariablenName

  • value 
    Der Wert, den die Variable bekommen soll
  • checkValueIsDifferent (ab QuickHMI 14.4.1)
    Wenn true (Standardwert): Neuer Wert wird vorm Senden an die Datenquelle gegen den aktuellen Wert geprüft. Nur bei Abweichung wird der Wert an die Steuerung gesendet.
    Wenn false: Neuer Wert wird unabhängig vom aktuellen Wert an die Steuerung gesendet.

mainInterface.setVariableSync

Funktion zum synchronen Schreiben einer Variable.

mainInterface.setVariableSync(variable, value, checkValueIsDifferent = true)
Hinweis: Verwenden Sie diese Funktion nur, wenn unbedingt nötig. (Siehe vorherigen Hinweis zur Funktion "setVariable").


Parameter

  • variable 
    Der Name, mit der die Variable angelegt wurde.

Sollte der Variablenname in mehreren Datenquellen vorhanden sein, muss zwingend der Datenquellenname vorweg angegeben werden.

Beispiel: DatenquellenName.VariablenName

  • value
    Der Wert, den die Variable bekommen soll
  • checkValueIsDifferent (ab QuickHMI 14.4.1)
    Wenn true (Standardwert): Neuer Wert wird vorm Senden an die Datenquelle gegen den aktuellen Wert geprüft. Nur bei Abweichung wird der Wert an die Steuerung gesendet.
    Wenn false: Neuer Wert wird unabhängig vom aktuellen Wert an die Steuerung gesendet.

mainInterface.log(logtype, message)

Diese Funktion schreibt einen Logeintrag. Das Log kann zur Laufzeit über den  – Button geöffnet werden. Gleichzeitig wird auch ein Log in die Konsole des Browsers geschrieben. In Chrome kann diese beispielsweise mit F12 geöffnet werden.

Parameter

  • logtype 
    Als Logtype stehen die Konstanten „I“ für Information, „W“ für Warning und „E“ für Error zur Verfügung. Diese werden im Log unterschiedlich farblich dargestellt.
  • message
    Die Nachricht, die geloggt werden soll.

mainInterface.playAudio

Diese Funktion gibt eine Audiodatei im Viewer wieder.

mainInterface.playAudio(filename)

Parameter

  • filename
    Der Name der Audio-Datei (inkl. Dateiendung) die zuvor im QuickHMI Editor importiert wurde.

mainInterface.openView

Diese Funktion öffnet eine Seite oder eine Sicht.

mainInterface.openView(viewname)

Parameter

  • viewname
    Der Name einer Seite oder eines Views.

Soll eine Sicht angezeigt werden, so ist die Syntax dafür wie folgt: Seitenname.Viewname