Tesla Geschrieben 13. November 2018 Geschrieben 13. November 2018 Morgen allerseits, ich habe ein kleines Problem, das sich hoffentlich irgendwie lösen läßt. Die Ausgangssituation ist folgende: Ein Zug fährt in den Bahnhof ein und ich will die Waggons abkuppeln. Soweit kein Problem, über "Auslöser 1:Fahrzeug" die Lok ansprechen, die Kupplung deaktivieren und abfahren. Aber nun spielt mir mbs einen "bösen" Streich... wenn die Lok eine Lok mit Tender ist (ohne den Tender kommt zB ein BR 001 nicht weit, die Lok ist eigentlich eine Einheit von Lok und Tender), funktioniert das nicht, der Tender bleibt bei den Waggons. Nun könnte man den Tender gezielt ansprechen, geht aber nicht, da nicht immer dieselbe Lok einfährt. Also lese ich den Loknamen über $_trigger1.Name aus und übergebe ihn in die Variable "Bezeichnung", wobei der Lok die Objektvariable "-Tender" zugeordnet ist. Die Lok heißt "BR001-123", die entsprechende Objektvariable "Hänger" hat den Inhalt "-Tender", der Tender heißt "BR001-123-Tender". Nun war meine Idee war nun folgende: Bezeichnung + Hänger = Tendername ("BR001-123) + (-Tender) = BR001-123-Tender. §Bezeichnung + $Hänger =$Löser Aber genau das funktioniert nicht. Kann mir da irgendein Variable-Guru auf die Sprünge helfen? Danke und Gruß, Michael
metallix Geschrieben 13. November 2018 Geschrieben 13. November 2018 Moin moin Ich denke es sollte mit der lokerkennung funktionieren, wobei in den bedingungen eine abfrage nach dem typ lok eingetragen sein sollte. Hierbei gibt dann jede lok in einer objektvariablen an was fuer ein typ ( z.b „Tenderschlepper“) sie ist. Alle nicht „Tenderschlepper“ koennen direkt abkuppeln und alle „Tenderschlepper“ teilen in einer zweiten objectvariablen mit welchem tender sie denn ziehen (ich denke das sollte direkt mit copy/paste geschehen, damit auch der korekte name benutzt wird um den tender ansprechen zu lassen). Moeglicherweise genuegt auch einfach nur eine abfrage um entweder den korekten tender ansprechen zu lassen oder falls keiner vorhanden dann eben die lok direkt (Bedingungen erfuellt/bedingungen nicht erfuellt) . Cheers, Tom
Andy Geschrieben 13. November 2018 Geschrieben 13. November 2018 Hallo Michael, das ist ja keine Addition, sondern eine Stringverkettung. Ich gehe mal davon aus, dass MBS die (noch) nicht im Programm hat. MBS müßte unterscheiden können, ob es hier einen Zahlenwert oder einen String (Text) hat. Prinzipiell wird aber alles als String behandelt und folglich muß die Additionsoperation den String in eine Zahl wandeln, worauf es sicherlich nicht noch einmal auf die Idee kommt, es als Verkettung zu behandeln, wenn es keinen Zahlenwert ergibt. Also, Tom's Vorschlag genau durchlesen. Gruß Andy
Wüstenfuchs Geschrieben 13. November 2018 Geschrieben 13. November 2018 (bearbeitet) Hallo @m.weber, ein ähnliches Problem hatten wir Kiddis auch mal. Tatas lösung sah dafür etwa so aus: Zuerst jeder Tenderlok eine Objektvariable (zB. Tender) mit dem Namen des Tenders als Wert zuweisen. Die EV sieht dan etwa so aus: Ereigniss: Fahrzeug betritt Gleis Fahrzeug: Alle Gleis: XY Bedingung: Variable besitzt Wert Variable: $Trigger1.Tender Wert: $Trigger1.Tender Aktion: Bedingung erfüllt: Kupplung Aktivieren/Deaktivieren Fahrzeug: $Trigger1.Tender Kupplung: Hinten Deaktivieren Bedingung nicht erfüllt: Kupplung Aktivieren/Deaktivieren Fahrzeug: Trigger1 Kupplung: alle Kupplungen deaktivieren Ich hoffe ich habe jetzt die Variablen Namen richtig geschrieben, da habe ich manschmal schwirigkeiten mit der Schreibform. Falls da ein Fehler ist darf er gerne durch andere Koregiert werden. HG C.Fuchs Bearbeitet 13. November 2018 von Wüstenfuchs Wort vergessen
Tesla Geschrieben 13. November 2018 Autor Geschrieben 13. November 2018 Hallo Tom, ein anderer Ansatz als meiner, aber es funktioniert . SUPER!!!. Danke für die schnelle Hilfe. Gruß, Michael
BahnLand Geschrieben 13. November 2018 Geschrieben 13. November 2018 Hallo, hier noch ein "allgemeiner" Ansatz, der in die Richtung von C.Fuchs geht, aber eben für alle möglichen Mehrfach-Kombinationen von Fahrzeugen funktioniert: Neben Lok+Tender gibt es auch noch andere Fahrzeug-Kombinationen, die nicht "auseinandergerissen" werden sollten, z.B. die Doppellok Ae 8/14, bestehend aus 2 aneinandergekuppelten Lokhälften, oder eine fest verbundene Doppeltraktion für extra-schwere Güterzüge, oder eine nicht zu trennende Triebwagen-Konfiguration, z.B. mit Jakobs-Drehgestell in der Mitte, die aber mit anderen Triebwageneinheiten in Mehrfach-Traktion verkehren können soll. Diese Fälle lassen sich alle "unter einen Hut bekommen", wenn man für das antreibende Fahrzeug (nachfolgend "Tfz" (Triebfahrzeug) genannt) in derartigen Kombinationen jene Fahrzeuge vorne und hinten, deren Kupplungen beim Entkupplen gelöst werden sollen, in zwei Objektvariablen "FzV" (Fahrzeug vorne) und "FzH" (Fahrzeug hinten) hinterlegt. Da nicht von vornherein festgelegt ist, welche Ausrichtungen die "Endfahrzeuge" der nicht zu trennenden Kombination haben (bei der Schlepptender-Dampflok ist das eindeutig, bei der Doppellok hinten aber schon "verdreht"), benötigt man dann noch zwei Objektvariablen, in denen hinterlegt ist, welche Kupplung ("vorne" oder "hinten") gelöst werden soll (es dürfen ja nicht beide Kupplungen des Endfahrzeugs gelöst werden). Wendet man dieses Verfahren schließlich auch noch für Einzelloks an (dann referenzieren "FzV" und "FzH" beide das "Tfz"), lässt sich das Verfahren des Abkuppelns für alle möglichen Zugzusammenstellungen völlig einheitlich anwenden. Hier ein paar Anwendungsbeispiele, wobei in den Objektvariablen FzVK und FzHK die zu lösende Kupplung angezeigt werden soll: Schlepptender-Dampflok: Tfz.FzV = Lok, Tfz.FzVK = "vorne", Tfz.FzH = Tender, Tfz.FzHK = "hinten" Doppellok SBB Ae 8/14: Tfz.FzV = Lokhälfte1, Tfz.FzVK = "vorne", Tfz.FzH = Lokhälfte2, Tfz.FzHK = "vorne" Doppeltraktion: Tfz.FzV = Lok1, Tfz.FzVK von Lok-Ausrichtung abhängig, Tfz.FzH = Lok2, Tfz.FzHK von Lok-Ausrichtung abhängig Triebwageneinheit: Tfz.FzV = Vorderer Endwagen, Tfz.FzVK = "vorne", Tfz.FzH = hinterer Endwagen, Tfz.FzHK = "vorne" Einzelne Lokomotive: Tfz.FzV = Tfz, Tfz.FzVK = "vorne", Tfz.FzH = Tfz, Tfz.FzHK = "hinten" Beim entkuppeln der Lok oder der Fahrzeugkombination geht an dann wie folgt vor: Bedingung Tfz.FzVK = "vorne" erfüllt: Bei Tfz.FzV Kupplung vorne lösen Bedingung Tfz.FzVK = "vorne" nicht erfüllt: Bei Tfz.FzV Kupplung hinten lösen Bedingung Tfz.FzHK = "vorne" erfüllt: Bei Tfz.FzH Kupplung vorne lösen Bedingung Tfz.FzHK = "vorne" nicht erfüllt: Bei Tfz.FzH Kupplung hinten lösen Viele Grüße BahnLAnd
metallix Geschrieben 13. November 2018 Geschrieben 13. November 2018 ....noch eine idee. Anstatt die kupplungen von lok oder tender oder von den bei BahnLand erwaehnten kombinationen anzusprechen sollte es auch funktionieren wenn man grundsaetzlich die entsprechende kupplung des ersten gezogenen waggons anspricht. Dann entfaellt der ganze aufwand mit dem herausfinden von welchem lok/tender, lok/lok usw kombinationen um dort schliesslich die richtige kupplung anzusprechen. Cheers, Tom
Wüstenfuchs Geschrieben 13. November 2018 Geschrieben 13. November 2018 Hallo @metallix, Die Idee ist nicht schlecht, aber woher soll die EV wissen welcher Wagon jetzt der erste ist? Die Triggerfunktion funktionirt nur bei angetriebenen Fahrzeugen, aber nicht bei Wagongs oder gezogenen Loks. Also müste man entweder für jeden möglichen Wagon einen EV eintrag machen oder die Wagonerkennung von BahnLand´s Abrollberg verwenden. Was meiner Meinung nach, die EV nur unnötig aufblasen würde. So gesehen ist die verwendung von Objektvariablen indenen der Name des Tenders usw. gespeichert ist wohl die einfachere Lösung, Da hier für das entkuppeln nur ein Eintrag pro Gleis nötig ist. HG Wüstenfuchs
metallix Geschrieben 13. November 2018 Geschrieben 13. November 2018 @ Wuestenfuchs, Stimmt im prinzip. Ich bin von einer situation ausgegangen bei der in einem ablauf eine lok/lokkombination einen zug mal abhaengt/ankoppelt, weil da dann der erste waggon leicht zu identifizieren und einzuprogramieren ist. Im grunde einfach anstatt des tenders oder anderen teiles einer lokkombination. Wenn eine lok/lokkombination wie im rangierbetrieb mit vielen zuegen in beruehung kommt geht es abba auch, allerdings mit mehr programieraufwand wie von dir erwaehnt... Cheers, Tom
Wüstenfuchs Geschrieben 13. November 2018 Geschrieben 13. November 2018 Hallo @metallix, vor 24 Minuten schrieb metallix: Wenn eine lok/lokkombination wie im rangierbetrieb mit vielen zuegen in beruehung kommt geht es abba auch, allerdings mit mehr programieraufwand wie von dir erwaehnt... und da liegt die Krux an Deiner Idee. User mit schwächeren PC stoßen da schnell an dessen Leistungsgrenzen, wenn die EV unnötig aufgebläht wird. Daher sollte man möglichst immer den Smartesten Weg gehen, wenn die Anlage geteilt werden soll. HG Wüstenfuchs
metallix Geschrieben 13. November 2018 Geschrieben 13. November 2018 Hi again @ Wuestenfuchs, ...das ist die konzeptionelle entscheidung am begin der planung und des bauens einer neuen anlage: was will ich, in welcher groesse, welchem comfort usw. bauen? Dementsprechend wird dann mit ruecksicht auf die zu verfuegung stehende leistung "unter der haube" gebaut, sowohl auf der arbeitsplatte wie auch in der ev. Cheers, Tom
Andy Geschrieben 13. November 2018 Geschrieben 13. November 2018 vor 17 Minuten schrieb metallix: das ist die konzeptionelle entscheidung am begin der planung ...aber erst ab der zweiten Anlage Grüße Andy
metallix Geschrieben 13. November 2018 Geschrieben 13. November 2018 vor 47 Minuten schrieb Andy: ...aber erst ab der zweiten Anlage Grüße Andy ....oder heftigem studium des forums und der vielen guten videos auf youtube Cheers, Tom
Andy Geschrieben 13. November 2018 Geschrieben 13. November 2018 @Neo sollte bei der Demo-Version einen Vorspann einbauen, der auf genau diese Dinge verweist. Hebt vermutlich die Troll-Rate, aber die ist eigentlich bei Null. Das MBS starten doch nur Leute, die wirklich auf der Suche nach so etwas sind. Gruß Andy
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