Waitmode

Über die Waitmode Optionen der JavaScript-Aktion kann dem TwinCAT HMI Framework mitgeteilt werden, ob die hinterlegte Logik synchron oder asynchron arbeitet und legt darüber fest, wann das TwinCAT HMI Framework die Ausführung als beendet ansieht.

Waitmode 1:

Synchronous

Die Ausführung der Aktion gilt als beendet, wenn die letzte Zeile JavaScript Quelltext synchron abgearbeitet wurde. Ist es bei der Ausführung zu einer Exception gekommen, wird der Error-Zweig der JavaScript-Aktion ausgeführt. Verlief die Ausführung fehlerfrei, wird der Success-Zweig der JavaScript-Aktion ausgeführt.

Die Option Wait for completion hat bei synchroner Logik keine Auswirkung. Eine "parallele" Ausführung synchroner Logik, auch in Teilen, ist nicht möglich.

Asynchronous

Die Ausführung der Aktion gilt als beendet, wenn dies über entsprechende Funktionen eines Kontext-Objektes signalisiert wurde. Sofern der Haken bei Inject context object gesetzt ist, wird in den Kontext des JavaScript Blockes ein Objekt mit dem Namen "ctx" injiziert. Dieses Objekt enthält Funktionen, um das Ausführungsergebnis zu kommunizieren.

Wird die success Funktion aufgerufen, wird anschließend der Success-Zweig der JavaScript-Aktion ausgeführt. Wird die error Funktion aufgerufen, wird anschließend der Error-Zweig der JavaScript-Aktion ausgeführt. Kommt es bei der Ausführung zu einer Exception wird ebenfalls der Error-Zweig der JavaScript-Aktion ausgeführt.

Über die Option Wait for completion kann bei asynchroner Logik gesteuert werden, ob mit der Ausführung der nachfolgenden Aktionen auf das Ausführungsergebnis gewartet werden soll oder ob diese parallel zu der JavaScript-Aktion ausgeführt werden sollen.