

WaitAfterInitailize (Wartezeit nach Initialisierung)
Dieser Baustein gehört zum Paket „Administrative (Administrativ).“
Paket-Preis: 22,50€
Kurzbeschreibung
Diese Funktion ermöglicht eine zeitverzögerte Ausgabe eines Eingangswertes. Sobald das System initialisiert ist, wartet es eine definierte Zeitspanne ab, bevor ein Ausgang aktiviert wird. Dabei kann konfiguriert werden, ob der Ausgang den aktuellen Eingangswert übernehmen soll oder einen festen Standardwert (z. B. true
, false
, 0
, etc.). Das Verhalten ist insbesondere beim Hochfahren eines Systems oder bei zeitkritischen Abläufen hilfreich, in denen eine sofortige Reaktion unerwünscht ist.
Besonderheit
Funktionale Flexibilität:
- Die Wartezeit ist individuell anpassbar.
- Es kann gewählt werden, ob ein bestehender Eingangswert übernommen oder ein definierter Standardwert gesetzt wird.
- Das Verhalten nach Systemstart lässt sich flexibel konfigurieren.
Fehlerbehandlung:
- Alle Ausnahmen (Fehler im Ablauf) werden intern aufgefangen und in Protokollen dokumentiert.
- Bei falscher Typangabe wird eine Fehlermeldung generiert, ohne den Ablauf zu unterbrechen.
Grenzen und Validierungen:
- Es werden nur bestimmte Datentypen akzeptiert („bool“, „short“, „ushort“, „int“, „uint“, „long“, „ulong“, „float“, „double“, „string“, „datetime“).
- Falls kein gültiger Typ angegeben ist, erfolgt keine Initialisierung.
- Bei ungültiger Konfiguration (z. B. „true“ setzen bei einem nicht-bool‘schen Typ) erfolgt ebenfalls ein Hinweis im Protokoll.
Dieses Modul ist speziell für Anwendungen gedacht, bei denen nach dem Start eines Systems (z. B. Gira X1) eine bestimmte Wartezeit eingehalten werden soll, bevor ein Ausgang aktiviert wird.
Zunächst wird überprüft, ob das Modul aktiviert wurde. Wenn dies der Fall ist, beginnt eine definierte Wartezeit, die individuell einstellbar ist. Während dieser Zeit wird keine Ausgabe erzeugt. Nach Ablauf der Wartezeit wird je nach Konfiguration ein bestimmter Wert an den Ausgang übergeben.
Der Ausgangswert kann auf verschiedene Weise gesetzt werden:
- Er übernimmt den aktuellen Eingangswert, falls vorhanden.
- Er wird auf
true
gesetzt. - Er wird auf
false
gesetzt. - Falls kein Wert am Eingang vorhanden ist, kann anhand des angegebenen Typs ein Standardwert gesetzt werden (z. B.
0
für Zahlen,""
für Texte oder das aktuelle Datum).
Die Typangabe („bool“, „short“, „ushort“, „int“, „uint“, „long“, „ulong“, „float“, „double“, „string“, „datetime“) ist notwendig, damit das Modul weiß, wie mit nicht gesetzten Werten umzugehen ist. Nur bekannte und unterstützte Datentypen werden verarbeitet.
Während der Ausführung werden intern Zeitpunkte sowie Fehler oder ungewöhnliche Zustände in Protokollfeldern festgehalten. Diese können zur Diagnose oder Überprüfung genutzt werden.
- Activate (bool):
Schaltet die Funktion ein oder aus. Nur bei aktiviertem Eingang wird die Wartezeit berücksichtigt und ein Ausgangswert gesetzt. - Input (any):
Der zu übertragende Eingangswert. Kann z. B. eine Zahl, ein Text, ein Datum oder ein Wahrheitswert sein. Dieser Wert wird – je nach Konfiguration – nach Ablauf der Wartezeit an den Ausgang weitergegeben. - WaitingTime (timespan):
Gibt an, wie lange gewartet werden soll, bevor ein Ausgangswert gesetzt wird. Standardmäßig 10 Minuten. - SetOutputAfterInitializeToInputValue (bool):
Wenn aktiv, wird nach Ablauf der Wartezeit der aktuelle Eingangswert übernommen (sofern vorhanden). - SetOutputAfterInitializeToFalse (bool):
Wenn aktiv, wird nach Ablauf der Wartezeit der Ausgangswert auffalse
gesetzt. Nur sinnvoll bei „bool“ als Typ. - SetOutputAfterInitializeToTrue (bool):
Wenn aktiv, wird nach Ablauf der Wartezeit der Ausgangswert auftrue
gesetzt. Nur sinnvoll bei „bool“ als Typ. - Type (string):
Legt den erwarteten Datentyp für den Eingang fest „bool“, „short“, „ushort“, „int“, „uint“, „long“, „ulong“, „float“, „double“, „string“, „datetime“). Wird verwendet, wenn kein Eingangswert vorhanden ist, um einen passenden Standardwert zu setzen. Nur gültige Typbezeichnungen werden akzeptiert – bei ungültigem Typ erfolgt keine Initialisierung.
- Output (bool):
Gibt nach Ablauf der Wartezeit den konfigurierten Wert aus (z. B. den Eingangswert oder einen festen Standardwert). - LogExecute (string):
Protokollausgabe über den Ablauf der Ausgabefunktion. Nützlich zur Fehlerdiagnose. - LogSchedule (string):
Protokollausgabe über interne Abläufe zur Zeitsteuerung und Initialisierung.
Beispiel 1 – Lichtsteuerung mit Verzögerung nach Neustart:
Nach dem Neustart eines Systems soll die Lichtszene nicht sofort aktiviert werden, sondern erst nach 30 Sekunden.
- Eingabe:
Activate
:true
- Input:
3
- WaitingTime:
30s
- SetOutputAfterInitializeToInputValue:
true
- SetOutputAfterInitializeToFalse: false
- SetOutputAfterInitializeToTrue: false
- Type: int
- Ausgabe:
Output
:- Nach 30 Sekunden wird die „3“ an das Lichtsteuerungssystem ausgegeben.
- Nach 30 Sekunden wird die „3“ an das Lichtsteuerungssystem ausgegeben.


Beispiel 2 – Standardwert setzen, wenn Eingang fehlt:
Wenn kein Eingangswert vorliegt, soll der Ausgang nach 1 Minute auf false
gesetzt werden.
- Eingabe:
Activate
:true
Input
: –- WaitingTime:
1m
- SetOutputAfterInitializeToInputValue: true
SetOutputAfterInitializeToFalse:
true
- SetOutputAfterInitializeToTrue:
false
Type
: bool
- Ausgabe:
Output
:true
- Nach 1 Minute wird
false
ausgegeben, weil kein Eingangswert vorhanden ist.
- Nach 1 Minute wird


Möglicherweise ist die Wartezeit noch nicht abgelaufen oder das Modul wurde nicht aktiviert. Außerdem muss der Typ korrekt angegeben sein.
Wenn der Typ korrekt angegeben ist, wird ein Standardwert verwendet (z. B. 0
, ""
, false
). Falls der Typ fehlt oder falsch ist, erfolgt keine Ausgabe.
Der Typ muss exakt lauten: „bool“, „int“, „string“, „datetime“, usw. Groß-/Kleinschreibung ist nicht entscheidend, aber Rechtschreibfehler führen zu Problemen.
- Version 3.0.10
- First Release
Baustein-Support
Wenn Sie X1-Logik-Baustein-Support benötigen, senden Sie uns bitte zusätzlich den Log (LogExecute und LogSchedule, welcher als Ausgang des Bausteins ausgegeben wird) und eine detaillierte Beschreibung des Problems zu!