Durch die Bedingung EventDataIs wird vom Ereignis der Ereigniswert abgefragt: Schlüsselwort state. Dieses
Schlüsselwort kann in Befehlszeilen und E-Mail-Nachrichten eingefügt werden. Die IfThen-Anweisung führt die
nächste Anweisung aus, wenn die Bedingung EventDataIs ("state", "ACTIVE") erfüllt ist. Eine
EventDataIs-Bedingung ist erfüllt, wenn der Wert des Schlüsselworts (state) mit dem vorgegebenen Wert
(ACTIVE) übereinstimmt. Die nächste Anweisung Distribute bewirkt die Ausführung des Befehls.
Skriptbeispiel - Filter "Trigger on Active" mit 30 Sekunden Verzögerung
Im folgenden Skriptbeispiel ist die Aktion "Trigger on Active" um 30 Sekunden verzögert:
{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}
Die geschweiften Klammern ({}) dienen zur Gruppierung von Anweisungen in Listen. Im vorherigen Beispiel waren
diese Klammern nicht erforderlich, weil die Anweisung IfThen und die nachfolgenden Anweisungen als eine
einzige Anweisung betrachtet worden waren.
Die Anweisung WaitUntil bewirkt das Anhalten der Skriptausführung, bis die Bedingung erfüllt ist. Die Bedingung
TimeIsAfter wird erst auf ihre Erfüllung geprüft, wenn die angegebene Anzahl von Sekunden vergangen ist.
Wenn das Ereignis nach 30 Sekunden noch aktiv ist, wird der Befehl durch die Anweisung Distribute ausgeführt.
Skriptbeispiel - Filter "Trigger on Either Active or Clear"
Die folgende Skriptdarstellung des integrierten Filters "Trigger on Either Active or Clear" gilt für folgende Situation:
Für Fach 3 ist das Ereignis "Papierfach fehlt" ausgewählt, der Befehl wird mit 20 Minuten Verspätung ausgeführt und
der Befehl wird alle 20 Minuten wiederholt, wenn die Bedingung weiterhin im Status "Active" verbleibt.
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}
In diesem Beispiel wurde And für die Erstellung einer zusammengesetzten Bedingung verwendet. Die While-Schleife
wird nur abgearbeitet bzw. wiederholt, wenn das Ereignis für Fach 3 aktiv ist. Der Code innerhalb der Schleife ist mit
Ausnahme der Bedingung TimeIsAfter, die hier auf 1200 Sekunden (20 Minuten) eingestellt ist, derselbe wie
beim Filter "Trigger on Active".
MarkVision Messenger
148