-
Gesamte Inhalte
387 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von jloos
-
Hallo @Atrus und @Hawkeye, ich verfolge ein anderes Prinzip der Fahrstraßensteuerung. Jeder Zug fragt im Bahnhof und an Stellen, wo es mehrere Fahrmöglichkeiten gibt, eine zentrale Tabelle ab, "Ich bin ZugTyp 03, bin an Abfragestelle 42, wo muss ich hin". Es wird nicht geprüft, ob die Fahrstraße frei ist, das macht das Studio. Das funktioniert auch in 95% aller FS-Zuteilungen. Doch es kommt bei den letzten 5% vor, dass zwei Züge sich gegenseitig blockieren. In diesem Fall bekommt der im Bahnhof stehende Zug nach einer Wartezeit eine neue FS zurück in den Schattenbahnhof zugeteilt. Damit ist das Gleis frei für den anderen Zug. Dass der Zug zurück in den Schattenbahnhof fährt fällt nicht auf, hätte ja auch so sein können. @Roter Brummer, ich habe nicht immer alternative Fahrstraßen, vor allem bei der Einfahrt in den Bahnhof. Wie gesagt, das sich Fahrstraßen gegenseitig blockieren kommt relativ selten vor, in diesem Fall muss ich dann eine alternative FS einstellen. Ich lade die Anlage hoch, wenn ich das richtig läuft. Gruß Jürgen
-
Was ist denn dann das auslösende Ereignis? Dann muss ich dieses Script in alle Fahrstraßen auslösende Ereignisse einfügen. Ja, vielleicht das Script als BDE aufrufen wenn eine dieser FS aufgerufen wird. Ich probiere es mal. So stoßen Vorschläge eigene Denkanstöße an, Danke Gruß Jürgen
-
Hallo, ich bin im Moment mit meinem Latein am Ende. Ich möchte ja überwachen, ob eine Fahrstraße zu lange blockiert ist und habe dieses Script geschrieben. Allerdings habe ich nicht bedacht, dass der Zustand "Blockiert" ja das Ereignis nicht auslöst. Der anhängende Code wird also ausgelöst und gleich wieder beendet. Das auslösende Ereignis sind 4 aktivierte Fahrstraßen. --[[ steht eine FS längere Zeit auf "Blockiert", wird eine Ersatz-FS eingetragen --]] if not deferredCall then if route.state == 1 then defer(60, "Verzögerung") end elseif deferredCall == "Verzögerung" then if route.state == 1 then local Signal = route.waypoints[1] local LokOBJ = Signal.variables["Zug"] LokOBJ.variables["nächste FS"].autoActivate = true LokOBJ.variables["nächste FS"].active = false LokOBJ.variables["alte FS"] = LokOBJ.variables["nächste FS"] LokOBJ.variables["nächste FS"] = route.variables["ErsatzFS"] LokOBJ.variables["nächste FS"].autoActivate = true LokOBJ.variables["nächste FS"].active = true end end Hat jemand eine Idee? Gruß Jürgen
-
Oh Super, das ist ja einfacher als ich befürchtet habe. Danke @Goetz Gruß Jürgen
-
Hallo, gibt es eine Möglichkeit, den Status einer Fahrstraße festzustellen? Wenn ein Fahrstraße aktiviert wird, aber blockiert ist möchte ich nach einer bestimmten vergangenen Zeit darauf reagieren. Gruß Jürgen
-
Ergänzend für andere Interessierte noch eine Anmerkung: Die Ausgabe auf dem Textfeld endet bei mir mit 26 Zeilen. Aber der Tabelleninhalt kann in den Textfeld-Eigenschaften komplett kopiert werden Gruß Jürgen
-
Danke @Goetz Gruß Jürgen
-
Hallo @Goetz, ich kann meine Anlage nur exportieren, weil ich sehr viele eigene Weichenkonstruktionen verwende. Ich entschuldige mich schon mal, wenn bei schwachen Rechnern die FPS ziemlich runter geht. Wer Lust hat, kann mir helfen. Die Anlage läuft lange Zeit sauber, doch dann passiert es, das ein Zug nicht abfährt oder er keine neue Fahrstraße bekommt, oder er fährt in Fahrstraßen, die ihm nicht zugeordnet wurden. Ihr findet sicherlich Fehler. Ich freue mich auf Verbesserungsvorschläge und Fehleranalysen. Die Fahrstraßentabelle möchte ich in Excel sortieren, um Fehler aufzuspüren. Gruß Jürgen 240702_FS.mbp
-
Guten Morgen, Ich verwende eine Tabelle um die Fahrstraßen den Loks positionsabhängig zuzuweisen. Die Tabelle heißt Fahrstraße und enthält z.Zt. 50 Tabelleneinträge, die die Abfragestellen, also die Position auf der Anlage enthält. Zu jeder Abfragestelle kann ein Zugtyp also die Art des Zuges zugeordnet werden. Die Kombination aus Abfragestelle und ZugTyp ergibt dann die Fahrstraße. Bei 50 Tabelleneinträgen ist die Sache allerdings sehr unübersichtlich. Ich möchte nun die Tabelle in eine Exceltabelle übernehmen. Dafür möchte ich Euch bitten, mir ein Script zu schreiben, das mir die Einträge über das Ereignisprotokoll in der Reihenfolge " Abfragestelle ; ZugTyp ; Fahrstraße " ausgibt. Ein Bild der Tabelle hänge ich an. Danke schon mal für Eure Bemühungen. Gruß Jürgen
-
Hallo, ich habe eine einfache Lösung gefunden. Beim Einlagern der Züge je nach ZugTyp in einen festgelegten Bereich einlagern, dann funktioniert auch die Auslagerung nach ZugTyp. Es gibt sicherlich auch elegantere Lösungen, aber das war jetzt meine. Vielen Dank an Diejenigen, die sich mit dem Thema befasst haben. Gruß Jürgen
-
Hallo, dieses Script hat mir @Goetz vor längerer Zeit für das Abrufen eines beliebigen "zufälligen" Zuges aus einem Schattenbahnhof geschrieben. Funktioniert auch sehr gut. Doch jetzt kommt noch ein weiteres Auswahlkriterium hinzu. Nun ist ein weiteres Auswahlkriterium, der ZugTyp hinzu gekommen. Der ZugTyp ist als Text-Variable ZugTyp = "06" oder ZugTyp = "09" in der Lok hinterlegt, die vor den Ausfahrsignalen stehen. Bitte passt mir das Script entsprechend an. Danke. Gruß Jürgen --[[ Auswahl eines Zuges zur Ausfahrt --]] local WarteListe = {} local SignalListe = {$("Signal SB-Ausfahrt Gleis 02"), $("Signal SB-Ausfahrt Gleis 03"), $("Signal SB-Ausfahrt Gleis 04"), $("Signal SB-Ausfahrt Gleis 05"), $("Signal SB-Ausfahrt Gleis 06"), $("Signal SB-Ausfahrt Gleis 07"), $("Signal SB-Ausfahrt Gleis 08"), $("Signal SB-Ausfahrt Gleis 09"), $("Signal SB-Ausfahrt Gleis 10"), $("Signal SB-Ausfahrt Gleis 11"), $("Signal SB-Ausfahrt Gleis 12"), $("Signal SB-Ausfahrt Gleis 13"), $("Signal SB-Ausfahrt Gleis 14"), $("Signal SB-Ausfahrt Gleis 15"), $("Signal SB-Ausfahrt Gleis 16"), $("Signal SB-Ausfahrt Gleis 17"), $("Signal SB-Ausfahrt Gleis 18"), $("Signal SB-Ausfahrt Gleis 19"), $("Signal SB-Ausfahrt Gleis 20"), $("Signal SB-Ausfahrt Gleis 21"), $("Signal SB-Ausfahrt Gleis 22"), $("Signal SB-Ausfahrt Gleis 23"), $("Signal SB-Ausfahrt Gleis 24"), $("Signal SB-Ausfahrt Gleis 25"), $("Signal SB-Ausfahrt Gleis 26"), $("Signal SB-Ausfahrt Gleis 27"), $("Signal SB-Ausfahrt Gleis 28"), $("Signal SB-Ausfahrt Gleis 29"), $("Signal SB-Ausfahrt Gleis 30"), $("Signal SB-Ausfahrt Gleis 31"), $("Signal SB-Ausfahrt Gleis 32"), $("Signal SB-Ausfahrt Gleis 33"), $("Signal SB-Ausfahrt Gleis 34"), $("Signal SB-Ausfahrt Gleis 35"), $("Signal SB-Ausfahrt Gleis 36")} -- math.randomseed(os.time()) for i, Signal in ipairs(SignalListe) do if #layout:getVehiclesOn(Signal) > 0 then table.insert(WarteListe, Signal) end end local Anzahl = #WarteListe if Anzahl > 0 then local Zufall = math.random(1, Anzahl) local Signal = WarteListe[Zufall] Signal.variables["FS Ausfahrt"].autoActivate = true Signal.variables["FS Ausfahrt"].active = true print(Signal) end
-
danke @streit_ross, der Tipp war gut. Ich hatte alle Fahrzeuge untersucht und die Geräusche abgeschaltet. Nun habe ich nochmal nach "Porsche" gesucht und tatsächlich noch einen Porsche vor dem Drive-in Schalter bei McDonalds gefunden. Nun ist Ruhe im Karton. Gruß Jürgen
-
Guten Tag, ich habe auf meiner Anlage ein Geräusch wie von einem Sportwaren. Nun habe ich alle Fahrzeuge auf der Anlage abgesucht und die Geräusche abgeschaltet. Trotzdem hört das Geräusch nicht auf. Generell abschalten möchte ich die Geräusche nicht. Wie kann ich nun die Geräuschquelle finden? Gruß Jürgen
-
Ok. Danke @Eggu
-
Hallo, ich versuche mich in Lua einzuarbeiten, indem ich in der grafischen EV die Abläufe erstelle und dann in Lua umwandle und den Code ergänze. In dem Beispiel ist "H/V Hauptsignal 1" nur ein Platzhalter, wird im script durch "Signal = route.waypoints[1]" ersetzt. Wenn ich die grafische EV "fs ohne verz.jpg" in ein script umwandle sieht das so aus: if not deferredCall then if route.active then $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung") end elseif deferredCall == "Verzögerung" then $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 2 defer(2, "Verzögerung (2)") elseif deferredCall == "Verzögerung (2)" then $("BDE Türen schließen"):invoke(1, 0, $("H/V Hauptsignal 1").variables["Zug"]) $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 1 defer(2, "Verzögerung (3)") elseif deferredCall == "Verzögerung (3)" then local v = $("H/V Hauptsignal 1").variables["Zug"] if v:hasEngine() then v.targetSpeedAbs = 50 end end Die Zeile $("H/V Hauptsignal 1").state = 1 in der 3. Zeile gibt es nur ein mal. Nun füge ich eine Abfrage auf die FS 03 ein, um eine zusätzliche Verzögerung einzufügen. Wandle ich das in ein Script um, bekomme ich die Zeile $("H/V Hauptsignal 1").state = 1 zweimal. if not deferredCall then if route.active then if $("FS 03").active then defer(7, "Verzögerung") end $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung (2)") end elseif deferredCall == "Verzögerung" then $("H/V Hauptsignal 1").state = 1 defer(2, "Verzögerung (2)") elseif deferredCall == "Verzögerung (2)" then $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 2 defer(2, "Verzögerung (3)") elseif deferredCall == "Verzögerung (3)" then $("BDE Türen schließen"):invoke(1, 0, $("H/V Hauptsignal 1").variables["Zug"]) $("H/V Hauptsignal 1").variables["Abfahrsignal"].state = 1 defer(2, "Verzögerung (4)") elseif deferredCall == "Verzögerung (4)" then local v = $("H/V Hauptsignal 1").variables["Zug"] if v:hasEngine() then v.targetSpeedAbs = 50 end end Ich möchte verstehen, warum das so ist. Gruß Jürgen
-
ja, ich hattes es bemerkt und berichtigt. Schön dass ich die größten Objekte aufgelistet sehe. Da werde ich einiges reduzieren.
-
-
Hallo, Ich habe gedacht, mein Rechner hat genug Power um auch große Anlagen zu bewältigen. Ich habe 64GB Arbeitsspeicher, AMD Radeon RX 6700 XT Grafikkarte mit 12GB Speicher, AMD Ryzen 9 5950X Prozessor, Asus TUF GAMING B550-PLUS Board. Doch ich habe ihn niedergemacht. Nach dem Aufruf der Anlage, noch im Stillstand, gehen die FPS von 60 auf 37 runter. Deswegen würde mich mal interessieren, wie viele Polygone die Anlage hat. Wenn sie z.B. 10 Mio. Polygone hat, dann reicht es nicht, nur die Vegetation zu verringern. Gruß Jürgen
-
Lösungen für Steuerungsaufgaben / Control solutions
jloos antwortete auf Phrontistess Thema in Anleitungen und Tutorials
Danke für die Info's Gruß Jürgen -
Lösungen für Steuerungsaufgaben / Control solutions
jloos antwortete auf Phrontistess Thema in Anleitungen und Tutorials
Noch mal interessehalber: Auf der Lok war doch bestimmt ein Lokführer, der vom Steuerwagen signalisiert bekommt, wie er fahren soll. Direkte Fernsteuerung war do wohl noch nicht möglich. Gruß Jürgen -
Lösungen für Steuerungsaufgaben / Control solutions
jloos antwortete auf Phrontistess Thema in Anleitungen und Tutorials
nur mal interessehalber: Gab es Wendezüge mit Dampfloks, die vom Steuerwagen aus gesteuert wurden? Gruß Jürgen -
Danke @Hawkeye, damit werde ich mal experimentieren. Gruß Jürgen
-
Hallo, kann ich das Anfangssignal einer Fahrstraße auslesen und als Variable benutzen? Ein Ereignis "Fahrstraße aktiviert" wird ausgelöst. Damit soll das Zp9 aktiviert werden und ggf. Schranken geschlossen und dann erst dann das Signal auf Hp1 stellen. Jetzt habe ich das Signal als Objekt in der FS hinterlegt. Kann man nicht das Signalobjekt aus der Fahrstraße auslesen, also ohne das Objekt extra in der FS zu hinterlegen? Gruß Jürgen
-
Danke @Thomas_103
-
Danke @streit_ross, ich habe ein Formsignal gegen ein Lichtsignal mit der Ersetzen Funktion getauscht. Aber dabei gehen alle damit verbundenen Fahrstraßen kaputt. Die lassen sich nicht immer mit der Reparaturfunktion wieder herstellen. Ich werde damit aufhören. Ich setze die Zp9 Anzeige an die Formsignal, auch wenn es nicht eisenbahnkonform ist. Gruß Jürgen