EASY Geschrieben 27. Februar 2022 Geschrieben 27. Februar 2022 (bearbeitet) Hallo, Manche Problemlösungen lassen sich mit der EV nicht direkt lösen, deshalb dachte ich ich eröffne diesen Thread und gebe einen Einblick, was in diesem Fall in meinem Kopf so vor sich geht um eine Lösung zu finden. Ich möchte einen Zug zerlegen und wieder neu mit veränderter Wagonreihenfolge zusammenstellen. Hierfür habe ich mir einen "doppelten" Ablaufberg zusammengebastelt... ... die Definitionen für das Entkupplungsgleises als Weiche... Das erste Problem ist: ...wann ist beim Zerlegen des Zuges nur noch die Lok überig? Meine Lösung: ... durch den ablaufenden Wagon (Entkoppelt durch das Entkupplongsgleis) entsteht im Zug eine Lücke... ... dadurch tritt das Ereignis "Zug betritt das Gleis 'Ablauf' immer wieder erzeugt... ... wenn nur noch die Lok überig ist... ergibt die Auswertung dieses Ereignisses mit #layout:getVehicleGroup(vehicle) gleich 1... if #layout:getVehicleGroup(vehicle)==1 then vehicle.targetSpeedAbs=-40 end ... und die Lok fährt in die entgegengesetzte Richtung wieder weg. Das zweite Problen ist: Wann ist der Zug wieder zusammengesetzt? (erst dann soll er weiterfahren)... ... hierzu wird das Ereignis "Zug Fahrzeug verläßt virtuelles Depot" ausgewertet... Wenn der letzte Wagon aus dem Depot tritt (depot.count=0) wird dieser in einer Schleife "verfolgt"... --[[ Ist der letzte Wagon angekoppelt? -> Zug wieder vollständig. -> Solange der letzte Wagon aus dem Depot ein Einzelfahrzeug ist, ist der Zug nicht vollständig --]] if not deferredCall then if depot.count==0 then defer(1,"v1") end elseif deferredCall=="v1" then if #layout:getVehicleGroup(vehicle)==1 then -- letzte Wagon aus Depot ist Einzelfahrzeug? (-> Schleife) print("Zug ist nicht zusammengestellt") defer(1,"v1") else -- letzte Wagon aus Depot hat angekoppelt (ist kein Einzelfahrzeug mehr) print("Zug ist zusammengestellt") $("Ausfahrt").state=1 --Ausfahrtsignal auf Fahrt (1) end end bis... #layout:getVehicleGroup(letzter Wagon aus Depot)>1 ist (dann hat er angekoppelt...)... ... und das Signal kann auf Fahrt schalten und den Zug in Bewegung setzen. Nachtrag: hier noch das Projekt Zug neu Aufbauen01.mbp Ich weiß nicht wie groß das Interesse an solchen indirekten Lösungen ist, darum bin ich auf Reaktionen gespannt... Wenn jemand für andere Probleme, die sich nicht direkt in der EV lösen lassen, Verschläge hat... gerne hier als Fortsetzung... Gruß EASY Bearbeitet 27. Februar 2022 von EASY
Goetz Geschrieben 27. Februar 2022 Geschrieben 27. Februar 2022 (bearbeitet) Hallo EASY, unter der Content ID B9624917-F0EB-4AC4-A2B2-7EEAEDAD3FAB habe ich für dich ein Beispiel, in dem ich einen eintreffenden Zug per Lua in seine Bestandteile zerlege und jedes Fahrzeug ohne eigenen Antrieb ins Depot schicke. Ich nehme die Fahrzeugliste des Zuges, trenne bei jedem Fahrzeug die vordere und hintere Kupplung auf und sende es dann ins Depot. Die Waggons nehmen die aktuelle Sollgeschwindigkeit mit ins Depot. Mit dieser Geschwindigkeit werden sie bei Abruf aus dem Depot "katapultiert" und können so auch ohne abschüssige Strecke ein Stück Weg zurücklegen. Für die Zugbildung fehlt noch ein bisschen. Aber auch so ist das sicher eine interessante Alternative für dich? Hier ist das verwendete Skript: local t = layout:getVehicleGroup(vehicle) for i, v in ipairs(t) do v.couplers[0].enabled = false v.couplers[1].enabled = false if not v:hasEngine() then $("Depot"):add(v) end end Viele Grüße Götz Bearbeitet 27. Februar 2022 von Goetz Schreibfehler korrigiert
HaNNoveraNer Geschrieben 27. Februar 2022 Geschrieben 27. Februar 2022 Ihr denkt auch an Tender von Dampfloks?
EASY Geschrieben 27. Februar 2022 Autor Geschrieben 27. Februar 2022 Hallo, vor 31 Minuten schrieb Goetz: Ich nehme die Fahrzeugliste des Zuges, trenne bei jedem Fahrzeug die vordere und hintere Kupplung auf und sende es dann ins Depot. diese Methode wende ich hier an... (und man darf beim Zusammenbau nicht vergessen die Kupplungen wieder zu aktivieren). Auf das jetzige Beispiel bin ich ursprünglich gekommen als ich festgestellt habe, daß es ein funktionierendes Entkopplungsgleis gibt. Ich weiß nicht wie lange es dieses schon gibt... ist bis vor kurzem an mir vorbeigegangen... vor 31 Minuten schrieb Goetz: Aber auch so ist das sicher eine interessante Alternative für dich? Da dieser Thread dafür gedacht ist eben solche Lösungen vorzustellen gibt es vielleicht auch noch andere Interessenten... Gruß EASY
Goetz Geschrieben 27. Februar 2022 Geschrieben 27. Februar 2022 Hallo EASY, inzwischen habe ich die Demo so erweitert, dass der Zug auch wieder neu zusammengestellt wird. vor 32 Minuten schrieb EASY: diese Methode wende ich hier an.. Tut mir ehrlich leid, dass ich das übersehen habe!
Goetz Geschrieben 27. Februar 2022 Geschrieben 27. Februar 2022 vor 39 Minuten schrieb HaNNoveraNer: Ihr denkt auch an Tender von Dampfloks? Nein, in meinem Beispiel noch nicht. Du kennst ja meine Vorgehensweise, Prinzipien zuerst so einfach wie möglich zu halten. Aber wenn du durchschaust, was ich mache, dann kannst du es leicht erweitern und anpassen. Ich prüfe, ob ein Fahrzeug einen Antrieb hat. Du könntest stattdessen prüfen, ob es ein bestimmtes Schlagwort enthält.
EASY Geschrieben 27. Februar 2022 Autor Geschrieben 27. Februar 2022 Hallo, vor 21 Minuten schrieb Goetz: Tut mir ehrlich leid, dass ich das übersehen habe! ... nix da mit leid tun... Du kannst ja nicht wissen was ich mir damals dabei gedacht habe... vor einer Stunde schrieb HaNNoveraNer: Ihr denkt auch an Tender von Dampfloks? ...ständig ... mit Schlagwort "Tender" sieht die Auswertung von Ereignis "Zug betritt das Gleis 'Ablauf' jetzt so aus: --[[ Wenn kein Wagon mehr vorhanden oder "Tender" erreicht -> Lok in entgegengesetzter Richtung wegfahren --]] wl=layout:getVehicleGroup(vehicle) if #wl==1 or (#wl==2 and wl[2].variables["Tender"]==keyword) then vehicle.targetSpeedAbs=-40 end Zug neu Aufbauen01a.mbp Gruß EASY
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