User Tools

Site Tools


cds:german:skripte_2018_19

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cds:german:skripte_2018_19 [2019/05/01 15:59] – [Fahrten Nahverkehr (NV) und Güter-Nebenbahn (GNB) nach E1 steuern] cdscds:german:skripte_2018_19 [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-======Skripte der Anlage Winter 2018/19====== 
-\\ 
-Anhand meiner Anlage aus der Wintersaison 2018/19 möchte ich meine Skripte vorstellen und erklären. 
-Die Skripte dienen mehrheitlich dazu, die Automatik von Rocrail (RR) zu beeinflussen. 
-\\ 
-Wie Skripte erstellt und in RR via Aktionsdefinition eingebunden werden, ist [[http://wiki.rocrail.net/doku.php?id=xmlscripting-de|hier]] erklärt; ich werde darauf nicht näher eingehen.\\ 
-Weiters setze ich voraus, dass der p. t. Leser RR, 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.\\ 
-\\ 
- 
- 
-=====Anlagenplan===== 
-Der Plan meiner Anlage: 
-| {{:users:cds:Anlage_25.png}} | 
-| 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, die in der Mitte unten ihre Fortsetzung finden. 
-In der Mitte der Abzweigbahnhof mit 7 Gleisen. 
-Rechts oben die Streckenblöcke in die Ebene 3, die in rechts unten ihre Fortsetzung finden. 
-Rechts die Ebene 3 mit Schattenbahnhof für Nahverkehrs- bzw. Güter-Nebenbahnzüge (Aufstellblock), Fernverkehr und Güterverkehr 
- 
-An Hand der Richtungspfeile ist zu erkennen, dass es ein sehr einfacher Gleisplan mit weitgehendem Richtungsbetrieb ist. Herzstück ist der Abzweigbahnhof in der Mitte, in dem sehr viel Betrieb herrscht.\\ 
-\\ 
- 
-====Steuerung Aufstellblock E3_AB==== 
-Funktion analog [[cds:german:skripte_2017_18#steuerung_aufstellblock_bf_e3_gl1|hier]].\\ 
- 
-<code xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<xmlscript desc="Virtuelle_RM_im_AB"> 
- 
-<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"/> 
- <exit cmt="Virt_E3_AB_i2 = on, Virt_E3_AB_i1 = off"/> 
-  </then> 
-</if> 
- 
-<if condition="%callerid% # E3_Str4_e2i" state="fb E3_Str4_e2i = on|fb Virt_E3_AB_i2 = on|sw E3_12 = turnout" alltrue="true"> 
-  <then> 
- <fb id="Virt_E3_AB_i2" cmd="off"/> 
- <exit cmt="Virt_E3_AB_i2 = off"/> 
-  </then> 
-</if> 
- 
-</xmlscript> 
-</code> 
-Wichtig zu wissen ist, dass im AB die virtuellen Melder konfiguriert werden (nicht die realen!). 
-\\ 
-\\ 
- 
-====Aufstellblock E3_AB ein/aus==== 
-Funktion:\\ 
-Aufstellblock ausschalten, wenn Automatik ausgeschaltet wird.\\ 
-Aufstellblock einschalten, wenn Automatik eingeschaltet wird.\\ 
- 
- 
-<code xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<xmlscript desc="Script_AB_steuern"> 
- 
-<!-- Aufruf wenn Auto off --> 
-<if state="auto auto = off"> 
-  <then> 
-    <sb id="Bf_E3_Gl1" exitstate="closed"/> 
- <exit cmt="Aufstellblock geschlossen"/> 
-  </then> 
-</if> 
- 
-<!-- Aufruf wenn Auto on --> 
-<if state="auto auto = on"> 
-  <then> 
-    <sb id="Bf_E3_Gl1" exitstate="open"/> 
- <exit cmt="Aufstellblock geoeffnet"/> 
-  </then> 
-</if> 
- 
-</xmlscript> 
-</code> 
-Wichtig zu wissen ist, dass im AB die virtuellen Melder konfiguriert werden (nicht die realen!). 
-\\ 
-\\ 
- 
-====Fahrten Nahverkehr (NV) und Güter-Nebenbahn (GNB) nach E1 steuern==== 
-Im Bf. E1 gibt es Platz für 4 Züge vom Typ NV und GNB; die Blöcke Bf_E1_Gl8, 9, 10, 11. Käme ein fünfter Zug dieser Typen an, müßte er vor dem Bf. warten und blockierte somit alle anderen Zugtypen. Das folgende xmlScript steuert die Anzahl der Fahrten der Zugtypen NV und GNB zum Bf. E1. Das Textfeld "NV/GNB:" zeigt die aktuelle Anzahl von Zügen dieser Zugtypen im Bf. und am Weg zum Bf. an\\ 
-<code xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<xmlscript desc="Script_NV_GNB_nach_E1"> 
- 
-<!-- Anzahl NV_GNB --> 
-<!-- vr id="Var_NV_GNB_E1" value="0"/--> 
- 
-<!-- Ist Zug NV oder GNB --> 
-<if condition="%lccargo% # local|%lccargo% # lightgoods" alltrue="false"> 
-  <then> 
-    <!-- Aufruf ENTER aus E2-E1_Str1 --> 
-    <if condition="%callerid% # E2-E1_Str1"> 
-      <then> 
-        <vr id="Var_NV_GNB_E1" value="#Var_NV_GNB_E1 + 1"/> 
- <tx id="T_Var_NV_GNB_E1" format="#Var_NV_GNB_E1"/> 
- <if condition="#Var_NV_GNB_E1 = 3"> 
-   <then> 
-     <bk id="E2-E1_Str1" cmd="classdel" class="NV"/> 
- <bk id="E2-E1_Str1" cmd="classdel" class="GNB"/> 
- <!-- <trace text="Script NV_GNB_nach_E1: Klassen NV und GNB gelöscht"/> --> 
- <exit cmt="Script NV_GNB_nach_E1: Klassen NV und GNB gelöscht"/> 
-   </then> 
- </if> 
-   </then> 
- </if> 
-    <!-- Aufruf ENTER aus E1-E2_Str1 --> 
-    <if condition="%callerid% # E1-E2_Str1"> 
-      <then> 
-        <vr id="Var_NV_GNB_E1" value="#Var_NV_GNB_E1 - 1"/> 
- <tx id="T_Var_NV_GNB_E1" format="#Var_NV_GNB_E1"/> 
- <if condition="#Var_NV_GNB_E1 = 2"> 
-   <then> 
- <bk id="E2-E1_Str1" cmd="classadd" class="NV"/> 
- <bk id="E2-E1_Str1" cmd="classadd" class="GNB"/> 
- <!-- <trace text="Script NV_GNB_nach_E1: Klassen NV und GNB hinzugefügt"/> --> 
- <exit cmt="Script NV_GNB_nach_E1: Klassen NV und GNB hinzugefügt"/> 
-   </then> 
- </if> 
-   </then> 
-    </if> 
-  </then> 
-  <else> 
-    <!-- <trace text="Script_NV_GNB_nach_E1: Kein NV oder kein GNB"/> --> 
-    <exit cmt="Script_NV_GNB_nach_E1: Kein NV oder kein GNB"/> 
-  </else> 
-</if> 
- 
-</xmlscript> 
-</code> 
-Mit ein wenig xmlScript-Wissen ist das Skript leicht nachzuvollziehen. Die aufrufenden Objekte mit den dazugehörigen Stati sind in den Kommentierungen angegeben. Gesteuert werden die NV/GNB-Fahrten durch Setzen und Löschen der Klassen "NV" und "GNB" im Block "Str1_E2_E1".\\ 
-\\ 
-WIP ... 
- 
-=====Lebenszyklus der Anlage===== 
-Oktober 2018 bis 03.04.2019 
-\\ 
-\\ 
  
cds/german/skripte_2018_19.1556719195.txt.gz · Last modified: 2019/05/01 15:59 by cds