Jump to content
RoniHB

Verschachtelte Variablen

Recommended Posts

Hallo liebe Leute,

erstmal einen schönen Sonntag euch allen.
Ich versuche mich in der EV gerade an verschachtelten Variablen. Seht euch die Anlage mal an. Vielleicht hat jemand einen Tipp für mich.

LG Ronald

VerschachtelteVariablen.mbp

Share this post


Link to post
Share on other sites

Taster 2 braucht noch eine 2 im Gleis.
Der Kontakt braucht nur das Zielgleis in der Lok abzufragen.

Nun mußt Du nur noch mit den Tastern das Zielgleis in der Lok mit dem Wert aus den Tastern beschreiben.
Die Lok holst Du aus dem Startgleis

Hab leider gerade keine Zeit. Vielleicht hilft jemand mit dem Doing...?

Share this post


Link to post
Share on other sites

Hallo Tom,

was machst du denn, wenn auf dem Startgleis eine beliebige Lok steht?

vor 4 Stunden schrieb HaNNoveraNer:

Nun mußt Du nur noch mit den Tastern das Zielgleis in der Lok mit dem Wert aus den Tastern beschreiben.
Die Lok holst Du aus dem Startgleis 

Genau, aber wie macht man das ?

Gruß Ronald

Share this post


Link to post
Share on other sites
Posted (edited)

Im Startgleis steht die Lok, die gerade drauf gefahren ist, das kann eine beliebige Lok sein :-)

Hier Dein korrigiertes Beispiel:

So gehts.mbp

Edited by HaNNoveraNer

Share this post


Link to post
Share on other sites
vor 10 Stunden schrieb RoniHB:

beliebige Lok

Hi Ronald

Hier mal meine geaenderte version fuer beliebige loks.

Cheers

Tom

 

Share this post


Link to post
Share on other sites

Hallo Tom,

vielen Dank für die Lösung.
Ist ja auch schon fast soweit, wie ich es verwenden wollte.

Die Taster sollen an mehreren Stellen auf der Anlage eingesetzt werden, d.h. Das Startgleis ist auch immer ein anderes. Das Ereignis Taster betätigt soll über Schlagwort abgefragt werden, und das dazugehörige Startgleis ist in der OV "Gleis" und das Zielgleis in der OV "Ziel" vom Taster abgelegt.

Und das ist das was ich nicht hinbekomme.

Also Schalter mit Schlagwort "Starttaster" wird betätigt:  Auslöser.Gleis.Lok.Zielgleis = Auslöser.Ziel

Das mit den 2 Zielgleisen sollte nur als Beispiel für das Prinzip dienen. Es sind ja durchaus auch mal mehr Ziele möglich.

Es geht mir hier ja nicht um diese Beispielanlage, sondern wie beschreibe ich eine Variable einer Variablen Variable?

 

Hallo @HaNNoveraNer,

nicht schlecht, löst aber nicht mein Problem.

 

Gruß Ronald

 

Toms_Ronis.mbp

Share this post


Link to post
Share on other sites

Hi Ronald

Da brauchst du also imma fuer jedes zielgleis einen eigenen taster? Ich sehe du hast die 5er weiche nun auch als ziel weiche angelegt abba es bei zwei tastern belassen. Wenn die loks jeweils ihr zielgleis mit sich fuehren (so wie ich es angelegt habe fuer die rueckfahrt ins parklot) gehts im grunde auch ohne taster....

Cheers

Tom

Share this post


Link to post
Share on other sites

Hallo Tom,

ich befürchte, dass ich nicht ausdrücken kann, um welches Problem es sich handelt. Es geht um verschachtelte Variablen. Die Anlage soll nur dazu dienen das auszuprobieren. Es geht nicht darum die Loks auf 2 oder mehrere Gleise zu bekommen.

Das Startgleis soll in einer OV des Tasters hinterlegt sein. Der Taster soll universell einsetzbar sein. Es soll nur ein Tasterereignis definiert werden. Im Taster gibt es folgende Variablen:
Schlagwort: Starttaster
- Gleis  -> Gleisobjekt auf dem die Lok steht.
- Ziel  -> Zahl als Zielangabe

Ein Startgleis kann irgendwie heissen und hat die Variable:
-Lok

Das Ereignis:
Schalter mit dem Schlagwort "Starttaster wird betätigt"
Aktionen:
- Variable setzen: Auslöser[Taster].Gleis.Lok.Zielgleis = Auslöser[Taster].Ziel
-Geschwindigkeit setzen:  Alle Fahrzeuge auf Auslöser[Taster].Gleis

Vielleicht ist es jetzt etwas klarer. Vielen Dank für deine Geduld.

Gruß Ronald

 

Share this post


Link to post
Share on other sites
vor 13 Stunden schrieb RoniHB:

Das Startgleis soll in einer OV des Tasters hinterlegt sein. Der Taster soll universell einsetzbar sein. Es soll nur ein Tasterereignis definiert werden. Im Taster gibt es folgende Variablen:
Schlagwort: Starttaster
- Gleis  -> Gleisobjekt auf dem die Lok steht.
- Ziel  -> Zahl als Zielangabe

Ach sooo ? 9_9

Cheers

Tom

Share this post


Link to post
Share on other sites

Nicht ganz, Tom :-)


controller.variables["Gleis"].variables["Lok"].variables["Zielgleis"] = controller.variables["Ziel"]

ist, was er wollte.

controller.variables["Gleis"] fehlt bei Dir noch.

 

 

Share this post


Link to post
Share on other sites
vor 22 Stunden schrieb RoniHB:

ich befürchte, dass ich nicht ausdrücken kann, um welches Problem es sich handelt.

Doch, das hast du klar und deutlich geschrieben.

Und hier ist die Antwort auf deine Frage. Relevant sind die ersten 5 Minuten. Anschließend führe ich es noch ein wenig weiter aus und fass zum Schluss noch einmal den Weg kurz zusammen, den ich anfangs beschreibe.

.

 

Share this post


Link to post
Share on other sites
Posted (edited)

Hallo @Goetz,

(y)(y)(y)(y)(y)(y) vielen herzlichen Dank für diese super Erklärung. Du hast es genau auf den Punkt gebracht und erkannt worum es mir ging.
Der Trick ist, wie du sehr schön erklärt hast, das Pferd von hinten aufzuzäumen. Da bin ich garnicht drauf gekommen. Andersherum ist es deutlich schwieriger, weil die Auswahllisten für die Variablen nicht da sind. Auch das hast du in dem Video prima dargestellt. Und genau das war mein Problem.

Weisst du vielleicht, bis zu welcher Tiefe man das mit den erweiterten Variablen treiben kann? Nur so Interesse halber.

Vielen vielen Dank nochmal für dieses Lehrvideo.

LG aus Bremen
Ronald

 

Edited by RoniHB

Share this post


Link to post
Share on other sites

Hallo Tom, hallo @HaNNoveraNer,

auch euch ein herzliches Dankeschön für eure Ausführungen.
Es ist immer schwer jemandem das Problem welches man hat zu schildern.

LG aus Bremen
Ronald

Share this post


Link to post
Share on other sites
Posted (edited)

Hallo RoniHB,
es freut mich riesig, dass ich dir helfen konnte.

 

vor 6 Stunden schrieb RoniHB:

Weisst du vielleicht, bis zu welcher Tiefe man das mit den erweiterten Variablen treiben kann?

Nein, das hat mich bisher noch nicht interessiert. Aber da wird sicher noch sehr viel mehr gehen als die gezeigten drei Stufen.

Lieben Gruß
Götz 

Edited by Goetz

Share this post


Link to post
Share on other sites
Posted (edited)

Hallo

Theoretisch wird das sicher durch Lua vorgegeben und man könnte den Befehl so lang wie man will schreiben.
Macht aber natürlich wenig Sinn.

@Goetz
Super Erklärung.
Um den Befehl in Lua einzugeben, habe ich 3s gebraucht.

controller.variables["Gleis"].variables["Lok"].variables["Zielgleis"] = controller.variables["Ziel"]

Aber in der grafischen EV habe ich dann auch nach mehreren Versuchen aufgegeben.
Zumal man auch nicht auf den ersten Blick den Datentyp der Variablen als neues Objekt erkennt,
wenn man es nicht weiß.

Gruß
Thomas

Edited by HaNNoveraNer

Share this post


Link to post
Share on other sites

Hallo,

Am 24.3.2020 um 20:02 schrieb RoniHB:

Weisst du vielleicht, bis zu welcher Tiefe man das mit den erweiterten Variablen treiben kann? Nur so Interesse halber.

Ich habe mal mit @Neo über eine Stufentiefe gesprochen, da waren es 4 Stufen.

Gruß
Wolfgang

Share this post


Link to post
Share on other sites

Hi Ronald

Hier noch, als nachtrag, eine version mit mehreren weichen (auf dem weg zum zielgleis)

Cheers

Tom

Share this post


Link to post
Share on other sites

Hallo Wolfgang,

vor 15 Stunden schrieb wopitir:

Ich habe mal mit Neo über eine Stufentiefe gesprochen, da waren es 4 Stufen.

vielen Dank für die info.

Hallo Tom,

vor 3 Stunden schrieb metallix:

Hier noch, als nachtrag, eine version mit mehreren weichen (auf dem weg zum zielgleis)

Sehr schönes Beispiel für die Anwendung der Zielwahl mit erweiterten variablen. Ich denke der Nutzen ist klar erkennbar. 25 Ziele mit einem Ereignis anwählen.
Auch die Wegeeinstellung ist elegant gelöst.

Gruß
Ronald

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×