Jump to content

Lokwechsel verallgemeinern


bogenhd

Empfohlene Beiträge

Hallo, habe eine Frage.

Ein Gleis soll in beiden Richtungen mit Pause und Wartezeit befahren werden.

Wenn ich die Loks einzeln benenne, funktioniert das so wie ich möchte. Wenn ich aber "Alle Loks" auswähle (damit ich auch andere Loks so fahren lassen kann), funktioniert es nicht mehr so wie es vorher war.

Beispieldatei in Anhang.

Vielen Dank im Voraus

Lokwechsel.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo bogenhd,

bei den Ausweichgleisen (Ereignisdefinitionen "Lokwechsel...") reicht es tatsächlich aus, anstelle der konkreten Lok-Bezeichnung "[Alle Loks]" zu verwenden. Bei dem in beide Richtungen befahrenen Gleis mit den 2 Signalen und 2 Haltegleisen erkennst Du beim Einfahren in den "SIgnal-Abschitt", welche Fahrtrichtung der Zug besitzt. Deaktiviere in diesem Moment alle Brems-, Halte- und Start-Definitionen der Gegenrichtung und speichere vor dem Abbremsen die Geschwindigkeit des Zuges in einer Variable ab. Nun kannst Du auch hier mit "[Alle Loks]" arbeiten. Beim Starten musst Du dann die in der Variable abgelegte Geschwindigkeit zuweisen, damit die Lok in die "richtige" Richtung weiter fährt. Nach dem Verlassen des Signal-Abschnitts musst Du die deaktivierten Ereignisdefinitionen wieder aktivieren, damit der nächste Zug auch aus der Gegenrichtung einfahren kann.

Viele Grüße
BahnLand

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

antwort von einem im moment schlecht gelauntem quackster,

es bedarf keiner entschuldigung oder erklärung für eine frage,

a man kann nicht alles wissen

b dafür ist das forum da

c auch auf hundertmal gestellte fragen ist es schwer die richtige antwort im forum zu finden

d fragen kostet nichts :)

puh...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand. Jetzt habe ich mir die halbe Nacht um die Ohren geschlagen, kriege es aber immer noch nicht hin. Kannst du mir die Datei mit deiner geänderten Version zuschicken? Diese kann ich dann abspeichern und ausdrucken als Vorlage für andere Anlagen.

Vielen Dank im Voraus.

bogenhd

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo bogenhd,

bei den Ereignissen "Zug betritt Gleis" und "Zug verlässt Gleis" ist zwar die Nennung des Gleises zwingend erforderlich (sonst machen diese Ereignisse keinen Sinn), aber die Nennung der betroffenen Lok ist in vielen Fällen nicht notwendig. Dies trifft auch für die Geschwindigkeits-Zuordnung für eine Lok zu, wenn hier das Gleisstück, auf dem sich die Lok befindet, referenziert wird. Man kann in all diesen Fällen die Lok zusätzlich referenzieren, wenn das betroffene Ereignis oder die betrachtete Aktion nur für bestimmte (nicht für alle "betroffenen") Loks wirksam werden soll.

Lokwechsel [bogenhd].jpg

Im vorliegenden Anlagenbeispiel von Dir wird die Geschwindigkeit einer Lok, die ein bestimmtes Gleisstück betritt, oder die sich auf einem bestimmten Gleisstück befindet, modifiziert, wobei neben dem betroffenen Gleisstück auch die betroffene Lok konkret spezifiziert wird. Hierdurch ist bei jedem "schaltenden" Gleisstück eindeutig festgelegt, auf welche Lok sich die jeweilige Aktion auswirken soll.

Wenn man nun in den Ereignis-Definitionen "Zug betritt Gleis" und in allen Geschwindigkeits-Zuordnungs-Aktionen nur noch das betroffene Gleis referenziert, aber die konkrete Referenz der jeweils betroffenen Lok durch "[Alle Loks]" ersetzt, geschieht Folgendes:

  • Jede Lok, die ein "Brems-Gleis" betritt, wird von 200 mm/s auf 100 mm/s abgebremst.
  • Jede Lok, die ein "Halte-" oder "Stopp-Gleis" betritt, wird auf 0 mm/s abgebremst (angehalten).
  • Jede Lok, die sich bei der Geschwindigkeits-Zuordnung zu einem Gleis auf diesem befindet, wird auf die angegebene Geschwindigkeit beschleunigt.

Auswirkungen auf die Loks an den einzelnen "Schalt-Gleisen":

  • Stopp-Gleise in der Ausweiche: Die das Gleis betretende Lok kommt immer aus derselben Richtung, sodass die einfahrende Lok unabhängig von ihrer Nennung in der Ereignisdefinition immer korrekt gesteuert wird.
  • Frei-, Brems- und Haltegleise auf der in beiden Richtungen befahrenen Strecke:
    Das jeweilige "Zug betritt Gleis"-Ereignis wird beim Eintritt eines Zuges aus jeder Richtung wirksam.
  • Kommt der Zug bei den Frei-Gleisen aus der "richtigen Richtung", wird er wie beabsichtigt auf die Soll-Geschwindigkeit beschleunigt. Komm er aus der anderen Richtung, wird ihm ebenfalls die Soll-Geschwindigkeit zugewiesen. Da er diese aber hier beim Eintritt sowieso besitzt, hat diese im Prinzip "zum falschen Zeitpunkt" erfolgende Geschwindigkeitszuweisung keine negative Auswirkung.
  • Da sich das Bremsgleis in der Mitte zwischen den Signalen befindet und sowohl nach rechts als auch nach links fahrende Züge abbremsen soll, Wirkt sich auch die von diesem Ereignis angestoßene Aktion (Zug abbremsen) in beiden Richtungen korrekt aus. Würde man das Brems-Gleis durch zwei jeweils separat für jede Richtung definierte Brems-Gleise ersetzen, käme ein nicht vorgesehener Nebeneffekt zum Tragen, der bei dem vorliegenden Anlagenbeispiel bei den Halte-Gleisen sichtbar wird:
  • Fährt der Zug von links nach rechts, betritt er zunächst das Halte-Gleis 1a für die Gegenrichtung. Da sich nun die Aktion "Anhalten" auf "[Alle Loks]" bezieht, wird der Zug bereits hier gestoppt, obwohl er dies eigentlich erst beim Halte-Gleis 1b tun sollte. Der Grund hierfür liegt darin, dass das "Anhalten" von Zügen, die "aus der falschen Richtung" kommen, nicht unterbunden wurde.

Und da kommt nun die im nachfolgenden Bild gezeigte "Erweiterung" der Ereignisverwaltung ins Spiel:

Lokwechsel [bogenhd] mod.jpg

Zum besseren Verständnis habe ich hierzu die Ereignis-Gruppen "Lok 1" und "Lok 2" in "Durchfahrt 1a" und "Durchfahrt 1b" umbenannt. Jede dieser beiden Ereignis-Gruppen enthält die Ereignis-Definitionen für genau eine Fahrtrichtung. Wenn man nun die Ereignis-Definitionen für die Gegenrichtung deaktiviert, solange man selbst die Strecke zwischen den Signalen in der "eigenen" Richtung durchfährt, kann der oben beschriebene Effekt beim "falschen" Halte-Gleis nicht mehr auftreten.

Für die Deaktivierung und (Re-)Aktivierung der Gegenrichtung werden in beiden Ereignisgruppen zwei zusätzliche Ereignisse "Zug betritt Gleis" vor dem Befahren aller anderen Schaltgleise und "Zug verlässt Gleis" beim zuletzt befahrenen "aktiven" Schaltgleis benötigt. Dies bedingt für jede Einfahrt ein zusätzliches "vorgelagertes" Schaltgleis "Einfahrt 1a" und "Einfahrt 1b" für die "Deaktivierung" der Gegenrichtung (violett eingefärbt), während deren Reaktivierung über das jeweils in der eigenen Richtung "aktiven" Frei-Gleises ("Frei 1a" oder "Frei 1b") erfolgen kann (grün eingefärbt). 

Beim Passieren des Signalabschnitts von rechts nach links werden somit folgende Aktionen hintereinander ausgeführt:

  1. Zug betritt Gleis "Einfahrt 1a" (Ereignis "Einfahrt 1a"): Ereignis-Gruppe "Durchfahrt 1b" wird deaktiviert.
  2. Zug betritt Gleis "Frei 1b": Nichts passiert, da Ereignis in Gruppe "Durchfahrt 1b" enthalten und damit deaktiviert ist.
  3. Zug verlässt Gleis "Frei 1b": Nichts passiert, da Ereignis in Gruppe "Durchfahrt 1b" enthalten und damit deaktiviert ist.
  4. Zug betritt Gleis "Halt 1b Lok2": Nichts passiert, da Ereignis in Gruppe "Durchfahrt 1b" enthalten und damit deaktiviert ist.
  5. Zug betritt Gleis "Bremsen": Es wird nur die Aktion aus Ereignis-Gruppe "Durchfahrt 1a" ausgeführt, und der Zug somit auf 100 mm/s abgebremst.
  6. Zug betritt Gleis "Halt 1a Lok1": Zug wird auf 0 mm/s abgebremst und somit angehalten, Wartezeit-Countdown wird gestartet.
  7. Wartezeit-Countdown läuft ab: Signal wird geöffnet und Countdown für die Lokführer-Reaktionszeit wird gestartet.
  8. Reaktions-Countdown läuft ab: Zug wird auf 100 mm/s beschleunigt.
  9. Zug betritt Gleis "Frei 1a": Zug wird auf 200 mm/s beschleunigt, und Signal wird geschlossen.
  10. Zug betritt Gleis "Einfahrt 1b": Nichts passiert, da Ereignis in Gruppe "Durchfahrt 1b" enthalten und damit deaktiviert ist.
  11. Zug verlässt Gleis "Frei 1a" (Ereignis "Ausfahrt 1a"): Ereignis-Gruppe "Durchfahrt 1b" wird (re-)aktiviert.

Befährt ein Zug den Signalabschnitt in der Gegenrichtung von links nach rechts, wird beim Einfahren in das Gleis "Einfahrt 1b" die Ereignis-Gruppe "Durchfahrt 1a" deaktiviert, wodurch alle "1a"-Ereignisse "außer Kraft" gesetzt werden. Erst wenn der Zug das Gleis "Frei 1b" verlässt, wird die Ereignis-Gruppe "Durchfahrt 1a" für die Gegenrichtung wieder "scharf" gemacht. Man erhält hier die detaillierte Abfolge einfach durch Austauschen der Zeichenketten "1a" und "1b" in der oben skizzierten Abfolge.

Anbei das modifizierte Anlagenbeispiel, bei dem alle konkreten Lok-Referenzen durch "[Alle Loks]" ersetzt wurden.

Lokwechsel (mod).mbp

Neben der Umbenennung der genannten Ereignis-Gruppen und den hinzugefügten 4 neuen Ereignis-Definitionen wurde sonst nichts verändert, damit die Erweiterung "nachvollziehbar" bleibt. Es wurden auch bewusst zwei neue Loks (die nicht "Lok1" und "Lok 2" heißen) auf die Anlage gesetzt. Auf die Beschreibung (und Realisierung) des Ablaufs mit unterschiedlichen Lok-Geschwindigkeiten und "anders herum" aufgesetzten Loks (negative Geschwindigkeit) habe ich der Übersichtlichkeit wegen verzichtet.

Viele Grüße
BahnLand

 

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...