AndreasWB Geschrieben 8. Mai Geschrieben 8. Mai Hallo MBS-Programmierer, es bringt einen einfach zur Verzweiflung. Steht ein Einzel-Fahrzeug auf einem Gleiskontakt, kann man Kupplungen lösen, Fahrtrichtung umkehren, neue Geschwindigkeit setzen. Steht ein Zug (Lok + mind. 1 Anhänger) auf einem Gleiskontakt, kann man Kupplungen lösen, Fahrtrichtung umkehren Aber neue Geschwindigkeit? - Fehlanzeige. Gleiche Problematik, die auch in diesem Zusammenhang schon für großen Frust gesorgt hat. Wann wird dieser Fehler endlich behoben? Fragt Andreas
Goetz Geschrieben 8. Mai Geschrieben 8. Mai (bearbeitet) vor einer Stunde schrieb AndreasWB: Steht ein Einzel-Fahrzeug auf einem Gleiskontakt ... mit aktiver Beschleunigung ... Wenn im Kontakt eine Beschleunigung aktiv ist, kann man dem Zug auf anderem Wege keine niedrigere Geschwindigkeit mehr zuweisen. Der Kontakt wird den Zug dann immer wieder auf die im Kontakt angegebene Geschwindigkeit beschleunigen. Das ist das, was du meinst, Andreas - richtig? Denn wenn im Kontakt keine Beschleunigung aktiv ist, kannst du den Zug per EV oder durch manuelle Eingabe jede Geschwindigkeit zuweisen. Und wenn der Kontakt den Zug beschleunigt, kannst du weiterhin per EV oder manuell eine höhere Geschwindigkeit erzielen. Der Wert in der Beschleunigung ist eine Mindestgeschwindigkeit. Oder meinst du "Wenn nicht die Lok, sondern der Waggon auf Kontakt XY steht, dann funktioniert die Geschwindigkeitszuweisung Alle Fahrzeuge auf Kontakt XY nicht?" Die Geschichte mit der Weiche (und Drehscheibe), die als besetzt betrachten wird wenn mehr als eine einzelne Lok (also ein Verband) darauf steht, ist übrigens eine andere. Viele Grüße Götz Bearbeitet 8. Mai von Goetz Ergänzungen
AndreasWB Geschrieben 8. Mai Autor Geschrieben 8. Mai Hallo @Goetz, ich denke eher, daß der Themekomplex schon irgendwie zusammenhängt. Zum Thema mit hintereinander folgenden Anweisungen an Fahrzeuge (egal ob Einzellok oder Zugverband) sollte es doch so sein, daß nach der einmaligen Befehlsübermittlung das "Fahrzeug" auf neue Anweisungen neu reagieren können sollte, auch wenn ein vorheriger Befehl noch nicht komplett abgearbeitet ist. Vor allem, weil hier Einzelfahrzeuge sich anders verhalten, als längere Fahrzeugverbände. Anderes Beispiel, das mich zu diesem Post veranlaßt hat: Steht eine Tenderlok alleine auf dem Gleiskontakt (der grün-gelbe), kann man ihr alles übermitteln, was ich in der ersten Gruppe aufgezählt habe. Ist noch etwas angehängt, z. B. ein Tender oder wie hier ein Wagen, funktioniert die Geschwindigkeitszuweisung nicht mehr. Oder: Am Ende der Schuppengleise befindet sich jeweils ein End-Kontakt. Dort wird die Lok, egal ob Tenderlok oder mit Schlepptender, angehalten, die Fahrtrichtung erfolgreich umgekehrt. Der Befehl zum dann später wieder losfahren funktioniert aber nur bei der Tenderlok. Bei einer 01 oder 05 oder 18 mit Schlepptender nicht. Eigentlich das gleiche unterschiedliche Verhalten, wie beim (nicht-) blockieren von Schiebebühne und Drehscheibe. Nach objektorientiertem Paradigma ist ein Zug eine Aggregation aus Triebfahzeug(en) und Anhängern und zeigt egal wie zusammengestellt immer identisches Verhalten. Im MBS leider nicht. Genau das kostet hier immer wieder Stunden mit dem Finden des Fehlers und Basteln entsprechender workarounds. So toll Euer Programm ansonsten auch ist, an manchen Stellen ist es schlicht zum Verzweifeln und kostet unnütz Zeit. Nichts für Ungut Gruß Andreas
AndreasWB Geschrieben 8. Mai Autor Geschrieben 8. Mai Ergänzung: weil ich gerade in Deinem Post sehe: "Alle Fahrzeuge auf Kontakt XY" Steht ein Zug mit Steuerwagen (Antrieb ausgeschaltet) am Gleiskontakt eines Signals, wird doch auch der "Losfahr-"Befehl an die Lok übermittelt. Außerdem bekommt man bei Abfrage immer das Triebfahrzeug-Objekt übertragen, nicht den Steuerwagen, der ja eigentlich auf dem Kontakt steht. -> Also komplett inkonstistentes Verhalten. Gruß Andreas
UweL Geschrieben Dienstag um 20:42 Uhr Geschrieben Dienstag um 20:42 Uhr Hallo Andreas und Goetz, dieses Problem, dass die Züge mit bzw. ohne Waggon/Tender unterschiedlich reagieren, ist leider umfangreicher und komplizierter als bisher beschrieben und hat auch mich viel Zeit gekostet, um dem Phänomen auf die Spur zu kommen. Ich wollte Züge in einen Kopfbahnhof einfahren lassen, dort die Fahrtrichtung umschalten und wieder herausfahren lassen. Beim MAN-Schienenbus hat auch alles funktioniert, beim kurzen Güterzug mit 2 Waggons wollte es einfach nicht klappen. Als Teststrecke habe ich dann einfach ein gerades Schienenstück gewählt und mit Gleiskontakten versehen. Einfacher ging es wirklich nicht. Bei der Strecke A habe ich den Bremskontakt gleichzeitig zum Umschalten der Fahrtrichtung und wieder Anfahren genutzt. Dies hat nur beim Schienenbus funktioniert. Der Güterzug wollte gar nicht. Er ist bei mir am Prellbock stehen geblieben. Hier auf der Teststrecke fährt er in gleicher Richtung weiter bis zum Gleisende. Bei der Strecke B habe ich dann kurz vor den Bremskontakt zum Anhalten und Anfahren einen Gleiskontakt eingebaut und hier die Fahrtrichtung mit Verzögerung geschaltet. Der Zug soll ja den Bremskontakt auch erreichen. Beim MAN hat wie vorher auch alles geklappt. Der Güterzug hat jetzt nur dort gewendet, wo er mit der Lok auf dem Bremskontakt stand. Auf der anderen Seite mit dem Waggon auf dem Bremskontakt ist er stehen geblieben. Die Fahrtrichtung hatte er aber umgeschaltet. Bei der Strecke C habe ich dann für das Anfahren ein Benutzerdefiniertes Ereignis "Anfahren" definiert und dieses an den Bremskontakten aufgerufen. Und siehe da, jetzt wechseln die Züge auf beiden Seiten ihre Fahrtrichtung. Wo der Fehler liegt??? Ich habe keine Ahnung. Aber wer es ausprobieren will: Einfach die jeweiligen Züge mit oder ohne Waggon bzw. Tender auf die gewünschte Strecke setzen und losfahren lassen. Die Züge fahren je nach Strecke ständig hin und her, bleiben ganz einfach stehen oder fahren weiter bis zum Gleisende. Gruß Uwe 250513_Wendezug.mbp
Hawkeye Geschrieben gestern um 05:37 Uhr Geschrieben gestern um 05:37 Uhr (bearbeitet) vor 9 Stunden schrieb UweL: Ich wollte Züge in einen Kopfbahnhof einfahren lassen, dort die Fahrtrichtung umschalten und wieder herausfahren lassen. Hallo Uwe, vor 9 Stunden schrieb UweL: Wo der Fehler liegt? bei "B" und "C" wird die Fahrtrichtung umgeschaltet, bevor der Zug steht! Das kann nicht funktionieren. Du schaltest auf der Autobahn bei 200 kmh auch nicht in den Rückwärtsgang , oder? Bei "A" hast du nur eine kleine Änderung vorzunehmen. Setzte die Zielgeschwindigkeit auf "-200", dann fährt das Fahrzeug nach der Verzögerung "relativ" zur Fahrtrichtung in der entgegengesetzten Richtung (weil Minus!), also Rückwärts, wieder los. Du kannst die Anweisungen auch vereinfachen, indem du den Auslöser "Fahrzeug" wählst. Das kann nur das Fahrzeug sein, das auch den Gleiskontakt betritt. Die Fahrtrichtung brauchst du dann auch nicht mehr als Anweisung umschalten, die Umschaltung der Fahrtrichtung erfolgt durch das Minus-Zeichen vor der zu setzenden Geschwindigkeit. Folgendes reicht. VG, Hawkeye Bearbeitet gestern um 05:59 Uhr von Hawkeye
Hawkeye Geschrieben gestern um 06:22 Uhr Geschrieben gestern um 06:22 Uhr (bearbeitet) vor 9 Stunden schrieb UweL: Bei der Strecke B habe ich dann kurz vor den Bremskontakt zum Anhalten und Anfahren einen Gleiskontakt eingebaut und hier die Fahrtrichtung mit Verzögerung geschaltet. Der Zug soll ja den Bremskontakt auch erreichen. Beim MAN hat wie vorher auch alles geklappt. Der Güterzug hat jetzt nur dort gewendet, wo er mit der Lok auf dem Bremskontakt stand. Auf der anderen Seite mit dem Waggon auf dem Bremskontakt ist er stehen geblieben. Vielleicht noch zur Erläuterung, warum auf der linken Seite die Züge mit Anhänger/ Tender nicht mehr losfahren. Das liegt an deiner Anweisung "alle Fahrzeuge" die auf dem "Bremskontakt Links B" stehen, sollen losfahren. Auf dem Bremskontakt steht aber nicht die Lok (mit dem Antrieb) , sondern in diesem Fall der Tender (ohne Antrieb) . Die Lok wird nur angesprochen, wenn du den Auslöser "Fahrzeug" ansprichst. Dann fährt sie auch wieder los, auch wenn der Tender / Anhänger auf dem Kontakt stehen sollte. VG, Hawkeye Bearbeitet gestern um 06:22 Uhr von Hawkeye
Phrontistes Geschrieben gestern um 09:01 Uhr Geschrieben gestern um 09:01 Uhr (bearbeitet) Ihr müsst Euch einfach nur mal vergegenwärtigen, dass ein Zugverband aus einem angetriebenen und mehreren nicht angetriebenen Fahrzeugen besteht, mit Fahrzeug/vehicle immer das angetriebene gemeint ist, in der Praxis das Fahrzeug/vehicle vorne, in der Mitte (z.B. Dampflok mit geschobenem Tender) oder hinten (z.B. Wendezug) im Zugverband eingereiht ist, und somit nicht gewährleistet ist, dass das Fahrzeug/vehicle auf dem Kontakt steht auf dem der Verband angehalten hat. Daraus folgt, dass man für Fahrrichtung, Geschwindigkeit usw. tunlichst immer das Fahrzeug/vehicle direkt anspricht und nicht das, welches auf dem Gleiskontakt steht, denn das kann auch der Tender oder der Steuerwagen sein. Solange man sich noch im Ereignis "betritt" befindet, steht das Fahrzeug/vehicle noch zur Verfügung, danach nicht mehr. Also muss man es sich merken, z.B. indem man im Kontakt eine Variable "Fahrzeug" anlegt und dann bei Bedarf dieses gemerkte Objekt startet und nicht das Objekt, das auf dem Kontakt steht. Hier mal eine Anwendung dessen, was ich hier erzähle. Aufgabe war, dass der Zug in der Mitte des Bahnsteiges anhält und losfährt, wenn das Ausfahrsignal (auf dessen Kontakt der Zug nicht steht) auf grün schaltet. Bei dieser allgemeingültigen und wiederverwertbaren Lösung merke ich mir das Signal im mittigen Gleiskontakt und das auslösende Fahrzeug/vehicle im Signal. 20240312 Perronmitte mit Vmax.mbp Bearbeitet gestern um 14:43 Uhr von Phrontistes typo
UweL Geschrieben vor 19 Stunden Geschrieben vor 19 Stunden Hallo Hawkeye, erst einmal vielen Dank für die Ausführungen. Bei Lösung B und C "trete ich zuerst auf die Kupplung" und warte, bis der Zug steht. Die Verzögerung von 2 Sekunden genügt hier. Erst dann wird umgeschaltet und erst danach, wiederum verzögert, die Geschwindigkeit gesetzt. Die Verzögerung ganz raus zu nehmen führt zu dem Effekt, das die Lok die Fahrtrichtung nicht umschaltet (der Getriebeschaden wird somit vom Programm verhindert). Die Lösung mit der negative Geschwindigkeit funktioniert nur, wenn der Zug immer vorwärts einrollt. Das ist bei mir nicht der Fall und in der Realität auch nicht. Ansonsten müssten Frankfurt, Stuttgart, München sowie einige andere Bahnhöfe ausgelassen werden. Dies hat Phrontistes auch treffend beschrieben. Seine Lösung ist mir für diese eigentliche einfache Aufgabe aber zu aufwändig. Bei mir lasse ich auch das Ausfahrtsignal auf Fahrt stellen und verzögert den Zug anrollen. Entspricht eher der Realität, als dass das Schalten des Signals das Anfahren des Zuges auslöst. Den Auslöser auf "Fahrzeug" zu stellen, hat bei mir keine Auswirkungen gehabt. Auf den ersten Blick konnte ich da keine Veränderungen feststellen. Aktuell komme ich mit meiner Lösung in Gleis C sehr gut zurecht. Sie tut, was ich will und ist für mich einfach gestrickt und doch variabel genug. Vielleicht komme ich auf andere Lösungen zurück, wenn unterschiedlich Züge, vor allem unterschiedlich lange Züge in einem Kopfbahnhof an verschiedenen Stellen halten und umkehren sollen. Viele Grüße Uwe
Phrontistes Geschrieben vor 19 Stunden Geschrieben vor 19 Stunden vor 19 Minuten schrieb UweL: Die Lösung mit der negative Geschwindigkeit funktioniert nur, wenn der Zug immer vorwärts einrollt. Negative Geschwindigkeit und dann funktioniert es auch wenn er rückwärts einrollt,
Goetz Geschrieben vor 19 Stunden Geschrieben vor 19 Stunden (bearbeitet) vor 2 Stunden schrieb UweL: Die Lösung mit der negative Geschwindigkeit funktioniert nur, wenn der Zug immer vorwärts einrollt. Hallo Uwe, wenn du außerdem die Option "relativ zur Fahrtrichtung" aktivierst, kannst du immer eine positive Geschwindigkeit vorgeben (weil du ja zuvor die Fahrtrichtung umgekehrt hast) Oder du verzichtest auf die Umkehr der Fahrtrichtung und gibst (mit aktivierter Option "relativ zur Fahrtrichtung") immer eine negative Geschwindigkeit an. Aber die wirklich einfachste Methode ist die Beschleunigung im Kontakt zu aktivieren. Wenn du den Schaltkontakt von Bahnland verwendest, kannst du ihn wie ein Signal umschalten. Und für jede der 10 möglichen Stellungen unterschiedlich konfigurieren. Auch die Wirkrichtung lässt sich dabei umkehren. Beispielanlage: Wendezug Vorschläge.mbp Viele Grüße Götz P.S.: Sorry - hat sich zeitlich mit Phrontistes gleichlautender Antwort überschnitten ... Bearbeitet vor 17 Stunden von Goetz P.S.
Phrontistes Geschrieben vor 19 Stunden Geschrieben vor 19 Stunden vor 26 Minuten schrieb UweL: Seine Lösung ist mir für diese eigentliche einfache Aufgabe aber zu aufwändig. Sie ist sogar sehr unaufwendig, denn man muss nie wieder an die EV wenn die Konstellation widerholt auftritt. Man muss nur noch das (immer gleiche) Schlagwort bei Kontakt und Signal setzen und beim Kontakt das Ausfahrsignal eintragen.
streit_ross Geschrieben vor 18 Stunden Geschrieben vor 18 Stunden vor 44 Minuten schrieb UweL: Seine Lösung ist mir für diese eigentliche einfache Aufgabe aber zu aufwändig. Ich habe hier für Dich eine kleine Demo mit einer sehr übersichtlichen EV, die 3 verschiedene Konstellationen der Fahrtrichtungdumkehr berücksichtigt. Und bitte auch den Kommentar nicht überlesem. Gruß streit_ross Wendezug alternativ.mbp
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden