zurück zu Peter&Basti's Userpage Index




Vorbildgerechtes Fahrverhalten / Umsetzung


Wir wollen auf unserer Anlage unsere Fahrzeuge vorbildgerecht bewegen. Warum sonst aktuelle Modelle um ein kleines Vermögen kaufen, wo jede Schraube stimmt und diese mit modernen, ausgefuchsten Decodern bestücken? Also wollen wir mit diesem Beitrag unseren Ansatz für vorbildgerechtes Fahrverhalten darstellen und wie wir dieses Thema im Kontext mit RocRail umgesetzt haben.

Geschwindigkeitseinflüsse

Angepasste Geschwindigkeit trägt nicht nur im Straßenverkehr zur Verkehrssicherheit bei. Eine typische Modellbahnanlage ist mit ihren zu engen Radien und zu kurzen Geraden wenig geeignet, um mit 200 km/h dahin zu brausen.
Wir hatten schon mal folgendes Problem:
Ein Zug mit 14 Wagen fährt viel zu schnell die 600 mm Radien in den Schattenbahnhof, aus einem anderen Grund entsteht auf der Anlage ein Kurzschluss. Durch den abrupten Stopp in der Kurve kippen die Wagen in der Kurve nach außen und in Folge alle 14 Wagen einfach um.
Es wirken also auch auf der Modellbahn fahrdynamische Einflüsse.

Vorbildgerechte Modellgeschwindigkeit

Wir haben uns entschieden, mit vorbildgerechten Geschwindigkeiten zu fahren und rechnen diese korrekt in unseren Maßstab 1:87 um. Die in manchen lustigen Modellbahn-Normen empfohlene Geschwindigkeitserhöhung haben wir ignoriert. Tatsächlich sehen diese Geschwindigkeiten auf den ersten Blick seltsam langsam aus, insbesondere wenn der Zug dann mit echten 40 km/h über die abzweigenden Weichen fährt. Wir haben uns aber schnell daran gewöhnt und der Vergleich mit der realen Bahn zeigt, dass die Güterzüge wirklich so langsam in das Abstellgleis einlaufen. Mittlerweile ist es ein Genuss beim Zusehen (für das geschulte Auge …)

Decodereinstellungen

Im ersten Schritt haben wir allen unseren Loks ein weitgehend einheitliches Fahrverhalten anerzogen. Aufgrund der oben beschriebenen Thematik, dass zu schnelles Fahren risikoreich ist, haben wir alle Loks auf 100 km/h Höchstgeschwindigkeit eingeregelt. Ausgenommen Loks, wo das Vorbild eine geringere Vmax erreicht, dann wird dieser Wert als Vmax eingestellt.
Diese Einstellungen haben wir auf einem Testkreis mit der MVTRACK Geschwindigkeitsmeßstrecke durchgeführt.
Bei unseren ZIMO-Decodern haben wir zuerst mittels CV57 die Motorspannung auf Werte zwischen 9 und 12 Volt justiert, damit möglichst viele Fahrstufen übrig bleiben, dann mittels CV2 die Höchstgeschwindigkeit eingestellt. Für Beschleunigung (CV3) und Verzögerung (CV4) ist bei diesen Decodern ein Wert von 20 ein guter Ausgangswert. Die Geschwindigkeitskurven der ZIMO-Decoder sind nicht linear; wir haben dies bewusst dabei belassen, um im unteren Geschwindigkeitsbereich mehr Fahrstufen für feinfühliges Rangieren zur Verfügung zu haben. Damit sind die Decodereinstellungen bezüglich Fahrverhalten abgeschlossen, alles weitere wird in Rocrail eingestellt.

Fahrstufen in Rocrail

Nachdem wir eine echte Vmax im Sinne der möglichen Lok-Höchstgeschwindigket, wie bereits erläutert, nicht benötigen, ist bei uns die Geschwindigkeitsstufe Vmax (mit 100 km/h) die Streckengeschwindigkeit.

Einstellung der Grund-Fahrstufen in Rocrail

Es war eine längere Diskussion im Forum, wie man bei nichtlinearen Geschwindigkeitskurven von Dekodern in Rocrail zu einer korrekten km/h Anzeige im Fahrregler und im Lokbedienfeld kommt. Die nun implementierte Lösung bietet im %-Modus die Möglichkeit, die km/h Werte für die Anzeigen zu definieren. Diese km/h werden für alle km/h relevanten Abhängigkeiten, insbesondere bei der Zugbildung, Waggon-Geschwindigkeit, etc. berücksichtigt.

Wir haben uns nach Abwägen der Möglichkeiten für die Fahrstufen aller Lokomotiven wie folgt festgelegt:

  • Vmax = 100 km/h = Streckengeschwindigkeit
  • Vreise = 60 km/h = Geschwindigkeit bei Signalisierung 60 km/h (grün-grün)
  • Vmid = 40 km/h = Geschwindigkeit bei Signalisierung 40 km/h (grün-gelb)
  • Vmin = 10 km/h


Diese Einstellungen werden ebenfalls am kleinen Testkreis vorgenommen, dies geht durch Anpassung der %-Werte recht zügig von der Hand. Einzig die 10 km/h Einstellung geht schneller, wenn man einer bereits kalibrierten Lok knapp hinterher fährt und das freie Auge misst den Abstand von Puffer zu Puffer.

Vorbildgerechtes Bremsen

Bremsweg Ermittlung

Bei einer normalen Betriebsbremsung verzögert die reale Bahn mit 1 m/s2. Auf dieser Basis ergibt sich auch beim Vorbild der Abstand zwischen Vor- und Hauptsignal. Hauptstrecken mit einer klassischen Signalisierung haben einen Abstand von 1000 m zwischen Vor- und Hauptsignal, um bei einer Höchstgeschwindigkeit von 160 km/h noch rechtzeitig bei “Rot” stehen bleiben zu können. Allein aus dieser Betrachtung ergibt sich, dass 160 km/h auf der Heimanlage einigermaßen unrealistisch sind. Im Geschwindigkeitsbereich von 100 km/h oder weniger ergeben sich durchaus vernünftige Bremswege auch im Modell:

Geschwindigkeit Vorbild 1:87 1:160
km/h m mm mm
10 4 46 25
20 15 172 94
30 35 402 219
40 62 713 388
60 139 1598 869
80 247 2839 1544
100 386 4437 2413


Wie man sieht, kommt man im Bereich von 40-60 km/h in H0 schon zu durchaus realistischen Bremswegen, die einer Heimanlage entsprechen. Man sieht aber auch, dass sich bei 100 km/h an der ersten Weiche der Bremsweg in der Regel nicht mehr ausgehen kann …

Bremseinstellungen in Rocrail I

Hier ein Minimalbeispiel zur Erläuterung der optimal vorbildgerechten Einstellungen für das Bremsen:

  • Die Streckengeschwindigkeit vor dem Block Einfahrt ist 100 km/h
  • Die Einfahrtgeschwindigkeit in Gleis 1 und 2 soll 60 km/h betragen (lange Weiche, Signal auf grün-grün)
  • Die Einfahrtgeschwindigkeit in Gleis 3 soll 40 km/h betragen (kurze Weiche, Signal auf grün-gelb)
  • Die Blocklängen sind im Bild ersichtlich
  • Der IN-Melder des Block Einfahrt und somit der Standort des Hauptsignals ist unmittelbar vor Beginn der Weichenstrasse


Bei Einfahrt in den Block Einfahrt wird in der Regel dem Lokführer mit einem Vorsignal die Geschwindigkeit signalisiert, die beim IN-Melder und Standort des Hauptsignales vorgeschrieben ist, also 40 oder 60 km/h. Dies bedeutet, dass ab dem ENTER-Melder des Block Einfahrt die Geschwindigkeit entsprechend zu verringern ist.
Weiters ist in diesem Beispiel bei den Blöcken Gleis 1 - Gleis 3 die Blockoption “Warten” gesetzt, es gibt keine Durchfahrt.

Einfahrt in Gleis 3

Dies wird mit der Standardoption “Reduziere Geschwindigkeit” bei abzweigenden Weichen gelöst.

  • Fahrstrasse: Option Reduziere Geschwindigkeit - daraus folgt eine Reduktion auf Vmid = 40 km/h
  • Lokomotive: Option Reduziere Geschwindigkeit bei ENTER - damit beginnt der Bremsvorgang beim ENTER-Melder (ohne diese Option erst beim IN-Melder)
  • Optional: Lokomotive mit SBT bremsen. Dies ergibt ggf. eine noch sanftere Geschwindigkeitsreduktion als mit der Decodereinstellung.
Einfahrt in Gleis 1+2

Hier haben wir eine Abweichung von der Standardoption “Reduziere Geschwindigkeit bei abzweigenden Weichen”, weil wir ja mit 60 km/h über die lange Weiche einfahren wollen.

Die beiden Optionen “Fahrstrassen Geschwindigkeit bei ENTER” wirken nur bei Zusammentreffen, das bedeutet, die Lok wird mit dieser Option “enabled” und nur wenn eine Fahrstrasse diese Option hat, dann wird ab ENTER gebremst. Bei dieser Funktionalität greift nur die Verzögerung des Lokdekoders, die Nutzung von SBT ist nicht möglich.

Somit haben wir die Parameter für eine korrekte Geschwindigkeit für die Einfahrt in das Weichenfeld abgeschlossen, der Lokführer ist nun in der Lage, die Signalisierung und erlaubten Geschwindigkeiten einzuhalten ;-)

Bremseinstellungen in Rocrail II

Für ein vorbildgerechtes Anhalten in Gleis 1-3 hier nochmals das Minimalbeispiel mit den Blocklängen:


BBT Grundeinstellung

Es wird natürlich mit BBT gebremst.
Wir haben die Einstellung “Geschwindigkeit” als BBT-Kriterium gewählt. Erstens, weil die Geschwindigkeiten bei der Einfahrt determiniert sind und zweitens dadurch die Option einer anderen Geschwindigkeit durch einen Waggon mit niedrigerer Geschwindigkeit (siehe Züge) für einen gesonderten BBT-Eintrag offen bleibt - wir fahren ja mit Zügen …

BBT Bremspunkt

Angesichts der Gleislängen und der recht niedrigen Einfahrtgeschwindigkeit ist das Abbremsen eine optisch langweilige Angelegenheit, nicht dem Vorbild entsprechend und verringert den Streckendurchsatz. Also wird der Bremspunkt mit der BBT-Einstellung Verzögerung Geschwindigkeits-spezifisch verlegt.

Berechnung der BBT-Bremsverzögerung für das Minimalbeispiel:

Block Länge Speed 1:1 Speed H0 Bremsweg Zuschlag Bremsbeginn nach Zeit bis Bremsen BBT Verzögerung Einstellung
Bezeichnung mm km/h mm/sec mm mm mm sec (*10 ms)
Gleis 1 3200 60 192 1598 200 1402 7,32 732
Gleis 2 2900 60 192 1598 200 1102 5,75 575
Gleis 3 2700 40 128 713 200 1787 13,99 1399


  • Wir ermitteln die Modellgeschwindigkeit in mm/sec (km/h : 3,6 : 87 x 1000)
  • Den Bremsweg bei Betriebsbremsung haben wir ja weiter oben bereits dargestellt und in diese Tabelle übernommen
  • Ein Zuschlag von z.B. 200 mm, damit BBT etwas zu tun hat ;-)
  • Blocklänge minus Bremsweg minus Zuschlag ergibt den Laufweg bis zum Bremsbeginn in mm
  • Laufweg bis Bremsbeginn x Speed H0 in mm/sec ergibt die Zeit bis zum Bremsbeginn
  • Abschließend die BBT Verzögerungseinstellung in der Einheit 10 ms


Diese Ausführungen mögen jetzt sehr theoretisch klingen, aber es funktioniert perfekt auf unserer Anlage und sieht auch ausgesprochen gut aus. Nicht jeder will das auch in dieser Art umsetzen, aber es ist uns ein Anliegen aufzuzeigen, was mit RocRail alles möglich ist.

Vorbildgerechtes Beschleunigen

Grundlegende Einstellungen

Für diesen Abschnitt werden wie weiter oben korrekt eingemessene Decoder und Geschwindigkeiten vorausgesetzt.
Unser Erfahrungswert ist die Einstellung der CV3 mit einem Wert ab 30 (Zimo Decoder) für ein subjektiv vorbildgerechtes Beschleunigen einer Lok ohne Last in der aktuellen Epoche VI.
Für ältere Baumuster darf die CV3 ruhig etwas höher sein.

Mit einer PoM-fähigen Zentrale wird die Beschleunigung abhängig vom Gewicht des zugeordneten Zuges beeinflusst. Je höher das Zuggewicht umso langsamer die Beschleunigung. Dies erreicht man mit folgenden Maßnahmen:

  • Wertebereich der Beschleunigung in der Lokomotive. Unser Erfahrungswert ist ein Wertebereich von ca. 30 - 80 zwischen Leerfahrt und max. Zuggewicht. Der zweite Wert scheint nun extrem hoch zu sein, passt aber sehr gut zu unserer Anlagentopologie mit rund 3 Meter langen Blöcken.
  • Einstellungen bei den Waggons. Hierzu ist interessant zu wissen, dass der Gewichtsunterschied bei der realen Bahn zwischen leer und max. beladen durchaus 1:4 ausmachen kann. Für eine Recherche der Eigenschaften von Güterwagen ist dieser Link zum DYBAS-Register sehr empfehlenswert. Die Summe der Waggon-Gewichte ergibt bei einer Zugbildung das Gesamtgewicht des Zuges.
  • Informationen zu Zugbildung. Ein aus einem oder mehreren Wagen gebildeter Zug übergibt bei “Zug zuordnen” im Lokdialog das Gewicht und die CV3 wird bei der Zuordnung entsprechend dem Wertebereich angepasst. Bei “Zug lösen” wird die CV3 wieder zurückgestellt.

Szenario Ausfahrt eines Zuges aus dem Bahnhof

Ein Zug fährt aus dem Bahnhof aus. In der Regel ist eine Weichenstrasse zu befahren. Auch hier haben wir analog zum Kapitel “vorbildgerechtes Bremsen” Fahrstrassen mit 40 und 60 km/h für die Ausfahrt über die Weichenstrasse definiert.

Beim realen Vorbild passiert nun folgendes:

  1. der Zug fährt ab und beschleunigt auf die signalisierte Geschwindigkeit (40 oder 60 km/h)
  2. sobald die Lok das Ausfahrsignal überfahren hat, wird dieses auf “Halt” gestellt (dies ist Standardfunktionalität von RocRail)
  3. nachdem die letzte Achse des Zuges den Abschnitt vor dem Signal verlassen hat, wird der Abschnitt “frei” gemeldet”. Dies wird durch Achszähler gewährleistet.
  4. nachdem die letzte Achse des Zuges die Weichenstrasse (mit Geschwindigkeitsbeschränkung) verlassen hat, kann auf Streckengeschwindigkeit beschleunigt werden.


Wir haben nun Punkt 3 und 4 mangels Achszähler mit einer Scriptlösung umgesetzt.

:!: Achtung: Dieses Script setzt voraus, dass man genau weiß was man tut und das Script an die Anlagentopologie angepasst hat.
:!: Wir übernehmen keine Verantwortung für Geisterzüge und sonstige Nebenwirkungen :!:


Konkrete Situation auf der Anlage

  • 5 Bahnhofsblöcke, ein Ausfahrgleis
  • unmittelbar nach der Weichenstraße befindet sich der ENTER des nächsten Blocks
  • Dieser nächste Block ist kein BBT Block (ENTER - PRE2IN -IN)
  • Dieser Block ist von ENTER bis IN ca. 4 Meter lang

Daraus ist ersichtlich dass erstens “Route Speed at ENTER” bzw. Freigabe des Startblocks bei ENTER viel zu früh ist, bei einer möglichen Zuglänge von 3 Meter am längsten Gleis sind noch 10 Wagen in der Weichenstrasse. “Route Speed at IN” ist viel zu spät für kurze Züge, es dauert subjektiv sehr lange mit 40 km/h diese Strecke zu bewältigen….

Skriptlösung "virtueller Achszähler"

Das oben genannte Fahrverhalten kann natürlich auch bei Belegtmeldern und Widerstandsachsen auf allen Wagons realisiert werden. Widerstandsachsen haben wir aber nicht…

Voraussetzungen:

  • Geschwindigkeiten eingemessen :!:
  • Das Script wird auf den ENTER-Melder des nächsten Blocks (Zielblock der Fahrstrasse) gesetzt
  • Die Blocklängen passen :!:
  • es ist ein virtueller free Melder anzulegen mit der Nomenklatur “free_[Name des ENTER-Melders]”.Bei mehreren virtuellen free Meldern unterschiedliche Adressen angeben!
  • dieser Melder ist als “free” Melder im Zielblock einzutragen
  • Für die Entscheidung, ob auf nach der Freimeldung des Startblocks auch auf Streckengeschwindigkeit beschleunigt werden kann oder nicht, haben wir aktuell nur eine Lösung über ein Hauptsignal des Zielblocks gefunden. Es ist also ein 2-begriffiges, virtuelles Signal im Zielblock anzulegen. Das Script frägt ab, ob das Signal auf grün steht. Für einen universellen Einsatz des Scripts muss die Kennung dieses Signals der Nomenklatur “AS_[Name des ENTER-Melders]” entsprechen.

Als Vereinfachung gibt es nur einen “Achszähler” nach der Weichenstrasse, löst also aus, wenn alle Wagen des Zuges den Block und die Weichenstrasse bereits verlassen haben.

Hier ein kurzer Überblick zur Situation auf der Anlage mit der Lage des ENTER-Melders:



Anlage des Free-Melders:



Eintrag im Zielblock N_A1:



Eine Aktion anlegen für den Aufruf des Scripts:



Die Aktion im Enter Melder des Block N_A1 eintragen:



Das Script:
Im Script wird über eine Weg/Zeit Berechnung die Start-Blockfreigabe gesetzt. Wenn die Fahrstraße in den Folgeblock frei ist, wird zum Zeitpunkt der Start-Blockfreigabe zusätzlich die signalisierte Geschwindigkeitsbeschränkung aufgehoben und auf Streckengeschwindigkeit beschleunigt.

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
<!-- Dieses Script simuliert einen Achszaehler und setzt den "free" Melder, sowie die Geschwindigkeit auf Streckengeschwindigkeit-->
<!-- Dieses Script ist nur mit genauer Kenntnis was man da tut anwendbar !!!!! -->
<!-- Keine Gewaehr !!!! -->
<!-- Trace-Text-Zeilen koennen bei reibungslosem Ablauf ggf. entfernt werden -->
<!-- (c) peter&basti Maerz 2017 -->
<!-- 1. Ermittlung der Zuglaenge-->
<vr id="length_%callerid%" value="%lclen%"/>
  <trace text="#length_%callerid%"/>
  <query vr="speed_%callerid%" table="lclist" id="%lcid%" get="V_hint"/>
  <trace text="@speed_%callerid%"/>
<!-- 2. Ermittlung der Geschwindigkeit in km/h auf Basis des aktuellen Geschwindigkeits-Levels -->
	<switch var="@speed_%callerid%">
		<case val="min">
		  <vr id="kmh_%callerid%" value="10"/>
		</case>
		<case val="mid">
		  <vr id="kmh_%callerid%" value="40"/>
		</case>
		<case val="cruise">
		  <vr id="kmh_%callerid%" value="60"/>
		</case>
		<case val="max">
		  <vr id="kmh_%callerid%" value="100"/>
		</case>
    </switch>		
    <trace text="#kmh_%callerid%"/>
<!-- 3. Berechnung: Zuglaenge in mm / Geschwindigkeit in km/h * 313 = Fahrzeit in ms -->	
<vr id="timer_%callerid%" value="#length_%callerid% / #kmh_%callerid% * 313"/>
	<trace text="%callerid% timer start #timer_%callerid%"/>
	<sleep time="#timer_%callerid%"/>
<trace text="timer ende"/>
<!-- 4. Free-Sensor setzen / ruecksetzen (Namenskonvention "free_Name des Enter Melders", auf dem das Script haengt) -->
	<fb id="free_%callerid%" state="true"/>
	<sleep time="500"/>
	<fb id="free_%callerid%" state="false"/>
<!-- 5. Pruefung ob im aktuellen Block gewartet werden muss: wenn nein, kann jetzt auch die Geschwindigkeit auf Streckengeschwindigkeit erhoeht werden -->
<!-- Namenskonvention des Signals: "AS_Name des Enter Melders", auf dem das Script haengt -->
	<if state="sg AS_%callerid% = green">
		<then>
			<trace text="grün, speed geht auf 100"/>
			<lc id="%lcid%" V_hint="max"/>
		</then>
	</if>	
</xmlscript>

Personal Tools