Jump to content

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Für folgende Situation wünsche ich mir in der EV als Wert für eine Zahl den Minimalwert aus zwei anderen Werten:

Ein Gleiskontakt soll z.B. vor einer Kurve die Geschwindigkeit eines Zuges herabsetzen, mal angenommen auf 100 km/h. Kein Problem: Bremskontakt, Geschwindigkeit eintragen, fertig. Was aber, wenn der Zug eine Maximalgeschwindigkeit von 60 km/h hat? Dann muss man jedesmal erst eine Bedingung schreiben (Bremskontakt Geschwindigkeit > Maximalgeschwindigkeit Zug) und dann die Zuggeschwindigkeit ändern. Vom Handling stelle ich mir das wie bei der Zufallszahl vor, wo Minimalwert und Maximalwert auch als Verweis auf Variable beschrieben werden könnten.

Für einen Maximalwert aus zwei Werten wüsste ich derzeit keinen Anwendungsfall, würde aber irgendwie dazu gehören.

Viele Grüße,
    Wolfgang

 

Geschrieben

Hallo Wolfgang,

Brems-undBeschleunigungskontakt.thumb.jpg.2c6d911043d0afd8c30b013b4d3b0850.jpg

Die Beschleunigung und die Abbremsung am Gleiskontakt wirken nur dann, wenn sie auch explizit eingestellt sind. Im linken Beispiel sind sowohl das Beschleunigen als auch das Abbremsen auf 100 km/h eingestellt. Damit wird bei der Annäherung ein langsamerer Zug auf 100 km/h beschleunigt und ein schnellerer Zug auf 100 km/h abgebremst. Wenn wie im mittleren Beispiel nur das Abbremsen aktiviert ist, wird zwar ein schnellerer Zug abgebremst, aber ein langsamerer Zug behält seine ursprüngliche Geschwindigkeit bei, da am Gleiskontakt die Beschleunigung nicht aktiviert ist. Genauso kann man wie im rechten Bild gezeigt veranlassen, dass ein sich nähernder langsamerer Zug auf den vorgesehenen Wert beschleunigt wird, aber ein schnellerer Zug seine höhere Geschwindigkeit beibehält. Alle 3 Beispiele kommen ohne zusätzliche Ereignissteuerung aus.

Viele Grüße
BahnLand

Geschrieben (bearbeitet)

Hallo @BahnLand,

vor 4 Stunden schrieb BahnLand:

ein langsamerer Zug behält seine ursprüngliche Geschwindigkeit bei

Schon, aber vielleicht will man ja in der EV die Geschwindigkeit des langsameren Zuges, der vielleicht mit 40 angezuckelt kommt auf 60 (und nicht auf 100) setzen. Der Feature-Wunsch von Wolfgang @prinz ist sinnvoll und zwar vor allem dann, wenn man die Vmax des Zuges als Variable im Zug hinterlegt hat, denn dann möchte man gerne wahlweise auf die Vmax der Strecke oder die Vmax des Zuges bremsen oder beschleunigen. Es wäre also schön, wenn man das in einer Anweisung, also ohne eine Bedingung formulieren zu müssen, nach der gleichen Methode wie rnd (nur hier halt min bzw. max) setzen könnte.

Mit Lua geht das übrigens schon jetzt. Voraussetzung: Man trägt die Vmax der Strecke in den Kontakt und die Vmax des Zuges in den Zug ein.

if (contact.variables["VMax"] ~= nil) and (vehicle.variables["VMax"] ~= nil) then
  local VmaxStrecke = contact.variables["VMax"]
  local VmaxVehicle = vehicle.variables["VMax"]
  local v = vehicle
  if v:hasEngine() then
    v.engine.active = true
    v.targetSpeedAbs = math.min(VmaxStrecke, VmaxVehicle)
  end
end

Beste Grüße

Phrontistes

Bearbeitet von Phrontistes
typo

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