Deutsches Simutransforum

Normale Version: Durchfahrt durch Bahnhof mit Gleiswahlsignal
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ok, dann gehts nicht^^ (jedenfalls nicht so) Ich hab von doch keine Ahnung, wie und ob man sowas programmieren kann Wink
Bei Ankunft am Gleiswahlsignal steht die Route zum nächsten Bahnhof ja noch fest. Damit ergeben sich Möglichkeiten, automatisch festzustellen, ob das Gleiswahlsignal als solches benutzt werden soll, nämlich nicht in diesen Fällen:
- die Route geht durch einen weiteren Bahnhof (an dem logischerweise nicht gehalten wird)
oder
- die Route passiert später ein weiteres Gleiswahlsignal
oder
- der Weg zum Zielbahnhof ist noch zu lang

Problem hierbei ist aber noch, dass das Auswahlsignal ja auch einen Deadlock in einem Durchgangsbahnhof (mit richtungsungebundenen Gleisen) verhindert, sofern dessen Bahnsteige durch weitere Signale abgegrenzt sind. Eine mögliche Lösung hierfür: das Gleiswahlsignal funktioniert dann als Zweiblocksignal (hilft wohl nicht bei komplexen oder 'irregulären' Bahnhöfen).

Besser wäre es, wenn erkannt werden könnte, ab wann die Route wieder über die freie Strecke verläuft, so dass bis dorthin reserviert würde (unter Beibehaltung der ursprünglichen Route, also wie ein automatischer Wegepunkt). Dafür müsste man ein Ausfahrtsignal oder ein Ausfahrtgleis eines Bahnhofs festlegen können. Das "End of choose" macht das eben nicht, aber man könnte die Kombination von diesem mit einem einfachen Signal auf demselben Feld (derzeit wird das verhindert) als ein solches Ausfahrtsignal auffassen (damit keine zusätzlichen Objekte/Grafiken notwendig sind).

Nach meiner Erfahrung sollte man sowieso ein "End of choose"-Signal an allen Ausfahrtgleisen eines Bahnhofs setzen, dessen Einfahrtgleise Gleiswahlsignale haben, sonst kann ein Zug einen großen Umweg wählen (nämlich wenn der Bahnhof von der Gegenseite her erreichbar ist).

Vielleicht fällt noch jemand anderem ein, wie solch ein Ausfahrtgleis bzw. die freie Strecke Simutrans gegenüber kenntlich gemacht werden kann.

Es gibt aber wohl Gleisnetze, die mit diesen Vorschlägen nicht verträglich sind.
Im Moment ist es doch so, dass ein Gleiswahl-Signal das z.B. einen Zug aufhält, der nicht im einem folgenden Bahnhof halten soll doch der Weg berechnet wird bis zum nächsten Bahnhof auf diesen Weg. Korrekt ???
Wenn dies der Fall ist kann man programtechnich feststellen, das der Bahnhof an dem nicht gehalten werden soll auf diesem Weg liegt. Dann ist es auch möglich diesen quasi als End-Of-Choise zu wählen.

Mein angeführtes Problem, dass nach dem Gleiswahl-Signal eine Abzweigung zu nehmen ist, die den Bahnhof "links liegen" läßt, kann man mit einem End-Off-Choise Signal eventuell "signaltechnisch" in den Griff bekommen.
(Denke ich mal!)

@Prissi,
wie funktioniert eigentlich die Reservierung der Strecke, wenn über mehrere (mindestens 2) Gleiswahl-Signale gefahren werden muss, bevor ein Bahnsteig erreicht wird ?
Deine Antwort hat den wahrscheinlich direkt etwas mit meinem Abzweig-Problem zu tun.
@whoami
Wie kommst du zu der Aussage, dass der nächste Bahnhof an einem Auswahlsignal schon feststeht? Einzige der nächste Halt auf der ursprüngliche Route ließe sich ermitteln.

Was zwei Gleiswahlsignale hintereinander betrifft, so wäre es möglich, dass das erste in einem solchen Fall wie ein normales Signal wirkt. Wäre aber vermutlich nicht immer das, was man will.

Nein, diese Signale sollten der Sonderfall sein; der Gau wäre für mich amoklaufende Züge a la OpenTTD, die vor Signalen Umdrehen oder sich auf irgendwelchen Nebenrouten verlieren. Zumal jeder der Vorschläge hier jede Menge Endofchossesignale (a la OpenTTD) bräuchte, was meiner Meinung nach wesentlich komplizierter wäre, als einfach ein Durchfahrtsgleis zu haben und einen Wegpunkt zu setzen.
Zitat:Original von jois3
Zitat: Das Gleiswahl-Signal ist doch eigentlich mit dem Bahnhof, vor dem es steht,
verbuchen und nicht mit dem Fahrplan des Zuges.

Das Signal ist zuerst einmal mit der Strecke verbunden, auf der es steht. Die Züge bzw. deren Fahrpläne erst bringen eine Verbindun zu einem Bahnhof: Das Gleiswahlsignal "hält die Züge an", eine Verbindung zum im Fahrplan angegebenen Bahnhof zu suchen und zu reservieren. Klappt die Reservierung, ist das Signal frei, ansonsten wartet der Zug.

Zitat: Wenn ein Zug in dem Bahnhof zu dem das Gleiswahl-Signal gehört ...

Eben das weiß das Gleiswahl-Signal nicht. Man müsste beim Setzen des Signals einen Bahnhof auswählen. Abgesehen vom Aufwand, alte Spielstände wären hinfällig.

Der Ansatz, dass das Gleiswahlsignal einfach auf den nächsten Bahnhof anzuwenden ist, schlägt ebenfalls fehl: Berücksichtigt man die zu fahrende Strecke des Zuges auf seinem Weg zum Ziel (sprich, seine Route), dann ist das eben der Status quo. Wählt man dagegen den nächstgelegenen Bahnhof in Luftlinie, so werden evtl. falsche Bahnhöfe berücksichtigt (woher soll das Signal wissen, was nun davor, dahinter, wünschenswert und nicht ist?).

TonyBzt: Deine Kritik am Gleiswahlsignal teile ich grundsätzlich (habe auch desöfteren Probleme damit und darf dann umbauen), aber ich fürchte, auf diese Weise geht es nicht.

Gruß,
jois3

@jois3,
du hast zwar meine vielleicht etwas unscharfe Formulierungen seziert wie ein Jurist aber vielleicht hiflt einfach folgende Feststellung:

Wenn ich irgendwo im Streckennetz eine "Gleiswahl-Signal" setze habe ich immer einen bestimmten Bahnhof (oder eventuell auch mehrere parallel verlaufende Stecken) im Auge. Ich stelle mit Sicherheit keine Gleiswahl-Signale für einen Bahnhof auf bei dem auf der Strecke dahin noch weitere Bahnhöfe liegen.
Deswegen wäre für mich logisch, das bei der Berechnung ein Bahnhof der dazwischen liegt und nicht im Fahrplan des wartenden Zuges ist, die Berechnung der Resevierung dort aufhebt. Wenn die nachfolgende Strecke reserviert werden muss kann dass doch schließlich mit einem weiten Gleiswahl-Signal bewerkstelligt werden.

Das ein Signal immer an einer Strecke steht ist mir bekannt, ist trivial und irrelevant. Wir haben immer die Situation Gleiswahl-Signal mit Zug und Fahrplan als Ausgangspunkt einer Berechnung die in einer Reservierung endet. Mit diesen Informationen müßte auch der "blöde" Computer auskommen können.

Das Problem, dass bei einer Änderung der Berechnungsmethode alte Spielstände nicht mehr funktionieren, könnte man leicht dadurch beseitigen, dass man das Gleiswahl-Signal versioniert und dann die neue Methode nur bei diesen angewendet wird.
Zitat:Original von prissi
Wie kommst du zu der Aussage, dass der nächste Bahnhof an einem Auswahlsignal schon feststeht? Einzige der nächste Halt auf der ursprüngliche Route ließe sich ermitteln.
Genau das meinte ich, insbesondere mit Beibehalten der vorher ermittelten Route.

Zitat:Was zwei Gleiswahlsignale hintereinander betrifft, so wäre es möglich, dass das erste in einem solchen Fall wie ein normales Signal wirkt. Wäre aber vermutlich nicht immer das, was man will.
Deswegen die weiteren Vorschläge in meinem obigen Text:
- Wirkung als Zweiblocksignal
oder
- Möglichkeit für den Benutzer, das Verhalten festzulegen (wiederum mit einem irgendwie definierbaren 'Ausfahrtsignal') => 'Wegepunkt' wird von den aufgestellten Signalen definiert, nicht vom Fahrplan

Zitat:Nein, diese Signale sollten der Sonderfall sein; der Gau wäre für mich amoklaufende Züge a la OpenTTD.
Die Vorschläge sollen eigentlich das Gegenteil bewirken, nämlich die Sonderfunktion des Auswahlsignals aufzuheben, und zwar unter der Kontrolle des Benutzers (oder zumindest unter wohldefinierten Bedingungen), jedoch ohne einen neuen Signaltyp.

Zitat:als einfach ein Durchfahrtsgleis zu haben und einen Wegpunkt zu setzen.
Sicher ist das nicht schwierig, aber es gibt immer wieder neue Leute, die das Verhalten nicht so richtig nachvollziehen können, und sich auch eine Änderung wünschen. Edit: Ein weiterer Vorteil der Automatik wäre, dass man beim Ändern des Gleislayouts seltener mit allen betroffenen Fahrpläne bzw. gesetzten Wegepunkte Probleme bekommt.

Übrigens habe ich in jüngsten Versionen Probleme gesehen mit solchen Wegepunkten nach Gleiswahlsignal (Züge reservierten nicht bis zum Wegepunkt, daher kam es zu Deadlocks), daher musste ich die Züge stattdessen im jeweiligen Bahnhof halten lassen. Ich muss aber mal prüfen, ob das Verhalten durch irgend einen Bugfix inzwischen nicht mehr auftritt.
Zitat:Original von micshow

Die beste Lösung für deine Situation wäre wohl wie Eps-Omo unter "zu1)" geschrieben hat, alle deine Züge die nur durchfahren wollen mit einem Wegpunkt im Fahrplan versehen, der direkt nach dem Bahnhof (z.B. an dem Ausfahrtsignal bzw. dem ersten Signal nach dem Bahnhof auf freier Strecke) liegt.
Somit brauchst du auch keine Streckenumbauten vornehmen und auch keinen weiteren Platz.
Das einzige Problem könnte werden wenn du viele Züge hast die durchfahren sollen, dass du evt. einen Zug vergisst mit Wegpunkten auszustatten.

Und dann gibt es noch Züge, die von/nach Depot unterwegs sind. Und hier nur zufällig vorbeikommen.
Und dann gibt es noch Züge, in deren Fahrplan geändert wurden. Und nun muß sich das wieder einregeln. Alles wieder Züge, die nicht in diesen Bahnhof wollen. Und somit das Auswahlsignal blockieren.

Damit das Spiel weiterläuft, folgenden Vorschlag:
Neben den wartenden Zug eine parallele Strecke bauen. Und hier das Auswahlsignal einbauen. Dann mittels freien Wegpunkt die Züge dieser Linie in den Umweg zwingen. Und das Auswahlsignal arbeitet. Alle anderen Züge nehmen die Abkürzung an das Auswahlsignal vorbei. Und werden von einen "normalen" Signal gesteuert.

Ungelöst ist dann folgendes Problem:
Im Erdgeschoß gibt es 3 Gleise für die S-Bahn, im Untergeschoß 2 Gleise für ICE. Nun schickt das Auswahlsignal bei besetzten 3 Gleisen im Erdgeschoß die S-Bahn in das Untergeschoß. Weil das nur über die Gleise vor der nächsten Stadt zu machen ist, ist der ganze mögliche Gewinn futscht.
Mein Vorschlag: Beim Setzen des Auswahlsignales erscheint ein "Fahrplan", indem diese 3 Gleise des Erdgeschosses einzutragen sind. Will ein Zug woanders hin, z.B. Depot, verhält sich das Auswahlsignal wie ein 2-Block-Signal.

Hans Dampf
Zitat:Original von Hans Dampf
Ungelöst ist dann folgendes Problem:
Im Erdgeschoß gibt es 3 Gleise für die S-Bahn, im Untergeschoß 2 Gleise für ICE. Nun schickt das Auswahlsignal bei besetzten 3 Gleisen im Erdgeschoß die S-Bahn in das Untergeschoß.
Dafür ist das "End of choose" doch gedacht: die Wege von diesem Gleiswahlsignal zum "Untergeschoss" sollten mit diesem Signal gesperrt werden (dafür braucht man natürlich etwas mehr Platz). Dei S-Bahnen müssen dabei natürlich ein anderes Einfahrtsignal benutzen.
Und die Ausfahrtgleise des Bahnhofs müssen, wie ich schon schrieb, sowieso mit diesem Signal ausgestattet werden.
Hi, ich hab ein wenig gezögert, dies hier zu schreiben, vielleicht ist der Vorschlag ungeschickt, dann ignoriert ihn bitte, vielleicht gefällt er ja doch. Vielleicht habe ich auch einfach nur eine zu alte Version und sehe Probleme, wo längst keine mehr sind.

Situation: Ein Zug fährt an ein Auswahlsignal heran, es muss nun die Strecke berechnet werden.

Momentan wird, wenn ich es korrekt verstanden habe, ausgehend vom Auswahlsignal die Strecke so lange untersucht, bis der Zielbahnhof gefunden wurde. Wird dabei ein end-of-choose-Signal entdeckt, bricht die Routing-Berechnung (für diese Strecke) ab. Wird eine Strecke gefunden, so wird sie gespeichert, damit verglichen werden kann, ob es die kürzeste ist.

Alternativ nun:
Es werden zwei mögliche Routen gespeichert, eine mit auftretenden end-of-choose-Signalen (B-Route), eine ohne (A-Route). D.h. gibt es beim Berechnen einer möglichen Route ein end-of-choose-Signal, aber noch keine gespeicherte A-Route, so wird die Berechnung fortgesetzt. Wird dabei der Zielbahnhof gefunden, wird diese Route als B-Route gespeichert.
Wurde nach Durchgehen aller möglichen Routen keine A-Route gefunden, so wird, falls existent, die B-Route verwendet, dann aber eben nicht bis zum nächsten Bahnhof gleich reserviert, sondern nur bis zum nächsten Signal, wie gewöhnlich.
Dieser Vorschlag lehnt sich eng an whoamis an, und wahrscheinlich gibt es auch hier genug Fälle, die so nicht funktionieren. Zusätzlich müssten mehr Routing-Berechnungen durchgeführt werden.

Es sollte dann aber möglich sein, zwischen den Gleisen eines Bahnhofs ein Durchfahrtgleis zu legen, dass ein end-of-choose-Signal enthält, zusätzlich gibt es am Ende des Bahnhofs eines. Züge, die den Bahnhof nicht als Halt eingetragen haben, werden dieses Gleis wählen, sofern es die kürzeste Route bietet. Notfalls nehmen und durchfahren sie ein Bahnhofsgleis, aber sie warten nicht mehr vor dem Bahnhof am Auswahlsignal und blockieren den Bahnhof.
Der Vorschlag müsste also ohne größere Inkompatibilitäten schlupps Problem beseitigen.

So, jetzt dürft Ihr mich schlagen... *g*
jois3
Nein, so funktioniert es nicht.

Zug erreicht Choosesignals:
Strecke kann bis Zielbahnhof reserviert werden => tu das & fahr weiter.
Strecke nicht frei: Starte Suche auf alle Feldern, die reserviert werden können. Ziel erreicht => Reserviere diese Route und fahr weiter.
Nichts gefunden => warte.
Alternativ war die Wegsuche auf schon einmal auf maximal 50 Kästchen limitiert, um zu große Umwege zu vermeiden.
Seiten: 1 2