Timeout Einstellungen

Die Funktionsbausteine von TC3 IoT Functions enthalten mehrere Timeout Einstellungen, die dem Benutzer helfen können, Fehler bei der Wiederholung von Operationen zu behandeln. Im folgenden Abschnitt werden die verschiedenen Timeout Einstellungen näher erläutert.

RequestTimeout

Der RequestTimeout kann entweder global auf eine Instanz von FB_IotFunctions_Connector oder individuell auf eine Instanz von FB_IotFunctions_Message gesetzt werden. Individuelle Einstellungen haben immer Vorrang vor globalen Einstellungen. Der RequestTimeout arbeitet eng mit der Einstellung MessageRetryInterval zusammen.

Der RequestTimeout gibt an, wann ein Nachrichtenoperation (Lesen/Schreiben) abläuft. Wenn beispielsweise RequestTimeout auf 10000 eingestellt ist, wird ein Lesevorgang nach 10 Sekunden abgebrochen, wenn keine Daten empfangen wurden. Wenn die Daten innerhalb von 10 Sekunden empfangen werden, wird der Vorgang sofort beendet.

MessageRetryInterval

Das MessageRetryInterval kann entweder global auf eine Instanz von FB_IotFunctions_Connector oder individuell auf eine Instanz von FB_IotFunctions_Message gesetzt werden. Individuelle Einstellungen haben immer Vorrang vor globalen Einstellungen. Das MessageRetryInterval arbeitet eng mit der Einstellung RequestTimeout zusammen.

Das MessageRetryInterval gibt die Zeitspanne in [ms] an, in dem eine Nachrichtenoperation erneut versucht wird. Die Obergrenze des Intervalls ist immer der RequestTimeout. Wenn zum Beispiel RequestTimeout auf 10000 und MessageRetryInterval auf 1000 gesetzt ist, wird ein Lesevorgang zehnmal wiederholt, bevor RequestTimeout ausgelöst wird und der Lesevorgang ein Zeitlimit erreicht.

CumulativeTimeout

Der CumulativeTimeout kann auf Instanzen von FB_IotFunctions_Request gesetzt werden, wenn Nachrichtenoperationen synchronisiert werden (siehe Synchronisierung von Nachrichtenoperationen).

Der Anwendungsfall sieht folgendermaßen aus (Beispiel):