Table of Contents
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:
Abschliessend ergibt sich für den letzten Wagen folgendes Ergebnis:
Entsprechend ergibt sich für den ehemals vorletzten Wagen z.B. folgendes zufälliges Ergebnis:
Entsprechend ergibt sich für den ersten Wagen z.B. folgendes zufälliges Ergebnis:
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
Abschliessend ergibt sich folgendes Ergebnis:
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.