Bedingungen
Mit Bedingungen steuern Sie, wann Teile Ihres Skripts ausgeführt werden. Sie werden in Skripten, Abschnitten und einzelnen Aktionen verwendet, um die Ausführung vom aktuellen Zustand Ihres Gleisplans abhängig zu machen.
Eine Bedingung wird als Baum von Regeln aufgebaut, die mit logischen Operatoren kombiniert werden. Das gibt Ihnen die volle Flexibilität, sowohl einfache Prüfungen als auch komplexe Mehrfachbedingungen auszudrücken.
Regeln
Eine Regel ist eine einzelne Prüfung des aktuellen Zustands Ihres Gleisplans. Jede Regel ergibt entweder wahr oder falsch. Folgende Regeltypen stehen zur Verfügung:
- Zubehör — Prüft, ob ein Zubehör (z.B. eine Weiche) in einem bestimmten Zustand ist.
- Rückmelder — Prüft, ob ein Rückmeldesensor aktiv oder inaktiv ist, und optional ob er von einem bestimmten Fahrzeug belegt wird.
- Fahrzeug — Prüft Geschwindigkeit, Richtung, aktive Funktion oder Profil eines Fahrzeugs.
- Flag — Prüft, ob ein Flag aktiviert oder deaktiviert ist.
- Variable — Prüft, ob eine Variable einen bestimmten Wert hat.
- Kamera — Prüft, ob ein Kamera-Erkennungspunkt ausgelöst wurde.
Jede Regel kann auch negiert werden — zum Beispiel „Zubehör ist nicht gestellt".
Gruppen (UND / ODER)
Regeln werden in Gruppen organisiert. Jede Gruppe hat einen logischen Operator, der bestimmt, wie die enthaltenen Elemente kombiniert werden:
- UND — Alle Regeln in der Gruppe müssen wahr sein, damit die Gruppe wahr ist.
- ODER — Mindestens eine Regel in der Gruppe muss wahr sein, damit die Gruppe wahr ist.
Die oberste Bedingung ist immer eine Gruppe. Sie wählen den Operator (UND oder ODER) durch Tippen auf den Gruppen-Header.
Der Editor zeigt Gruppen als umrandete Boxen mit dem Operator (UND/ODER) oben. Regeln werden als beschriftete Zeilen innerhalb ihrer Gruppe angezeigt. Eine Live-Zusammenfassung der gesamten Bedingung wird unten im Editor angezeigt und bleibt beim Bearbeiten von Regeln und Gruppen sichtbar.
Gruppen verschachteln
Gruppen können weitere Gruppen enthalten, sodass Sie komplexe Logik aufbauen können. Zum Beispiel:
Weiche 1 = gestellt UND (Sensor A = aktiv ODER Sensor B = aktiv)Das bedeutet: „Weiche 1 muss gestellt sein und entweder Sensor A oder Sensor B muss aktiv sein."
Wiederverwendbare Bedingungen
Wenn Sie dieselbe Bedingung an mehreren Stellen verwenden — beispielsweise in verschiedenen Skripten oder Abschnitten — können Sie sie einmal definieren und überall wiederverwenden. Bedingungen werden im Bildschirm Bedingungen in Ihrem Profil verwaltet, wo Sie:
- Eine neue Bedingung mit dem +-Button erstellen können.
- Eine Bedingung durch Antippen bearbeiten können. Jede Bedingung hat einen Namen und einen Bedingungsbaum (mit denselben Regeln und Gruppen wie oben beschrieben).
- Bedingungen duplizieren oder löschen können. Beim Löschen einer verwendeten Bedingung werden Sie zur Bestätigung aufgefordert.
- Bedingungen durch Ziehen umsortieren können.
Der Editor zeigt außerdem einen Abhängigkeiten-Bereich, der alle Stellen auflistet, an denen die Bedingung derzeit verwendet wird.
Eine Bedingung verknüpfen
Beim Bearbeiten einer Bedingung in einem Skript, Abschnitt oder einer Aktion zeigt der Bedingungseditor einen Umschalter zwischen Inline und Verknüpft (wenn mindestens eine wiederverwendbare Bedingung vorhanden ist). Im verknüpften Modus können Sie eine Bedingung aus einem Dropdown auswählen. Die Bedingung wird dann anhand der verknüpften Regeln ausgewertet.
TIP
Verwenden Sie wiederverwendbare Bedingungen, wenn dieselbe Logik an mehreren Stellen vorkommt. Wenn Sie die Bedingung später anpassen müssen, ändern Sie sie nur einmal.
Bearbeitung
- Tippen Sie auf den Gruppen-Header (UND/ODER), um den Operator zu ändern oder die Gruppe zu löschen.
- Tippen Sie auf eine Regel, um sie zu bearbeiten oder zu löschen.
- Tippen Sie auf den +-Button einer Gruppe, um eine Regel oder Untergruppe hinzuzufügen.
- Drag & Drop von Regeln und Gruppen zum Umsortieren innerhalb oder zwischen Gruppen.
- Kopieren und Einfügen einer gesamten Bedingung über das Menü (⋯) in der Symbolleiste. So können Sie eine Bedingung von einer Stelle (z.B. einem Abschnitt) an einer anderen (z.B. einem anderen Abschnitt oder einer Aktion) wiederverwenden.

