Jump to content

Mathematik mit Variablen ?


maxwei

Empfohlene Beiträge

Hallo zusammen, hab folgendes Problem:

definierte Variablen: zb."langsam" 20 km/h, "schnell" 60 km/h

Auslöser: gleis betreten; Geschwindigkeit "langsam"

2.Auslöser:gleis betreten (Syntax:"=langsam*2") :sollte nach meiner Logik 40 km/h sein, aber...,

egal was ich einsetze, sobald irgendetwas mathematisches ist wird o.g. Variable auf 0 gesetzt.

lt WIKI sollte jede Variable mathematisch einflussbar sein, ist es aber nicht, oder liegts an mir?

 

mfg max

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Max,

die Variablen lassen sich schon mathematisch beinflussen. Sie müssen in 2 Schritten (oder mehreren) gesetzt werden.

Schreibe wie folgt:

Schritt 1
Variable setzen
VariablenName: langsam
VariablenWert: 20

Schritt 2
Variable setzen
VariablenName: langsam
VariablenWert: *2   (mit diesem Ausdruck wir die Variable "langsam" mit 2 multipliziert. Funktioniert auch mit +, -, und /)

Gruß
Wolfgang

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Wolfgang,

ganz hab ich das nicht verstanden, heisst das soviel wie die Benutzung und Berechnung in einer Zeile geht nicht?

oder anders gesagt, bevor ich eine Variable verwende muss der Zuweisungsschritt abgeschlossen sein? (ist dann aber mühsam und umständlich)

mfg max

Bearbeitet von maxwei
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Max

Man muss sich vor Augen haben wie der Ablauf statt findet , hier muss für das Auslösen mehrere Variable benutzt werden .

Wolfgang hat Dir ein Beispiel gegeben , mehrere Befehle können nicht gleichzeitig bearbeitet werden .

Es kommt einem sehr kompliziert vor ist aber nicht . Man hat einfach mit den Jahren die Zwischenschritte verlernt , die hier wieder angewandt werden .

 

Bekannt ist was Du vor hast " Geschwindigkeit verlangsamen " , die wird als VariableName benutzt " km/h langsam " .

Mit den Vorzeichen plus (+) , minus (-) , multiplizieren (*) oder dividieren (/) " Schrägstrich nach rechts " kann eine Berechnung gemacht werden .

Soll die Geschwindigkeit nach vorwärts gehen , wäre die Geschwindigkeit zB. " +100 " , wobei hier das plus-Zeichen weggelassen werden kann .

In der Gegenrichtung , also in dem Fall rückwärts , muss die Geschwindigkeit dann so aussehen " -100 " . Nur hier muss das minus-Zeichen vorhanden sein .

 

Nochmal zu deiner Frage !

Mehrere Variablen sind nicht zusammen erfassbar . 

Es sollen in Zukunft Änderungen in der EV ( Ereignisverwaltung ) geben , nur wann es sein soll ist noch nicht bekannt , die die Ereignisverwaltung vereinfachen sollte .

Einige Beispiele gibt es auch auf den YouTube-Kanal im Forum , wie man was steuert mit der EV .

Ein weitere Vorschlag wär , das MBS-EV Auswerter von " BahnLand " herunter zuladen und zu nutzen . Damit kann man die Anlage analysieren die mit einer EV gesteuert werden .  

Für die Version 3      MBS-EV-Auswerter.zip      und für die Version 4      MBS-XML-Auswerter-2018.zip   .

Version bezieht sich auf das 3D-MBS oder 3D-Modellbahn Studio !

 

 

Ich hoffe das ich damit helfen konnte .

Viele Grüße

H:xnS 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Max,

es ist wie du vermutet hast, es muss Schritt für Schritt zugewießen werden, so wie im obigen Beispiel angegeben.
Wenn du mit dem Inhalt einer anderen Variablen arbeitest, darfst du bei der Wertangabe das Dollar-Zeichen nicht vergessen, z. B. $langsam.

Beispiel: Zug betritt ein Gleis

Variable setzen
VariablenName: langsam          VariablenWert: 20

Variable setzen
VariablenName: schnell             VariablenWert: $langasam

Variable setzen
VariablenName: schnell            VariablenWert: *2

Jetzt hast du in der Variablen langsam = 20 und in der Variablen schnell den Wert 40.
Über das $-Zeichen greifts du immer auf den Inhalt der Variablen zu, ohne $-Zeichen würdest  du nur mit dem String langsam arbeiten und dahinter ist nichts.

Gruß
Wolfgang

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nochmal, jetzt hab ichs, fehler war viel einfacher als gedacht,

falsch: (falscher Versuch bin ich von der Programmiererei grundsätzlich so gewohnt, aber hier eben nicht:D)1-variable.jpg.72d920c934b18d084868f87e499ac286.jpg

richtig:

2-variable.jpg.82aad5206f74c427a179ad7b666a30ff.jpg

Danke nochmal um mir auf die Sprünge zu helfen, manchmal dauerts eben länger,B|

mfg max

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