User Tools

Site Tools


userpages:hermannk:shunting_freight2-de

Rangieren mit Güterwagen 2

Userpages - Hermann (hermannk)

hier geht es direkt zum Rocrail-Arbeitsbereich-Download

Vorwort 1:
Damit wurde diese Dokumentation erstellt: Stand 13.08.2023

Bereich Details Bemerkung
Steuerung Rocrail Version 2.1.3533+ (macOS "Ventura" on M2 CPU)
Computer MacBook Pro (M2) macOS 13.5 (Ventura)

Vorwort 2:
- die Nutzung dieser Lösung erfolgt auf eigenes Risiko;
- regelmäßige Datensicherungen des Rocrail-Arbeitsbereichs werden empfohlen;

Aufgabenstellung

Ein Rocrail-Zug soll in einzelne Wagons zerlegt werden und anschließend neu zusammengestellt werden.

Lösung-Details

Das Layout

Das Layout soll nur in einem kleinen Rahmen die Aufgabenstellung erfüllen - es gibt nur Platz für eine Länge von 170 cm und eine Breite von 40 cm.

Der Zug

Der Zug ist klein: er besteht aus einer kleinen Lok und drei kleinen Wagen.

Typ Container-Wagen Container-Wagen Kühl-Wagen BR 80 gesamt
Länge 120 mm 120 mm 120 mm 170 mm 530 mm

In jedes Abstellgleis passen maximal drei Wagen. Wenn die Rückmelder nicht besetzt sein sollen, passen nur maximal zwei Wagen in den Block.
Gleise: Märklin C-Gleis.
Wagen: sie sollten gleich lang lang und sie sollten schwer rollen.
Kupplung: Märklin RELEX-Kupplung, damit ein "Vorentkuppeln" möglich ist.
Rückmelder: die Wagen werden so abgestellt, dass keine Rückmelder durch abgestellte Wagen ausgelöst werden.
Es wird bei jedem Rangiervorgang jeweils immer nur ein Wagen abgekuppelt.
Fahrstrassen: in den Fahrstrassen-Eigenschaften/Allgemein/Optionen ist "Stapel aktivieren" = JA eingestellt, so dass vom Start-Block ausgehend jedes Mal unterschiedliche Rangiergleise angefahren werden.

Der Rocrail-Plan


Rocrail_1_rg2_Rangieren_Güterwagen_20230604
Der Rocrail-Plan zeigt die benötigten Objekte (Rückmelder, Blöcke, Statussignale, Weichen, Entkuppler, …).
Für den Betrachter wird die Zug-Zusammenstellung bildlich in Text-Feldern dargestellt.
Um die zeitgesteuerten Teile des Ablaufes besser einstellen zu können, gibt es editierbare Textfelder ("countdown") für das Verzögern der Entkupplung und für das vorzeitige "in" in den Rangier-Blöcken "bkr01", "bkr02" und "bkr03".

Für das Starten der Abläufe und für die optionale Darstellung der Abläufe durch LEDs sind zahlreiche Ausgänge im Plan vorhanden (hier nicht abgebildet).

Initialisieren

Falls man reproduzierbare Testbedingungen benötigt,
gibt es die beiden Ausgänge "cor_init3" und "cor_init4".

Beide Ausgänge rufen die Aktion "acr_init" auf, die das XML-Script "acr_init.xml" aufruft.
Das XML-Script "acr_init.xml" erledigt folgende Aufgaben:

Nr. Ereignis Voraussetzung Script Beschreibung
- cor_init3 = ON
oder
cor_init4 = ON
- acr_init.xml Initialisierung;
- Lok "lcr01": reset, releasetrain;
- alle Züge mit Kennung "opr_XXXX": alle Wagen entfernen;
- cor_init3 Rangieren vorbereiten;
Lok "lcr01" ggf. Fahrtrichtung ändern (swap); Block "bkr11";
Zug "opr_rangieren" = "carr02,carr03,carr04";
Lok "lcr01" mit Zug "opr_rangieren";
- cor_init4 Ankuppeln vorbereiten;
Lok "lcr01" ggf. Fahrtrichtung ändern (swap); Block "bkr11";
Zug "opr_bkr01" = "carr02"; Block "bkr01";
Zug "opr_bkr02" = "carr04"; Block "bkr02";
Zug "opr_bkr03" = "carr03"; Block "bkr03";
Lok "lcr01" ohne Zug;
- - sub: acr_zuganzeigen.xml Wagen im Plan darstellen;

Um darzustellen, wo sich welcher Wagen befindet, gibt es für jeden Block einen Rocrail-Zug (operator);

Block Zug
bkr11 opr_bkr11
bkr01 opr_bkr01
bkr02 opr_bkr02
bkr03 opr_bkr02

Rangieren

Im Detail:
Der Ausgang "cor_RangierenStart" startet das XML-Script "acr_RangierenStart.xml", welches das Rangieren regelt.

Ablauf

Hier wird der Ablauf für den letzten Wagen dargestellt:

Nr. Wagen Rangierbereich Beschreibung
1.01 der Anfang; der Zug steht bereit;
1.02 der Zug fährt per Zufall in ein Rangier-Gleis; hier bkr02;
1.03 der Rückmelder für das Entkupplungs-Gleis wird ausgelöst; ein Zähler (countdown) wird heruntergezählt;
1.04 bei Zählerstand 0 wird das Entkupplungs-Gleis mehrfach ausgelöst; der letzte Wagen wird "vorentkuppelt"; der Zählerstand geht wieder auf seinen Startwert (hier 5);
1.05 der vorentkuppelte Wagen wird weiter in das Abstellgleis geschoben; ein Zähler (countdown) wird heruntergezählt;
1.06 bei Zählerstand 0 wird der IN-Rückmelder durch das XML-Script ausgelöst; der Zug hält an; der Zählerstand geht wieder auf seinen Startwert (hier 5);
1.07 die Fahrtrichtung der Lok wird umgeschaltet;
1.08 der Zug fährt wieder in den Start-Block;
1.09 der ENTER-Rückmelder wird ausgelöst;

Abschliessend ergibt sich für den letzten Wagen folgendes Ergebnis:

Nr. Wagen Rangierbereich Beschreibung
1.10 der IN-Rückmelder wird ausgelöst;

Entsprechend ergibt sich für den ehemals vorletzten Wagen z.B. folgendes zufälliges Ergebnis:

Nr. Wagen Rangierbereich Beschreibung
2.10 der IN-Rückmelder wird ausgelöst;

Entsprechend ergibt sich für den ersten Wagen z.B. folgendes zufälliges Ergebnis:

Nr. Wagen Rangierbereich Beschreibung
3.10 der IN-Rückmelder wird ausgelöst;

In jedem Abstellgleis steht nun ein Wagen.
Es wird kein Rückmelder durch abgestellte Wagen für diese Abstellgleise ausgelöst! Das ist wichtig für das folgende Ankuppeln/Einsammeln der Wagen!

XML-Scripte

Nr. Ereignis Bedingung Script Beschreibung
1.01 cor_RangierenStart = ON - acr_RangierenStart.xml Rangieren starten;
1.03 fb_Entkuppler = ON cor_EntkupplerFreigabe = ON acr_wagonEntkuppler.xml Countdown-Zähler herunterzählen;
Entkuppler mehrfach kurz auslösen;
1.05 bkr0X = ENTER cor_Rangieren = ON acr_wagonabkuppelnEnter.xml
sub: acr_wagonabkuppeln.xml
sub: acr_zuganzeigen.xml
Countdown-Zähler herunterzählen;
IN-Ereignis künstlich erzeugen;
Wagen vom Zug abkuppeln;
Wagen an den Abstellgleise-Zug ankuppeln;
Wagen im Plan darstellen;
1.10 bkr11 = IN cor_Rangieren = ON acr_RangierenWeiter.xml sind weitere Wagen abzukoppeln?

Ankuppeln

Im Detail:
Der Ausgang "cor_AnkuppelnStart" startet das XML-Script "acr_AnkuppelnStart.xml", welches das Ankuppeln (Einsammeln) der abgestellten Wagen regelt.
Dabei fährt die Lokomotive die drei Abstellgleise in einer zufälligen Reihenfolge an und zwar so lange, bis der IN-Rückmelder des Abstellgleises durch den abgestellten Wagen ausgelöst wird. Die Kupplungen der Wagen und der Lok sollten dabei so leichtgängig sein, dass der Wagen zuverlässig angekuppelt wurde, bevor der IN-Rückmelder des Abstellgleises erreicht wurde.
Anschließend fährt die Lok wieder (unnötigerweise vollständig) zurück in den Start-Block und sammelt den nächsten Wagen ein, bis alle drei Wagen angekuppelt sind. Fertig.

Ablauf

Nr. Wagen Rangierbereich Beschreibung
11.01 der Anfang; die Lok steht bereit;
11.02 der erste Wagen wird angekuppelt; dabei wird der Rückmelder für das Entkupplungs-Gleis zwar ausgelöst, hat für das Ankuppeln aber keine Wirkung;
11.03 die Lok fährt zurück;
11.04 der zweite Wagen wird angekuppelt; dabei wird der Rückmelder für das Entkupplungs-Gleis zwar ausgelöst, hat für das Ankuppeln aber keine Wirkung;
11.05 die Lok fährt zurück;
11.06 der dritte Wagen wird angekuppelt; dabei wird der Rückmelder für das Entkupplungs-Gleis zwar ausgelöst, hat für das Ankuppeln aber keine Wirkung;

Abschliessend ergibt sich folgendes Ergebnis:

11.07 die Lok fährt zurück; fertig.

XML-Scripte

Nr. Ereignis Bedingung Script Beschreibung
11.01 cor_AnkuppelnStart = ON - acr_AnkuppelnStart.xml Ankuppeln starten;
11.02 bkr0X = IN cor_Ankuppeln = ON acr_AnkuppelnIn.xml
sub: acr_wagonsankuppeln.xml
sub: acr_zuganzeigen.xml
Züge aktualisieren;
Lok zurückschicken;
11.03 bkr11 = IN cor_Ankuppeln = ON acr_AnkuppelnWeiter.xml müssen weitere Wagen angekuppelt werden?

LED-Anzeige

Zusätzlich ist eine LED-Anzeige der Ablaufzustände mit 40 LEDs vom Typ WS2812b realisiert worden. Dies ist eine optionale optische Zugabe.
Die LEDs werden von einem WIO ESP8266 angesteiuert. Er hat in diesem Beispiel die Adresse 40.

Abmessungen:

Die LED-Anzeige ist:
- 170 cm lang
- 4,5 cm hoch
Die LEDs wurden auf eine ausgedruckte Vorlage geklebt und mäanderförmig sequentiell verdrahtet.
Darüber wurde ein weiterer Ausdruck mit Ausschnitten für die LEDs geklebt.
Die Ausdrucke wurden als Foto-Papier-Ausdrucke mit jeweils 15 mal 10 cm erstellt.

LED-Positionen:

Die Positionen der RGB-LEDs, deren Reihenfolge und die Bedeutung der LED-Farbcodes sind hier aufgelistet:

Rocrail-Arbeitsbereich

Alle Kennungen wurden so gewählt, dass sie entweder keine Kollision mit Kennungen im eigenen Plan verursachen oder so umbenannt werden können, dass sie anschließend keine Kollision mit Kennungen im eigenen Plan verursachen.
Im Präfix der Kennungen ist ein zusätzliches "r" für "Rangieren" eingebaut. Im Detail:

Präfix Beispiel für
acr_ acr_wagonabkuppeln Aktions-Definitionen
acr_ acr_wagonabkuppeln.xml XML-Scripte
bkr bkr01 Blöcke
fbr fbr01+ Rückmelder passend zur Blocknummer und +/- als Block-Seite
swr swr01 Weichen
cor_ cor_abkuppeln_1 Ausgänge
cor_led_ cor_led_fbr01+ Ausgänge zum Ansteuern der LEDs
txr_ txr_bkr11_1 Textfelder
tkr tkr01 Gleise
lcr lcr01 Lokomotiven
carr carr01 Wagons
opr_ opr_bkr01 Rocrail-Züge
vrr_RANGIEREN_ vrr_RANGIEREN_idx Variablen

In dem Download-Arbeitsbereich "Rangieren_Güterwagen2.zip" sind folgende Dateien enthalten:

Datei Bedeutung
plan.xml die Rocrail-Plan-Datei
rocrail.ini die Rocrail-ini-Datei mit den Zentralen "CS2" und "WIO"; bitte auf die eigene Umgebung anpassen
für_images ein Ordner mit Wagon-Bildern für dieses Beispiel
im Ordner "scripts":
acr_init.xml XML-Script zur Initialisierung
acr_RangierenStart.xml XML-Script zum Starten des Ragiervorganges (abkuppeln)
acr_wagonEntkuppler.xml XML-Script; den Entkuppler zeitverzögert mehrfach auslösen
acr_wagonabkuppelnEnter.xml XML-Script; Zielblock erreicht; Wagon vom Rocrail-Zug zeitverzögert abkuppeln
acr_wagonabkuppeln.xml XML-Script zum Abkuppeln von einzelnen Wagons von einem Rocrail-Zug
acr_RangierenWeiter.xml XML-Script behandelt weitere Rangiervorgänge
acr_AnkuppelnStart.xml XML-Script startet das Ankuppeln der Wagons
acr_AnkuppelnIn.xml XML-Script; Wagon muss an den Zug angekuppelt werden
acr_wagonsankuppeln.xml XML-Script zum Ankuppeln von allen Wagons aus einem Block an einen Rocrail-Zug
acr_AnkuppelnWeiter.xml XML-Script behandelt weitere Ankuppelvorgänge
acr_zuganzeigen.xml XML-Script zum Anzeigen der Wagon-Bilder von einem Rocrail-Zug
acr_zuganzeigelöschen.xml XML-Script zum Löschen der Wagon-Bilder von einem Rocrail-Zug
acr_led_onoff.xml XML-Script zum allgemeinen Ansteuern der Ausgänge für LEDs
im Ordner "optionale_LEDs":
Rangieren_Güterwagen_Postkarten_20230730b.docx die Darstellung der LED-Anzeige in einem Office-Document
RGP20230730_1.jpg die daraus resultierenden Fotos für die Ausdrucke im Format 15 x 10 cm
RGP20230730_2.jpg
RGP20230730_3.jpg
RGP20230730_4.jpg
RGP20230730_5.jpg
RGP20230730_6.jpg
RGP20230730_7.jpg
im Ordner "wio_data": LEDscripts für den WIO
ls_lauflicht_14.led Lauflicht vom Block "bkr01" zum Block "bkr11"
ls_lauflicht_24.led Lauflicht vom Block "bkr02" zum Block "bkr11"
ls_lauflicht_34.led Lauflicht vom Block "bkr03" zum Block "bkr11"
ls_lauflicht_41.led Lauflicht vom Block "bkr11" zum Block "bkr01"
ls_lauflicht_42.led Lauflicht vom Block "bkr11" zum Block "bkr02"
ls_lauflicht_43.led Lauflicht vom Block "bkr11" zum Block "bkr03"

zurück zu den Lösung-Details.

userpages/hermannk/shunting_freight2-de.txt · Last modified: 2023/08/13 20:31 by hermannk