Jump to content

Empfohlene Beiträge

Geschrieben

Hallo,

ich bin ganz neu und habe folgende Frage: Ich habe eine kleine Abstellanlage mit 3 Gleisen (51-53). Darauf stelle ich verschiedene Loks ab. Wenn ich am nächsten Tag das Programm wieder öffne, will ich wissen, welche Lok z.B. auf Gleis 51 steht, damit ich sie zum weiteren Verlauf bewegen kann.

1. Welche Lok steht auf dem Gleis?

2. Wenn ich sie starte, ist es besser vorwärts oder rückwärts, oder wie weiß ich in welche Richtung sie fahren will?

Wenn ich einfach nur sage, setze die Geschwindigkeit auf 0, dann erhalte ich folgende Fehlermeldung: 'Attempt to index a nil value' - womit er ja Recht hat, denn ich habe keine Lok angegeben, da ich den Namen der Lok nicht kenne.

Mit dem blauen Taster kann ich die Lok weiter fahren von einem Gleiskontakt zum anderen, aber alle weitere Optionen schmeissen die Fehlermeldung raus.

Aussenrum baue ich mir eine repeat/until oder while Schleife, mit der ich die Loks auf Grund von einer Zufallsvariable abrufe, deshalb ist lua vermutlich die bessere Lösung.

 

 

 

t01.mbp

Geschrieben (bearbeitet)

Hallo @Mobb, so ganz ist mir nicht klar, was du vorhast, aber hier mal ein paar Denkanstöße:

vor 1 Stunde schrieb Mobb:

will ich wissen, welche Lok z.B. auf Gleis 51 steht, damit ich sie zum weiteren Verlauf bewegen kann.

starte einfach die Lok, die auf dem Gleis 51 steht.

vor 1 Stunde schrieb Mobb:

Wenn ich sie starte, ist es besser vorwärts oder rückwärts, oder wie weiß ich in welche Richtung sie fahren will?

Setze die Geschwindigkeit relativ zur Fahrtrichtung.

vor 1 Stunde schrieb Mobb:

Aussenrum baue ich mir eine repeat/until oder while Schleife, mit der ich die Loks auf Grund

eins nach dem anderen erstmal 1 und 2 lösen.

 

vor 1 Stunde schrieb Mobb:

deshalb ist lua vermutlich die bessere Lösung.

Nein, das geht auch mit der grafischen EV.

Du hast beim Gleiskontakt 53 2 Kontakte übereinander liegen.

LG Ronald

Bearbeitet von RoniHB
Geschrieben

Hallo Mobb,

vor 2 Stunden schrieb Mobb:

ich habe keine Lok angegeben, da ich den Namen der Lok nicht kenne.

Du nicht, aber die EV kennt ihn.

An jedem Ereignis, auf das du in der EV reagierst, ist jemand beteiligt.
Wenn ein Fahrzeug einen Gleiskontakt betritt, dann gibt es in diesem Ereignis zwei beteiligte Objekte.

Diese kannst du als "Auslöser" ansprechen:

dieLokkennen.thumb.jpg.a85d837c77c877fbbfb1b38a13c918b8.jpg

Wenn es wie in diesem Fall mehrere Auslöser gibt, dann findest du dort, wo jetzt [Leer] steht, eine Auswahlliste.
Hier musst du den gewünschten Auslöser wählen. Im Beispiel wäre das dann "Fahrzeug".

Viele Grüße
Götz 

Geschrieben

Hi RoniHB

bei einer automatichen Steuerung nach dem Starten von 3d-mbs weiß ich ja nicht, welche Lok dort steht, denn ich will ja einen Automatik-Betrieb für diese Sache ablaufen lassen. Und falls ich mal eine andere Lok drauf stelle, soll sie automatisch erkannt werden und eben anders herum fahren.

Jetzt probiere ich die ganze Zeit rum auch mit Fahrtrichtungswechsel und verschiedenen Ausgaben, aber die Fahrtrichtung wird nicht gewechselt.

Übrigens: Goetz:

Falls ich das Teil so angebe, wie beschrieben, erhalte ich folgende Fehlermeldung: 'Unknown method or property name drivingDirection' - funktioniert also auch nicht.

Wa mache ich falsch?

t01.thumb.jpg.bc15024808ae916fd865c88bbe2b2f2d.jpg

t01.mbp

Geschrieben
vor 1 Minute schrieb Mobb:

Wa mache ich falsch?

Du hast nach "Auslöser" nicht in der Auswahlliste auf Fahrzeug umgeschaltet.

AuslserFahrzeug.jpg.8379f3e4e4ffc5e0b887f488d5b67f21.jpg
Der Gleiskontakt hat keine Fahrtrichtung, sondern das Fahrzeug.
Da beide Objekte Auslöser des Ereignisses "Fahrzeug betritt Gleiskontakt" sind, musst du spezifizieren, welches der Objekte du ansprechen willst.

Geschrieben

@Goetz

Ich habe noch einige Fragen, aber die ersten:

Wie wird die Auswahl des Gleises in z.B. einem Textfeld angezeigt? Und was muss ich dazu alles machen?

Und was ist der Unterschied zwischen einer Objekt- und Modul-Variable? Sind beide globale Variablen?

Viele Grüße

Geschrieben
vor 37 Minuten schrieb Mobb:

Wie wird die Auswahl des Gleises in z.B. einem Textfeld angezeigt?

Der Name des Gleises ist eine Eigenschaft des Objekts.
Du kannst dem Textfeld dieses Objekteigenschaft als Inhalt zuweisen:

EigenschaftName.jpg.d394c3441b460ab18843eed1972b19e1.jpg

 

vor 41 Minuten schrieb Mobb:

Sind beide globale Variablen?

Ja, beide sind global.
Die Modulvariable legst du im Ereignismodul an, die Objektvariable in einem Objekt.
Das macht nur organisatorisch einen Unterschied.

Wenn Objekte sich individuelle Werte unter demselben Namen merken sollen, dann ist es praktischer diese Werte im Objekt mitzuführen.
Geht es um allgemeine Werte, dann sind sie im Ereignismodul besser aufgehoben.

Die Ordner in der linken Spalte des EV Fensters werden als Module bezeichnet.

Viele Grüße
Götz

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...