Jump to content

Empfohlene Beiträge

Geschrieben

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

Geschrieben (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 von Goetz
Ergänzungen
Geschrieben

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:

Zug-FahrzeugaufGleiskontakt.thumb.jpg.868b1810d5574704d5968f1b555a8a0a.jpg

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

Geschrieben

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

Geschrieben

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

Geschrieben (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? ;)

 Screenshot2025-05-14072004.thumb.jpg.c065fd0cd117cce4074ff4bfdf8aa667.jpg

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.  

Screenshot2025-05-14072224.thumb.jpg.704bb31e73667d4e247558e8d83e1569.jpg

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. 

Screenshot2025-05-14075147.thumb.jpg.55a9ba1c93b7c405e040c2e22beb1712.jpg

VG,

Hawkeye

 

 

Bearbeitet von Hawkeye
Geschrieben (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) . 

Screenshot2025-05-14081144.thumb.jpg.587c136af62cccb601c39d4f4ee77859.jpg

Die Lok wird nur angesprochen, wenn du den Auslöser "Fahrzeug" ansprichst. 

Screenshot2025-05-14081839.thumb.jpg.b2cbd676e0886b7ad3ba473a4dc56475.jpg

Dann fährt sie auch wieder los, auch wenn der Tender / Anhänger auf dem Kontakt stehen sollte.   

VG,

Hawkeye

Bearbeitet von Hawkeye
Geschrieben (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 von Phrontistes
typo

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...