BahnLand Posted January 17, 2016 Share Posted January 17, 2016 Hallo Neo,wie kann ich einer Variablen, die als Inhalt einen Text hat, an diesen einen Suffix anhängen?Beispielsweise besitze die Variable A den Wert "XYZ". Ich möchte dann der Variable B den Inhalt zuweisen, der sich aus dem Inhalt der Variable A ergibt, wenn ich dort den Buchstaben "w" anhänge. Im vorliegenden Beispiel soll also Variable B nach der Operation den Wert "XYZw" besitzen.Wie stelle ich das an?Viele GrüßeBahnLand Link to comment Share on other sites More sharing options...
Neo Posted January 17, 2016 Share Posted January 17, 2016 Hallo BahnLand,Textoperationen unterstützt die Ereignisverwaltung leider nicht, nur Rechenoperationen mit Zahlen werden unterstützt. Welches Szenario möchtest du abbilden?Viele Grüße,Neo Link to comment Share on other sites More sharing options...
BahnLand Posted January 18, 2016 Author Share Posted January 18, 2016 Hallo Neo,ich möchte eine Autoschlange, die vor einem Hindernis (z.B. eine rote Ampel mit "Sperrweiche") aufeinander aufgefahren ist, beim Anfahren wieder "sauber" trennen. Damit die Straßenfahrzeuge nicht "ineinander" Fahren, wird jedes Auto, jeder Bus, jeder Anhängerzug usw. um mindestens einen "Dummy-Anhänger" aus dem Online-Katalog ergänzt, den ich fortan "Schlusswagen" nennen möchte, weil es sich um das letzte Fahrzeug einer zusammen zu haltenden Konfiguration handelt. Hat das ursprüngliche Fahrzeug Überhänge (z.B. bei den Sattel-Aufliegern), müssen möglicherweise vor dem Schlusswagen weitere Dummy-Anhänger eingeschoben werden, um zwischen den einzelnen aufeinander folgenden Fahrzeug-Konfigurationen einen "ordentlichen" Abstand zu gewährleisten. Jede Fahrzeug.-Konfiguration beginnt demnach mit einem führenden Kraftfahrzeug (Auto/Lastwagen/Bus/Zugmaschine), besitzt möglicherweise "echte" Anhänger (auch Wohnwagen oder Sattelauflieger) und endet nach möglichen weiteren Dummy-Anhängern mit dem als Schlusswagen gekennzeichneten (letzten) Dummy-Anhänger. Nun lässt sich über "Zug betritt Gleis" das führende Kraftfahrzeug leicht bestimmen. Fährt dieses (z.B. an einer grünen Ampel) los, zieht es erst einmal alle "aufgefahrenen" Nachfolge-Konfigurationen mit. Diese müssen aber spätestens an der Ampel von der ersten Konfiguration abgetrennt werden, indem die an der Ampel befindliche Sperrweiche unmittelbar nach dem Passieren des "Schlusswagens" der ersten Konfiguration umgeschaltet wird. Hierzu muss man aber erkennen, wann dieses Schlussfahrzeug der ersten Konfiguration die Sperrweiche passiert hat. Dies ist über die Zusatzbedingung "Wagen steht auf Gleis" möglich, wenn man dessen Namen explizit kennt. Leider ist es nicht möglich, alle "Schlusswagen" gleich zu benennen und dann abzufragen, ob irgend ein Fahrzeug mit diesem Namen auf dem zu prüfenden Gleis steht (das wäre die einfachste Lösung), sondern man muss abfragen, ob konkret der Schlusswagen der ersten Konfiguration darauf steht. Also müssen alle Schlusswagen eindeutig bezeichnet sein, und man muss dann, wenn die Autoschlange an der Ampel startet und die Bezeichnung des führenden Fahrzeugs (der "Lok") der ersten Konfiguration über das "Zug betritt Gleis"-Ereignis abgefragt wurde, wissen, welche Bezeichnung der dazugehörige Schlusswagen besitzt, um dessen Position auf dem "Testgleis" abfragen zu können.Da nicht vorhersagbar ist, welche Konfiguration (mit welchem führenden Kraftfahrzeug) wann diese Ampel passiert, muss die Bezeichnung des Schlussfahrzeugs aus jener des führenden Kraftfahrzeugs abgeleitet werden können. Das geht zwar auch über die statische Zuordnung einer Objektvariablen zu jedem führenden Kraftfahrzeug, in welcher die Bezeichnung des zugehörigen Schlusswagen hinterlegt ist. Dies bedeutet aber, dass für jede auf der Anlage fahrende Fahrzeug-Konfiguration eine Objektvariable mitgeführt werden muss. Darauf würde ich gerne verzichten, indem ich dem Schlusswagen eine Bezeichnung gebe, die direkt aus der Bezeichnung des führenden Kraftfahrzeugs abgeleitet werden kann (z.B. einfach am Ende einen zusätzlichen Buchstaben enthält). Und dazu müsste ich bei den Variablen-Operationen die Möglichkeit haben, aus einem Variablen-Inhalt durch Hinzufügen eben dieses Buchstabens einen neuen Variablen-Wert zu erzeugen, mit dem ich in der EV-Zusatzbedingung "Wagen steht auf Gleis" den zur betrachteten Konfiguration gehörenden Schlusswagen identifizieren kann.Ich habe unter "experimentelle Anlagen" die Demo-Anlage "Autokorso" eingestellt, bei der ich genau dieses Verfahren mithilfe der separat eingerichteten Objektvariablen gelöst habe, auf die ich aber eigentlich verzichten möchte. Denn bei hunderten von Straßenfahrzeugen müsste ich dann ebenso viele Objektvariable definieren, was mir schlichtweg ein zu großer Aufwand ist und möglicherweise auch die Gesamtanlage zusätzlich belastet. Die Anlage wird mit dem Umlegen des Schalters gestartet und läuft dann vollautomatisch weiter. Durch Zurückschalten wird der Start weiterer Autos unterbunden.Viele GrüßeBahnLand Link to comment Share on other sites More sharing options...
quackster Posted January 18, 2016 Share Posted January 18, 2016 hallo BahnLand, @allea) wenn du bei jedem auto (lok) die fordere koplung deaktivierstb) wenn du ein recht langes gleis als zufahrt zur ampel hastc) wenn "zug betritt... " an einem kurzen gleis (ampel) das erste auto hält - die anderen fähren auf, kuppeln aber nicht and) wenn zum weiter weiterfahren "signal schaltet... nur dem kurzen gleis eine geschwindigkeit zugeordnet wird (die anderen autos bleiben stehen)e) wenn nun das auto "zug verlässt das kurze gleis (über die ampel ist), dem langen gleis (wo die auf gefahrenen autos stehen) eine geschwindigkeit zugewiesen wirdsollte es bei c) weiter gehen und ein countdown das weitere losfahen übernimmt.vg quackster Link to comment Share on other sites More sharing options...
BahnLand Posted January 18, 2016 Author Share Posted January 18, 2016 Hallo Quackster,das müsste eigentlich funktionieren. Danke für den Tipp.Ich werd's ausprobieren. Möglicherweise ist dann mein Feature-Wunsch "vom Tisch".Viele GrüßeBahnLand Link to comment Share on other sites More sharing options...
BahnLand Posted January 29, 2016 Author Share Posted January 29, 2016 Problem gelöst!Objekt-Bezeichnungen können auch "rein numerisch" sein, also aus einer Zahl bestehen.Wenn man nun die führenden Fahrzeuge beispielsweise mit einer geraden Zahl bezeichnet (die Bezeichnungen müssen eindeutig sein) und der dazu gehörende "Schlusswagen" die jeweils nächsthöhere Zahl als Bezeichnung zugewiesen bekommt, kann dieser immer über das führende Fahrzeug identifiziert werden, indem man bei dessen Bezeichnung einfach eine "1" aufaddiert. Damit ist zumindest für den beschriebenen "Problemfall" die Anforderung, bei Textvariablen einen Buchstaben hinzufügen zu können, hinfällig.Viele GrüßeBahnLand Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now