User Tools

Site Tools


userpages:cds:german:skripte_2020_21

Skripte der Anlage Winter 2020/21


Anhand meiner Anlage aus der Wintersaison 2020/21 möchte ich meine Skripte vorstellen und erklären.
Wie Skripte erstellt und in RR via Aktionsdefinition eingebunden werden, ist hier erklärt; ich werde darauf nicht näher eingehen.
Weiters setze ich voraus, dass der p. t. Leser Rocrail, seine Objekte und ihre Funktionalität kennt.
Anmerkung: Viele Wege führen zum Ziel! Alle hier vorgestellten Lösungen lassen sich mit hoher Wahrscheinlichkeit anders umsetzen. Alle Lösungen arbeiteten auf meiner Anlage zuverlässig und sind unter Bedachtnahme geringstmöglicher Redundanz in Bezug auf Coding und Ausführung entwickelt worden.

Disclaimer: Meine Skripte oder Teile davon dürfen für den Privatgebrauch frei verwendet werden. Die Nutzung meiner Skripte oder Teilen davon erfolgt auf eigene Verantwortung.

Anlagenplan

Der Plan meiner Anlage:

Anlagenplan


Der Plan kurz erklärt:
Links die Ebene 1 mit Schattenbahnhof für Nahverkehr, Güter-Nebenbahn, Fernverkehr und Güterverkehr. Links oben die Streckenblöcke in die Ebene 2. In der Mitte der Abzweigbahnhof mit 6 Durchgangsgleisen und einem Stumpfgleis für den Nahverkehr, rechts daneben 4 Blöcke einer Ringstrecke mit Gleiswechselbetrieb. Rechts oben die Streckenblöcke in die Ebene 3. Rechts die Ebene 3 mit Schattenbahnhof für Nahverkehrs- bzw. Güter-Nebenbahnzüge (Aufstellblock für 3 Züge), Fernverkehr und Güterverkehr

An Hand der Richtungspfeile ist zu erkennen, dass es ein sehr einfacher Gleisplan mit weitgehendem Richtungsbetrieb ist (Ausnahme siehe oben). Herzstück ist der Abzweigbahnhof in der Mitte (Ebene 2), in dem sehr viel Betrieb herrscht. Faszinierend ist es zu beobachten, wenn zufällige Parallelein- oder -ausfahrten erfolgen oder sogar 3 Züge gleichzeitig an einem Bahnhofskopf unterwegs sind. Durch den Gleiswechselbetrieb auf der Ringstrecke sind Parallelfahrten möglich.


Steuerung Aufstellblock E3_AB

Funktion analog hier.

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Virtuelle_RM_im_AB">
 
<if condition="%callerid% # E3_AB_e" state="fb E3_AB_e = on" alltrue="true">
  <then>
	<fb id="Virt_E3_AB_e" cmd="on"/>
	<exit cmt="Virt_E3_AB_e = on"/>
  </then>
</if>
 
<if condition="%callerid% # E3_AB_i1" state="fb E3_AB_i1 = on|fb Virt_E3_AB_i1 = off" alltrue="true">
  <then>
	<fb id="Virt_E3_AB_i1" cmd="on"/>
	<exit cmt="Virt_E3_AB_i1 = on"/>
  </then>
</if>
 
<if condition="%callerid% # E3_AB_i2" state="fb E3_AB_i2 = on|fb Virt_E3_AB_i2 = off" alltrue="true">
  <then>
	<fb id="Virt_E3_AB_i2" cmd="on"/>
	<fb id="Virt_E3_AB_i1" cmd="off"/>
	<fb id="Virt_E3_AB_e" cmd="off"/>
	<exit cmt="Virt_E3_AB_i2 = on, Virt_E3_AB_i1 = off"/>
  </then>
</if>
 
<if condition="%callerid% # E3_AB_i3" state="fb E3_AB_i3 = on|fb Virt_E3_AB_i3 = off" alltrue="true">
  <then>
	<fb id="Virt_E3_AB_i3" cmd="on"/>
	<fb id="Virt_E3_AB_i2" cmd="off"/>
	<exit cmt="Virt_E3_AB_i3 = on, Virt_E3_AB_i2 = off"/>
  </then>
</if>
 
<if condition="%callerid% # E3_B2_e2i" state="fb E3_B2_e2i = on|fb Virt_E3_AB_i3 = on|sw E3_1 = turnout" alltrue="true">
  <then>
	<fb id="Virt_E3_AB_i3" cmd="off"/>
	<exit cmt="Virt_E3_AB_i3 = off"/>
  </then>
</if>
 
</xmlscript>

Wichtig zu wissen ist, dass im AB die virtuellen Melder konfiguriert werden (nicht die realen!).

Blöcke mittels Schalter öffnen/schließen

Mittels Klick auf den Schalter "E2 auf/zu" werden die Blöcke "E2_B3, E2_B4, E2_B5, E2_B7" geöffnet bzw. geschlossen.

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Script_E2_oeffnen_schliessen">
 
<!-- Aufruf durch Schalter S4, grau -->
<if state="co S4 = on">
  <then>
    <bk id="E2_B3" state="closed"/>
    <bk id="E2_B4" state="closed"/>
    <bk id="E2_B5" state="closed"/>
    <bk id="E2_B7" state="closed"/>
    <exit cmt="Script_E2_oeffnen_schliessen: Bloecke geschlossen"/>
  </then>
</if>
 
<!-- Aufruf durch Schalter S4, weiß -->
<if state="co S4 = off">
  <then>
    <bk id="E2_B3" state="open"/>
    <bk id="E2_B4" state="open"/>
    <bk id="E2_B5" state="open"/>
    <bk id="E2_B7" state="open"/>
    <exit cmt="Script_E2_oeffnen_schliessen: Bloecke geoeffnet"/>
  </then>
</if>
 
</xmlscript>

Das Skript wird als Aktion mit dem Schalter verknüpft.

Lebenszyklus der Anlage

Dezember 2020 bis 02.04.2021

userpages/cds/german/skripte_2020_21.txt · Last modified: 2021/04/09 09:07 by 127.0.0.1