BETA — Preview build. The current release is at docs.modeltrainscript.app.
Skip to content

Fahrdienstleiter

Der Fahrdienstleiter ist die zentrale Verkehrssteuerung Ihrer Anlage. Er vergibt Freigaben (exklusive Berechtigungen zur Nutzung eines bestimmten Fahrwegs), damit zwei Züge niemals gleichzeitig denselben Gleisabschnitt beanspruchen.

Stellen Sie ihn sich wie einen echten Fahrdienstleiter vor: Bevor ein Zug einen Abschnitt befährt, fordert er eine Freigabe an. Der Fahrdienstleiter erteilt sie nur, wenn kein anderer Zug die angeforderten Gleisabschnitte bereits belegt. Sobald der Zug ankommt, wird die Freigabe aufgehoben und der Fahrweg ist wieder verfügbar.

Funktionsweise

Eine Freigabe besteht aus drei Teilen:

  • Dem Fahrweg: die Reihenfolge der Gleisabschnitte, die der Zug befahren möchte.
  • Einem Eigentümer: eine freie Bezeichnung, die den Anforderer benennt (Name eines Skripts oder „Benutzer" für manuelle Fahrten).
  • Einer eindeutigen ID: wird intern verwendet, um die Freigabe später aufzuheben.

Bei einer Freigabeanforderung prüft der Fahrdienstleiter, ob ein Gleisabschnitt des angeforderten Fahrwegs bereits zu einer anderen aktiven Freigabe gehört. Gibt es keine Überschneidung, wird eine Freigabe-ID zurückgegeben und die Anforderung war erfolgreich. Bei einer Überschneidung wird die Anforderung abgelehnt und wartet (sobald eine andere Freigabe aufgehoben wird, versucht es der Fahrdienstleiter automatisch erneut).

Das bedeutet: Skripte, die den Fahrdienstleiter um einen Fahrweg bitten, blockieren, bis sie ihn erhalten. Sie müssen keine eigene Wiederholungslogik schreiben.

INFO

Der Fahrdienstleiter ist eine Koordinationsebene, keine physische Sicherung. Der Schutz entsteht durch die Disziplin, mit der jedes Skript und jede manuelle Fahrt vor dem Losfahren eine Freigabe anfordert. Er beobachtet keine Rückmeldesensoren und kann einen Zug, von dem er nichts weiß, nicht stoppen. Ein Skript, das fährt, ohne vorher eine Freigabe anzufordern, kann ungehindert über Gleise rollen, die ein anderer Zug hält. Behandeln Sie Freigabe anfordern als Teil des Protokolls, dem jeder Zug auf gemeinsam genutzten Gleisen folgt.

Manuelle Fahrten

In der Navigationsansicht der Steuerung bestimmt der Schalter Über Fahrdienstleiter, ob Ihre manuell ausgewählten Fahrwege über den Fahrdienstleiter laufen.

  • Wenn eingeschaltet (Standard), bittet ein Tippen auf GO den Fahrdienstleiter um eine Freigabe, stellt die Weichen und zeigt eine Benachrichtigung an, sobald die Freigabe erteilt ist. Die Freigabe bleibt aktiv, bis Sie sie über die unten erscheinende Freigabeleiste aufheben.
  • Wenn ausgeschaltet, stellt GO die Weichen direkt ein, ohne den Fahrdienstleiter einzubeziehen (nützlich, wenn Sie der einzige Fahrer sind).

Skriptgesteuerte Fahrten

Zwei Automatisierungsaktionen ermöglichen es Skripten, mit dem Fahrdienstleiter zu arbeiten: Freigabe anfordern und Freigabe aufheben. Ein Skript hält jeweils höchstens eine Freigabe, die automatisch dem laufenden Skript zugeordnet wird.

Beispiel: ein eingleisiger Pendelverkehr

Zwei Loks teilen sich ein eingleisiges Stück zwischen den Bahnhöfen A und B. Jede Lok führt ihr eigenes Skript aus. Welches Skript zuerst anfragt, erhält die Freigabe; das andere wartet in Freigabe anfordern, bis das erste Skript Freigabe aufheben ausführt.

Abschnitt: Fahrt A → B
  Aktion: Freigabe anfordern    (von A nach B)
  Aktion: Geschwindigkeit setzen (50%)
  Aktion: Auf Rückmelder warten (Ankunft B)
  Aktion: Fahrzeug anhalten
  Aktion: Freigabe aufheben

In der Gegenrichtung wird dieselbe Skriptstruktur verwendet. Da der Fahrdienstleiter den geteilten Abschnitt verwaltet, brauchen Sie keine Funktionsschalter, Variablen oder selbstgebaute Koordination. Die Anforderung blockiert den zweiten Zug einfach so lange, bis der erste seine Freigabe aufhebt.

Aktive Freigaben anzeigen

Aktive Freigaben werden auf der Steuerung in Orange dargestellt. Gleisabschnitte ohne aktive Freigabe behalten ihre normale Darstellung.

Die vollständige Liste der aktiven Freigaben (zusammen mit ihren Eigentümern) wird im Abschnitt Freigaben auf der Automatisierungs-Registerkarte angezeigt. Jede Zeile besitzt eine Schaltfläche zum Aufheben, mit der Sie eine Freigabe manuell freigeben können, falls ein Skript hängen bleibt oder eine Fehlkonfiguration korrigiert werden soll.