Tesla Geschrieben 19. April 2017 Geschrieben 19. April 2017 (bearbeitet) Ich möchte eine Lokgeschwindigkeit auslesen und in einer Anzeige darstellen. Jedoch etwas mache ich offensichtlich falsch Könnte mir da mal jemand helfen? Bearbeitet 19. April 2017 von m.weber
BahnLand Geschrieben 19. April 2017 Geschrieben 19. April 2017 Hallo m.weber, Bild 1: korrekt Bild 2: Name: korrekt; Wert: falsch! - muss korrekt $_Trigger1._CurrentSpeed lauten! Bild 3: korrekt Bild 4: falsch (korrekt ist Bild 3) Die im Modellbahn-Studio vordefinierten "System"-Variablen (also Variablen, die vom Modellbahn-Studio vorgegeben sind), beginnen alle mit einem Unterstrich. "_Trigger1" ist hierbei in den Ereignisdefinitionen "Zug betritt Gleis" und "Zug verlädst Gleis" die vom MBS bereitgestellte Referenz auf das angetriebene Fahrzeug des das Ereignis auslösenden Zuges. Mit dem Voranstellen des $-Zeichens greift man auf dessen Inhalt zu. Wenn das Triebfahrzeug des das Ereignis auslösenden Zuges "Zuglok" hieße, würde das MBS beim Bearbeiten des ausgelösten Ereignisses "$_Trigger1" durch "Zuglok" ersetzen. "_Trigger1._CurrentSpeed" ist die vom MBS bereitgestellte Objektvariable bei den beiden oben genannten Ereignisdefinitionen, welche die beim Eintritt des Ereignisses gültige aktuelle Geschwindigkeit der über "_Trigger1" referenzierten Lok enthält. Auch hier greift man durch Voranstellen des $-Zeichens auf deren Inhalt zu. Besäße also die Lok mit der Bezeichnung "Zuglok" die aktuelle Geschwindigkeit 100 mm/s, würde das MBS den Begriff "$_Trigger1._CurrentSpeed" durch "100" ersetzen. Die Fomulierung "$_Trigger1.speed" ist ebenfalls zulässig, wenn der durch "$_Trigger1" referenzierten Lok (im obigen Beispiel "Zuglok") eine Objektvariable "speed" zugewiesen ist. Wenn also beispielsweise die Lok mit dem Namen "Zuglok" die Objektvariable "Zuglok.speed" besitzt, und dieser zuvor ein fester Wert "Zuglok.speed = 200" zugewiesen zugewiesen wurde, dann wird beim Auswerten eines der obigen Ereignisse durch das MBS anstelle der in der zugehörigen Definition hinterlegten Referenz "$_Trigger1.speed" der Wert "200" verwendet. Diese fest vordefinierte Geschwindigkeit ist jedoch nicht mit der mittels "$_Trigger1._Currentspeed" festzustellenden aktuellen Geschwindigkeit des das Ereignis auslösenden Zuges zu verwechseln! Viele >Grüße BahnLand
h.w.stein-info Geschrieben 19. April 2017 Geschrieben 19. April 2017 Hallo m.Weber Was ich erkennen konnte ! $Trigger1._CurrentSpeed Viele Grüße HnS BahnLand war wieder mal schneller - durch den Gong der Mitteilung hab ich auch noch ein Fehler gemacht . Richtig wär wie BahnLand schreibt $_Trigger1._CurrentSpeed . Wollte helfen und doch NICHT richtig - grrrr. Sorry !
Tesla Geschrieben 19. April 2017 Autor Geschrieben 19. April 2017 (bearbeitet) Danke Euch beiden, dennoch, es wird nichts angezeigt. Ich stelle die "Anlage" mal ein... Hab meinen Fehler gefunden.... manchmal ist man echt ein wenig GAGA... Bearbeitet 19. April 2017 von m.weber
Henry Geschrieben 19. April 2017 Geschrieben 19. April 2017 Hallo m.weber, es wäre nicht nur für nachfolgende Lese-Generationen hilfreich, wenn Du Deine Lösung hier kurz beschreiben würdest. Aus Erfahrung wissen wir, daß das Forum nicht nur eine gern gegebene Hilfe für den Einzelfall sondern auch eine Wissens-Fundgrube für alle User mit den gelösten Problemen ist. Weil wir ausserdem nicht immer wieder dieselben Fragen beantworten möchten, wäre eine kurze Erläuterung Deiner Lösung wichtig. Könnte es mit dem fehlenden Unterstrich ( _ ) zusammenhängen ? Auch die angekündigte Beispielanlage ist leider nicht vorhanden. Herzliche Grüße, Henry
Tesla Geschrieben 20. April 2017 Autor Geschrieben 20. April 2017 Hallo Henry, nun, mein Fehler war, und den hat Bahnland auch nicht registriert, daß, wenn ich Bild 2 korrigiere in " $_Trigger1._CurrentSpeed ", Bild 3 nicht richtig sein kann, weil ich dort dann anstelle von "Haltegleis2.lok" durch "$_Trigger1._CurrentSpeed" ersetzen muß. Dann funktionierts auch. Das, was ich da versuche, lade ich hier mal hoch, nur zur Ergänzung. Das noch verbleibende Problem ist die Beschleunigung auf Vmax der auslösenden Lok (in diesem Fall der Emma, definiert in der Objektvariablen Vmax=120). Betritt die Emma das Gleis, bleibt sie einfach stehen. (Daß in der EV die Beschleunigung inaktiviert werden muß bei Signal 2 auf "Fahrt" ist noch eine andere Sache). Gruß, Michael Test002.mbp
BahnLand Geschrieben 20. April 2017 Geschrieben 20. April 2017 (bearbeitet) Hallo Michael, dass in Bild 3 die Wertzuweisung "$Haltegleis2.lok" für die Geschwindigkeits-Anzeige nicht funktioniert, liegt nicht an dieser Wertzuweisung, sondern daran, dass es das Objekt "Haltegleis2" auf Deiner Anlage nicht gibt. Damit kannst Du auch die Objektvariable "Haltegleis2.lok" im Bild 1 nicht setzen (diesen Fehler bekommst Du nur nicht mit). Gib mal irgendeinem Gleisstück auf Deiner Anlage den Namen "Haltegleis2", und Du wirst sehen, dass dann Bild3 sehr wohl funktioniert. Dass es dieses Gleis auf Deiner Anlage bisher nicht gibt, konnte ich nicht wissen. Und bei Deiner Korrektur kannst Du sogar auf die Variablen-Zuweisung in Bild 1 ganz verzichten (funktioniert so ja wegen dem nicht vorhandenen Objekt eh nicht). Wenn Du aber die hier festgestellte Geschwindigkeit in einer später auszuführenden Ereignisdefinition wiederverwenden möchtest, kommst Du um die Zwischenspeicherung in einer Variablen nicht herum. Wenn Du dafür dann eine Objekt-Variable verwendest (wie in Bild 1), musst Du allerdings sicherstellen, dass das Objekt auch wirklich existiert. Sonst nimm eine "einfache" Variable (ohne "."), da Du hier keine Abhängigkeit von einem Objekt hast (die aber manchmal gewünscht ist). Viele Grüße BahnLand Bearbeitet 20. April 2017 von BahnLand
Henry Geschrieben 20. April 2017 Geschrieben 20. April 2017 Hallo Michael, das Ereignis Abfahren tritt nur ein, wenn das Signal auf 1 schaltet dann klappt auch die Abfahrt. HG, Henry
Henry Geschrieben 20. April 2017 Geschrieben 20. April 2017 Hallo Michael, ich hab mir erlaubt, das vordere Gleis in Block 1 umzubenennen und die Ereignisverwaltung beispielhaft zu überarbeiten. Siehe Anlage Test002b.mbp Viele Grüße, Henry PS: nicht vergessen, den einzelnen Loks die festen Geschwindigkeiten zu geben.
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