Jump to content

Speedvariable


fredhei

Empfohlene Beiträge

Hallo MBS-Freunde,

habe ein Problem, bei dem ich nicht durchblicke. Lok steht auf Stop-Gleis und soll bei Signal "Auf" losfahren. Geschwindigkeit ist _Trigger1.Speedslow.
Die Lok bewegt sich nicht.Nach manuellem Start betritt die Lok das Speedgleis und beschleunigt richtig mit _Trigger1.Speed. Wo ist mein Denkfehler?
Die Anlage habe ich Exportiert und in *.Zip umbenannt.
Wer kann mir helfen, scheinbar stehe ich mit den Variablen auf Kriegsfuß.

Gruß Fred

Variablentest.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Fred,

du verwendest _Trigger1 hier falsch. Im Kontext von "Signal schaltet" referenziert "_Trigger1" das geänderte Signal, nicht eine Lok die irgendwo auf einem Gleis steht. Wenn du auf eine Lok zugreifen willst, die nicht der Auslöser eines Ereignisses ist, und den Name der Lok nicht kennst, musst du vorher den Namen der Lok irgendwo zwischenspeichern. Der Ablauf könnte so sein:

  • Zu betritt ein Gleis (z.B. dein Stoppgleis) - Aktion "Variable setzen", Variable: Sig0.LokName, Wert: _Trigger1._Name
  • Signal schaltet: Aktion "Lokgeschwindigkeit setzen", Lok: Benutzerdefiniert, $_Trigger1.LokName, Geschwindigkeit: (_Trigger1.LokName).Speedslow

Zusammengefasst: Beim Betreten des Stoppgleises speicherst du dir beim Signal den Namen der aktuellen Lok. Wenn später das Signal schaltet, greifst du auf die Lok zu, die in einer Signalvariable gespeichert wurde.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

danke für die schnelle Antwort.

Sinn der Sache war, in einem grossen Schattenbahnhof kommen unterschiedlich Züge auf unterschiedlichen Stopgleisen an. Diese Züge werden von verschiedenen Bahnhöfen angefordert durch öffnen des Haltsignals. Es ist aber unbekannt welche Lok auf welchem Haltegleis steht. Ich hatte es so verstanden: Gebe der Lok eine Variable "Speed = 180" und bei öffnen des Signals bekommt die Lok die Geschwindigkeit aus der Lokvariable. Liege ich da total daneben und es ist nicht möglich?

Gruß aus der Sonne, Fred.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Fred,

so wie ich es beschrieben habe werden alle deine Anforderungen erfüllt. Schau dir mal den Dateianhang an. Wichtig sind die Ereignisse "Stop 1" und "Start 1". Beim Stop wird der Name der Lok im Signal abgespeichert, beim Öffnen des Signals wird darauf wieder zurückgegriffen. Das Ganze ist lokunabhängig, die Ereignisse müssen nur einmal pro Bahnhofsgleis definiert werden (Start 1 und Start 2 könnte man sogar noch zusammenfassen).

Viele Grüße,

Neo

PS: Anhang entfernt, siehe nächsten Beitrag von Henry.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Fred,

schau Dir doch mal die Demo-Anlage "Automatik-Steuerung 05a - Streckenvereinigung und -verzweigung" in der Katalog-Kategorie "Experirmentelle Anlagen" an. Dort habe ich ebenfalls Variablen verwendet, um die Geschwindigkeit eines anhaltenden Zuges für die Weiterfahrt zwischenzuspeichern. Allerdings habe ich als "Bezug" nicht das Signal, sondern das Haltegleis gewählt, was allerdings schaltungsmäßig keinen Unterschied macht. Vielleicht kannst Du damit ja was anfangen. Eine kurze Beschreibung der Anlage findest Du auch hier.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

leider hat die Datei variablentest.ZIP (ja, ich konnte sie ins MBS laden) bei mir nicht funktioniert, so daß ich sie geändert habe.

Variablentest2.jpg

Den Signalen wurde eine Objektvariable sig*vslow spendiert, die im Ereignis speedslow* mit dem Wert $_Trigger1.Speedslow gesetzt und gespeichert wurde.

Im Ereignis sig-auf  wurde der Lok  dann der Wert $Sig1.vslow als Geschwindigkeit zugewiesen.

Spaßhalber habe ich noch eine Zuganzeige ins Gleisbildstellpunkt eingefügt.

Viele Grüße, Henry

Variablentest2.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Henry,

danke für den Hinweis. Tatsächlich handelt es sich bei meinem Anhang gar nicht um meine hochgeladene Datei, sondern um die Originaldatei von Fred. Das Forum hatte hier ein Problem mit Dateien gleichen Namens. Ich habe es korrigiert, sodass zukünftige Uploads immer individuelle Namen verwenden.

Deine Lösung ist auf jeden Fall genauso einsetzbar.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

hatte mich schon etwas über den Anhang gewundert:), meine ungeänderte Datei vorzufinden, hat sich ja durch deinen Beitrag geklärt.

@BahnLand, ist wunderschön wie die Demoanlage funktioniert. Aber bis ich mich durch die ganze EV durchgearbeitet habe wird noch einige Zeit vergehen. Es sind auf jedenfall für mich viele Anregungen und Verbesserungen drin.

@Henry, deine Lösung ist die meine. Schön, kurz, knapp und für meine Anlage passend. War für mich als Anfänger sofort nachvollziehbar. Danke.

Gruß aus der Sonne, Fred.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Fred,

Da bist du ja noch weiter entfernt als ich. Meine Sonne scheint in Portugal / Algarve bei derzeit 25 Grad, geregnet hat es seid Wochen nicht.

Ich stelle fest, daß MBS ist wohl schon weltweit vertreten ;)

Auch von hier ein Gruß aus der Sonne................Horst

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo hoklbu,

Dann sind wir wohl das Auswanderungsteam:). Hier sind es 34 Grad und wenn´s dunkel ist 28. Aber zurück zum Thema. @Neo und Henry, Lösung:

Signal auf, Aktion Lokgeschwindigkeit auf 30

kurzes Gleis als Schaltgleis eingefügt nach Weiche und

Zug betritt Gleis, Aktion Geschwindigkeit  _Trigger1.Speed, klappt wunderbar mit allen Loks und den verschiedenen Geschwindigkeiten.

Gruß aus der Sonne, Fred.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...