prinz Geschrieben 20. März 2022 Geschrieben 20. März 2022 Hallo zusammen, Ich beschäftige mich (mal wieder) mit Rangierbetrieb. Hierbei bin ich auf zwei Fragen gestoßen, für die ich bisher keine Lösung habe (Außer Mitschreiben von Ereignissen in Variablen). Es geht um Waggons, also Fahrzeuge ohne Antrieb: 1. Kann man die Fahrtrichtung von Waggons ermitteln (vorwärts = Richtung vordere Kupplung) ? 2. Kann man ermitteln, welcher Waggon ein Gleis / Gleiskontakt betritt (statt des Triebfahrzeugs) ? Dies wäre hilfreich um zu ermitteln, ob die vordere oder hintere Kupplung eines Waggons deaktiviert werden soll. Wenn jemand eine Idee hat, bitte melden. Viele Grüße, Wolfgang
Goetz Geschrieben 20. März 2022 Geschrieben 20. März 2022 (bearbeitet) Hallo Wolfgang, vor 28 Minuten schrieb prinz: um zu ermitteln, ob die vordere oder hintere Kupplung eines Waggons deaktiviert werden soll kannst du (per Lua) prüfen, an welcher Kupplung etwas hängt. Die Kupplungen ohne Anhang sind die äußeren Kupplungen des Zugverbands. Hilft dir das? Götz Bearbeitet 20. März 2022 von Goetz Bild hinzugefügt
prinz Geschrieben 20. März 2022 Autor Geschrieben 20. März 2022 Hallo Götz, Danke für die Info. Ich muss das mal durchspielen, ob ich damit das Ergebnis erreichen kann. Grüße, Wolfgang
prinz Geschrieben 20. März 2022 Autor Geschrieben 20. März 2022 Nochmal Hallo, Ja, das hilft mir weiter. Falls jemand hier auch eine Lösung sucht, ein paar Details: Mit diesem Skript werden die Kupplungsbelegungen eines Zuges ausgelesen und einerseits in das Protokoll geschrieben. Zusätzlich wird bei jedem Waggon eine Variable eingetragen, ob sich die Lok Richtung vordere Kupplung (=0) oder Richung hintere Kupplung (=1) befindet: Hier das Protokoll dazu (mit meinem Beispielzug): Bisher sieht es so aus, dass die Waggons immer beginnend beim Triebfahrzeug ausgelesen werden, so dass man sich eine Reihenfolgeermittlung sparen kann. Also: Danke nochmal. Problem gelöst. Viele Grüße, Wolfgang
Goetz Geschrieben 20. März 2022 Geschrieben 20. März 2022 Vielen Dank für die Details dazu, Wolfgang Und für das Beispielskript
EASY Geschrieben 20. März 2022 Geschrieben 20. März 2022 Hallo, vor 1 Stunde schrieb prinz: Bisher sieht es so aus, dass die Waggons immer beginnend beim Triebfahrzeug ausgelesen werden ... es sieht nicht nur so aus... siehe hier Gruß EASY
prinz Geschrieben 21. März 2022 Autor Geschrieben 21. März 2022 Hallo @EASY, ich glaube, da hat sich was geändert. Mein "Testzug": (von links nach rechts): 2xGetreidewagen, 2xDWV I10.1, 2xDWV G10.1, Lok BR 218, Gbs 254 lang, Kbs443, Rlmms (Die Pfeile auf den Waggons sind für meine Tests. Sie zeigen auf die vordere Kupplung) Versuch1: Lok in der Mitte, Rückwärtsfahrt, Einfahrt von links: Versuch2: Lok in der Mitte, Vorwärtsfahrt (Lok gedreht), Einfahrt von links: Versuch3: Lok in der Mitte, Rückwärtsfahrt, Einfahrt von rechts: Auch bei Einfahrt von rechts mit erneut gedrehter Lok dasselbe Ergebnis. Grüße, Wolfgang
tim-fischertechnik Geschrieben 19. April 2022 Geschrieben 19. April 2022 Hallo @prinz, da mich auch das Thema interessiert, habe ich dein Skript etwas modifiziert, um damit eine fahrtrichtungsabhängige Türsteuerung umzusetzen. Auch von meiner Seiten aus. Vielen Dank für das Skript! Das konnte ich echt gut gebrauchen. Am 20.3.2022 um 17:42 schrieb prinz: Zusätzlich wird bei jedem Waggon eine Variable eingetragen, ob sich die Lok Richtung vordere Kupplung (=0) oder Richung hintere Kupplung (=1) befindet: Diese Variable "zur Lok" erfüllt bei mir einen etwas anderen Zweck, und zwar gibt die Variable die relative Position der Wagen ohne Antrieb zum Auslöser (Lok) wieder. Wenn die vordere Kupplung in dieselbe Richtung wie die vordere Kupplung des Auslösers zeigt, dann besitzt sie denn Wert 0. Andernfalls besitzt sie den Wert 1. Dann zeigen Kupplungen gleichen Typs genau in die entgegengesetzte Richtung. Mithilfe dieses Positionswertes ermittle ich dann im zweiten Schritt eine fiktive Fahrtrichtung. Wenn "zur Lok = 0" gilt, dann entspricht die fiktive Fahrrichtung genau der Fahrrichtung des Auslösers (vorwärts ==> vorwärts). Andernfalls genau umgekehrt (vorwärts ==> rückwärts). Das Skript selbst habe ich mit Funktionen ausgelagert, damit es übersichtlicher ist. Die Funktionen finden sich in der Skript-Datei (<> Skript). Am 20.3.2022 um 15:47 schrieb prinz: 1. Kann man die Fahrtrichtung von Waggons ermitteln (vorwärts = Richtung vordere Kupplung) ? Mit dem modifizierten Skript kann man nun dies ermitteln. Oder hat sich das erübrigt? Ich habe die Demoanlage "Kupplungsbelegungen auslesen" mit dem modifizierten Skript unter folgender ID als Entwurf veröffentlicht: 83C32D12-056A-49B1-B20E-D9AE1E6D56DE In meiner Anlage Türsteuerung verwende ich nun die relative Fahrrichtung, um die Türen abhängig von der Ausrichtung und Fahrtrichtung immer an der richtigen Stelle öffnen zu lassen. fahrtrichtungsabhängige Türsteuerung:fahrtrichtungsabhängige Türsteuerung.mbp Viele Grüße Tim
tim-fischertechnik Geschrieben 20. April 2022 Geschrieben 20. April 2022 Hallo nochmal, ich füge hier zwei Konzepte für eine fahrtrichtungsabhängige Spitzen- und Zugschlussbeleuchtung für alle Interessierten ein, die das Auslesen der Kupplungsbelegungen nutzen. Im Grunde genommen führen beide Konzepte zum selben Ergebnis. Es leuchten immer die weißen Spitzenlichter an der vorderen Stirnseite in Fahrrichtung. Am Zugschluss leuchten dann die roten Zugschlusslichter auf. Zwischen den einzelnen Wagons erlischt die Beleuchtung. (genauere Beschreibung als Link: TF-Ausbildung.de - Zg-Signale) Im Konzept A wende ich eine Methode an, bei der alle Wagen der Fahrrichtung nach aufgeschlüsselt werden. Das heißt, dass der erste Wagon in Fahrrichtung auch wirklich an erster Stelle einer Liste und der letzte Wagon in Fahrtrichtung an letzter Stelle in der Liste steht. Dazu musste ich in manchen Sonderfällen die ursprüngliche Wagenreihung umkehren. Anschließend kann ich auf die Reihenfolge der Wagenreihung in dieser Liste zurückgreifen und im Auslöser den ersten und letzten Wagen schreiben und somit dann die Animationen schalten. Das Konzept B nutzt dieselbe Methode wie in der fahrtrichtungsabhängigen Türsteuerung. Beide Konzepte haben ihre Vor- und Nachteile, wobei mir persönlich das Konzept B ein wenig besser gefällt, da der Programmieraufwand geringer ist. Dies kann man beispielsweise daran erkennen, dass in Konzept A erst mühselig unterschieden werden muss, ob der Zugverband aus nur einem oder mehreren Wagen besteht.Konzept A:Spitzen - und Zugschlussbeleuchtung Konzept A.mbpKonzept B:Spitzen - und Zugschlussbeleuchtung Konzept B.mbp Viel Spaß beim Ausprobieren Liebe Grüße Tim
Hawkeye Geschrieben 27. April 2022 Geschrieben 27. April 2022 Am 20.3.2022 um 15:47 schrieb prinz: 2. Kann man ermitteln, welcher Waggon ein Gleis / Gleiskontakt betritt (statt des Triebfahrzeugs) ? Hallo @prinz, deine Frage ist zwar schon eine Weile her, wurde aber bisher nicht beantwortet. Als "Nebenprodukt" meiner aktuellen Experimente kann ein Fahrzeug , ob Lok oder Wagen auch auf einem Gleiskontakt ermittelt werden, ob beim Betreten oder Stoppen. Ich habe mein Skript deshalb dahingehend erweitert. Falls es dich noch interessiert, hier eine Testanlage mit dem Skript dazu. Viele Grüße, Hawkeye Ermittlung Fahrzeug auf GK.mbp
prinz Geschrieben 28. April 2022 Autor Geschrieben 28. April 2022 Hallo @Hawkeye, Tolle Lösung. Ich habe es zwischendurch auch nochmal (vergeblich ) versucht. Wenn man Deine Lösung sieht, fragt man sich: "Warum bin ich da nicht drauf gekommen". Ich denke, dass ich jetzt die Werkzeuge (Methoden) zusammen habe, mit dem ich dann mein Ziel weiterverfolgen kann, die Steuerung für den Güterbahnhof in der Anlage "Viel_Rangierbetrieb" ( EE634A9D-C177-41A8-966A-F0483E0C5444 ) per GBS zu realisieren. Hierin wird z.B. für das Szenario Ablaufberg die Aktiviereung/Deaktivierung der Kupplungen benötigt. @tim-fischertechnik hat ja hier schon eine Lösung zur Ermittlung der Ausrichtung der Waggons (wegen Kupplung vorne/hinten). Mit Deiner Lösung kann man das Entkupplen an einer vorgegebenen Stelle per GBS durchführen. Sicher gibt es hier noch derzeit verborgene Aufgaben zu lösen, aber die Grundfragen sind geklärt. Danke Euch für Eure Unterstützung. Viele Grüße, Wolfgang
Hawkeye Geschrieben 28. April 2022 Geschrieben 28. April 2022 vor 20 Minuten schrieb prinz: Wenn man Deine Lösung sieht, fragt man sich: "Warum bin ich da nicht drauf gekommen". Hallo Wolfgang, das Kompliment kann ich gleich zurückgeben. Den die Idee, die Wagen an vorderer/hinterer Kupplung abzufragen, hatte ich bisher auch nicht auf dem Schirm. Habe das bisher gar nicht so registriert, aber die Idee hat wirklich Potential. Eröffnet eine neue Vorgehensweise, um einzelne oder eine Auswahl von Wagen von einem Zug beim Rangieren abzukuppeln. Zum Abkuppeln braucht ja eigentlich nur eine Kupplung an einem Wagen dann aber auf der richtigen Seite deaktiviert werden. Das werde ich jetzt auch angreifen, die Vorarbeit hast du ja schon geleistet.😂👍 Rangieren am Ablaufberg habe ich schon realisiert. Ich gebe den Wagen die Variable „Zielort“ und trage z.B. Städtenamen ein. Die Fahrstraßen fragen diese Variable ab und verteilen die Wagen automatisch auf die verschiedenen Gleise des Gleisfächers. Am Rangieren per GBS bin ich auch dran, aber ohne Ablaufberg, eher für kleine Rangierbahnhöfe, wie z.B. eine Containerentladung, o.ä. Hier der Link zu dem (noch nicht aktualisierten) letzten Stand bevor ich die „Schlagwort“-Lösung gesucht habe. Ist also noch nicht darin enthalten, hatte noch keine Zeit dazu. Werde mir deine o.g. Anlage mal anschauen, vielleicht können wir uns ja gegenseitig beim „Probleme lösen“ unterstützen, auch wenn wir andere Ansätze verfolgen. Viele Grüße, Hawkeye
prinz Geschrieben 28. April 2022 Autor Geschrieben 28. April 2022 Hallo @Hawkeye, schaue ich mir unbedingt an. Bin nur derzeit zeitlich arg eingeschränkt. Es gibt noch ein Leben außerhalb MBS Aber ich versuche, auf dem Aktuellen zu bleiben. Viele Grüße, Wolfgang
Hawkeye Geschrieben 29. April 2022 Geschrieben 29. April 2022 (bearbeitet) vor 14 Stunden schrieb prinz: Anlage "Viel_Rangierbetrieb" Hallo Wolfgang, ich weiß gar nicht was dein Problem mit der Anlage ist. Sie ist doch klasse und läuft perfekt. Wo sieht du den Schachstellen oder Verbesserungspotential? VG, Hawkeye Bearbeitet 29. April 2022 von Hawkeye
prinz Geschrieben 29. April 2022 Autor Geschrieben 29. April 2022 Hallo @Hawkeye, Ja, es läuft alles gut. Ich hatte aber mal geschrieben, dass ich noch ein GBS oder sonstige Tools einbauen wollte, damit auch unsere "Spielkinder" mal die Steuerung übernehmen können. Vielen ist eine automatisch laufende Anlage wohl zu langweilig. Ansonsten: Danke für Deinen Kommentar. Viele Grüße, Wolfgang
Hawkeye Geschrieben 29. April 2022 Geschrieben 29. April 2022 vor 33 Minuten schrieb prinz: damit auch unsere "Spielkinder" mal die Steuerung übernehmen können. Ok, „Action“ = True
Hawkeye Geschrieben 2. Mai 2022 Geschrieben 2. Mai 2022 Hallo @prinz, ich habe mit deiner Idee der Kupplungserkennung auch mal ein wenig experimentiert und sie in einer kleinen Rangieranlage umgesetzt. Mit dem Hinweis von Götz lässt sich schon eine Menge anfangen. Die folgenden Dinge habe ich mal umgesetzt. Am 20.3.2022 um 15:47 schrieb prinz: ob die vordere oder hintere Kupplung eines Waggons deaktiviert werden soll. Am 28.4.2022 um 19:21 schrieb Hawkeye: Zum Abkuppeln braucht ja eigentlich nur eine Kupplung an einem Wagen dann aber auf der richtigen Seite deaktiviert werden. Das werde ich jetzt auch angreifen, die Vorarbeit hast du ja schon geleistet.😂👍 Damit man auch im laufenden Betrieb sehen kann, was passiert, habe ich die vordere und hintere Kupplung durch Andy's Leuchtwürfel mal sichtbar gemacht und die Fahrziele auf den Wagen platziert. (Dadurch kann man die Ausrichtung im Zug sehr gut erkennen.) Es sind 3 Züge vorhanden. Die erste (BR 218-2) rangiert ohne Anzeige (zur Verifizierung der Steuerung). Die beiden anderen Loks mit den Wagen sind mit Anzeige. Die Ausrichtung der Wagen und der Loks kann beliebig verändert werden, sie hat keinen Einfluss auf den Rangierbetrieb. Sind mehrere Wagen mit dem gleichen Zielort hintereinander im Zug, werden alle Wagen mit dem gleichen Zielort zusammen abgekuppelt. Viele Grüße, Hawkeye Demo-Rangieren mit automatische Kupplungserkennung.mbp
Hawkeye Geschrieben 3. Mai 2022 Geschrieben 3. Mai 2022 Hallo, ich habe in der obigen Anlage gerade festgestellt, das eine kleine Anweisung fehlt, um die Waggons nach dem Sortieren auch wieder herausfahren zu können! Hier zur Korrektur und zum Einfügen der erforderliche kleine Eintrag: Dann klappt es mit der Einstellung "An Wagen ankuppeln" = True auch mit dem rausfahren. Viele Grüße, Hawkeye
prinz Geschrieben 3. Mai 2022 Autor Geschrieben 3. Mai 2022 Hallo @Hawkeye, hab mir deine Demo-Anlage gerade anschauen können. Das sieht nach einer guten, weiternutzbaren Lösung aus. Gratulation. Viele Grüße, Wolfgang
Hawkeye Geschrieben 3. Mai 2022 Geschrieben 3. Mai 2022 Hallo Wolfgang, danke. vor 14 Minuten schrieb prinz: Das sieht nach einer guten, weiternutzbaren Lösung aus. Das hoffe ich doch. Ich habe selbst dabei wieder viel gelernt. Am 20.3.2022 um 17:42 schrieb prinz: Bisher sieht es so aus, dass die Waggons immer beginnend beim Triebfahrzeug ausgelesen werden, so dass man sich eine Reihenfolgeermittlung sparen kann. Wie ich dabei festgestellt habe, ist das nicht der Fall. Es gibt 4 verschiedene Möglichkeiten der Kombination der Ausrichtung vom ersten und letzten Fahrzeug. Bei 1. - 3. stimmt die Zählreihenfolge bei ipairs() beginnend mit der Lok = 1. Nur bei 4. beginnt die Reihenfolge jedoch mit dem letzten Wagen bei = 1 Deshalb muss bei 4. die Reihenfolge der Fahrzeuge in der Tabelle beim Einlesen umgekehrt werden. Es gibt vielleicht noch eine elegantere Lösung dafür, mir ist bisher nur nichts Besseres eingefallen. Viele Grüße, Hawkeye
prinz Geschrieben 3. Mai 2022 Autor Geschrieben 3. Mai 2022 Hallo @Hawkeye, gut zu wissen. Dumm, wenn ich hier nicht alle Möglichkeiten getesetet habe. Ich hoffe, die Lösung für meine Aufgabenstellungen zu nutzen. Grüße, Wolfgang
Goetz Geschrieben 3. Mai 2022 Geschrieben 3. Mai 2022 vor 2 Stunden schrieb Hawkeye: die Reihenfolge der Fahrzeuge in der Tabelle ... kannst du wie folgt umkehren: Beatles = {"John", "Paul", "George", "Ringo"} function Umkehren(l) local neueListe = {} for k, v in ipairs(l) do table.insert(neueListe, 1, v) end return neueListe end print(table.concat(Beatles, " - ")) Beatles = Umkehren(Beatles) print(table.concat(Beatles, " - ")) Die Funktion table.insert schiebt (bei Angabe einer Position) alle nachfolgenden Einträge nach hinten. Wenn du alle Elemente der ursprünglichen Liste nacheinander an erster Stelle einfügst, steht zum Schluss das letzte Element an vorderster Stelle. Viele Grüße Götz
Hawkeye Geschrieben 3. Mai 2022 Geschrieben 3. Mai 2022 vor 6 Minuten schrieb Goetz: Die Funktion table.insert schiebt (bei Angabe einer Position) alle nachfolgenden Einträge nach hinten. Wenn du alle Elemente der ursprünglichen Liste nacheinander an erster Stelle einfügst, steht zum Schluss das letzte Element an vorderster Stelle. Danke, Götz 👍 Viele Grüße, Hawkeye
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