Skip to content

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.
  • Uhr — Prüft, ob die Modelluhr vor oder nach einer Zielzeit steht. Die Uhr muss laufen, damit diese Regel über die Zielzeit hinaus auslöst.

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.
  • Tippen Sie auf eine Regel, um sie zu bearbeiten.
  • Verwenden Sie das Menü (⋯) einer Gruppe, um eine Regel oder Untergruppe hinzuzufügen, eine kopierte Regel oder Gruppe in diese Gruppe einzufügen, die Gruppe zu kopieren oder eine Nicht-Root-Gruppe zu löschen.
  • Verwenden Sie das Menü (⋯) einer Regel, um sie zu kopieren oder zu löschen.
  • Drag & Drop von Regeln und Gruppen zum Umsortieren innerhalb oder zwischen Gruppen.
  • Bedingung kopieren und Durch kopierte Bedingung ersetzen finden Sie im Menü (⋯) der Symbolleiste des Bedingungseditors. Beim Ersetzen wird die aktuelle Bedingung nach einer Bestätigung durch die kopierte überschrieben.
  • In wiederverwendbare Bedingung umwandeln erstellt aus der aktuellen Inline-Bedingung eine wiederverwendbare Bedingung und verknüpft die aktuelle Bedingung damit.